<?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>95543</bug_id>
          
          <creation_ts>2012-08-31 02:46:56 -0700</creation_ts>
          <short_desc>MediaStream API: Add MediaStream management to RTCPeerConnection</short_desc>
          <delta_ts>2012-09-01 00:54:12 -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>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>80589</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tommy Widenflycht">tommyw</reporter>
          <assigned_to name="Tommy Widenflycht">tommyw</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>haraken</cc>
    
    <cc>jamesr</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>philn</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>709429</commentid>
    <comment_count>0</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-08-31 02:46:56 -0700</bug_when>
    <thetext>This includes addStream/removeStream to RTCPeerConnection, as well as didAddRemoteStream/didRemoveRemoteStream to RTCPeerConnectionHandlerClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709432</commentid>
    <comment_count>1</comment_count>
      <attachid>161647</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-08-31 02:52:43 -0700</bug_when>
    <thetext>Created attachment 161647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709433</commentid>
    <comment_count>2</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-08-31 02:53:15 -0700</bug_when>
    <thetext>Also took the opportunity to do a little cleanup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709436</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-31 02:54:06 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709462</commentid>
    <comment_count>4</comment_count>
      <attachid>161653</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-08-31 03:49:57 -0700</bug_when>
    <thetext>Created attachment 161653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710187</commentid>
    <comment_count>5</comment_count>
      <attachid>161653</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-01 00:54:08 -0700</bug_when>
    <thetext>Comment on attachment 161653
Patch

Clearing flags on attachment: 161653

Committed r127365: &lt;http://trac.webkit.org/changeset/127365&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710188</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-01 00:54:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161647</attachid>
            <date>2012-08-31 02:52:43 -0700</date>
            <delta_ts>2012-08-31 03:49:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95543-20120831115230.patch</filename>
            <type>text/plain</type>
            <size>29782</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAxMGI5Y2U2NzU1ZmI5
ODYxMWFhZWJhOTdkOGVlODI3YzRkZDM4YzQ3Li5hOTY1Zjg1YmNkMTUxYjkwNWJjMmNhNWY2MThl
YmExYWVlYzU1OTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wOC0zMSAg
VG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0
cmVhbSBBUEk6IEFkZCBNZWRpYVN0cmVhbSBtYW5hZ2VtZW50IHRvIFJUQ1BlZXJDb25uZWN0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU0Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY2hyb21p
dW0vcHVibGljL1dlYk1lZGlhU3RyZWFtQ2VudGVyLmg6CisgICAgICAgIChXZWJNZWRpYVN0cmVh
bUNlbnRlcik6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlci5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlcik6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCk6CisKIDIwMTItMDgtMzAgIEphbWVzIFJvYmluc29u
ICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJldmVydCBXZWJD
b21wb3NpdG9yU3VwcG9ydCB0byByYXcgcHRycywgbWFrZSBkdG9yIHByb3RlY3RlZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDJlODZkMzdiYTg4NzQ0YjZlZjBjZjc5YzIwNzI1ZDVkMjA2MmE4MTMuLjU2OTEyZDU1
Mjg5YjA5Zjg2MDFjYTgwZmM0NTFmNmQzNjhmZGFhNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1
MSBAQAorMjAxMi0wOC0zMSAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4K
KworICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IEFkZCBNZWRpYVN0cmVhbSBtYW5hZ2VtZW50IHRv
IFJUQ1BlZXJDb25uZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05NTU0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgaW5jbHVkZXMgYWRkU3RyZWFtL3JlbW92ZVN0cmVhbSB0byBSVENQZWVy
Q29ubmVjdGlvbiwKKyAgICAgICAgYXMgd2VsbCBhcyBkaWRBZGRSZW1vdGVTdHJlYW0vZGlkUmVt
b3ZlUmVtb3RlU3RyZWFtIHRvIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC4KKworICAg
ICAgICBUZXN0OiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLUFkZFJlbW92ZVN0
cmVhbS5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uOjpwYXJzZUNvbmZp
Z3VyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb246OlJUQ1BlZXJD
b25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uOjphZGRTdHJl
YW0pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVj
dGlvbjo6cmVtb3ZlU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9u
Ojpsb2NhbFN0cmVhbXMpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb246OnJl
bW90ZVN0cmVhbXMpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb246OmRpZEFk
ZFJlbW90ZVN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6ZGlk
UmVtb3ZlUmVtb3RlU3RyZWFtKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLmg6CisgICAgICAgIChSVENQZWVyQ29ubmVjdGlvbik6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGw6CisgICAgICAgICogYmlu
ZGluZ3MvanMvRGljdGlvbmFyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaWN0aW9uYXJ5Ojpn
ZXRPd25Qcm9wZXJ0aWVzQXNTdHJpbmdIYXNoTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkRpY3Rp
b25hcnk6OmdldE93blByb3BlcnR5TmFtZXMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0RpY3Rp
b25hcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGljdGlvbmFyeTo6Z2V0T3duUHJvcGVydGll
c0FzU3RyaW5nSGFzaE1hcCk6CisgICAgICAgIChXZWJDb3JlOjpEaWN0aW9uYXJ5OjpnZXRPd25Q
cm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9EaWN0aW9uYXJ5Lmg6CisgICAg
ICAgIChEaWN0aW9uYXJ5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXIuaDoKKyAgICAgICAgKFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcik6
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0v
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmFkZFN0cmVhbSk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9t
aXVtOjpyZW1vdmVTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyQ2hyb21pdW06OmRpZEFkZFJlbW90ZVN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpS
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6ZGlkUmVtb3ZlUmVtb3RlU3RyZWFtKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9SVENQZWVyQ29ubmVjdGlv
bkhhbmRsZXJDaHJvbWl1bS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlckNocm9taXVtKToKKwogMjAxMi0wOC0zMSAgUGF2ZWwgRmVsZG1hbiAg
PHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW5kZXIg
cGF0aCB0byBmaWxlIGFuZCBsaW5lIG51bWJlciBhcyBzdWJ0aXRsZXMgaW4gc2VsZWN0b3IgZGlh
bG9nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2NDFlMDU5YWQyOTc2MTY3YWNjZDAz
NDNiYTU2NjczNjRiNGFhYjBiLi5mNGU1ZTVjMGQ1OWNkZmVlNjRlN2ZjNzA1M2VmNjU5NzlmNWQ0
ODZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA4
LTMxICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1l
ZGlhU3RyZWFtIEFQSTogQWRkIE1lZGlhU3RyZWFtIG1hbmFnZW1lbnQgdG8gUlRDUGVlckNvbm5l
Y3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1
NTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
cmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisKIDIwMTItMDgtMzAgIEphbWVzIFJvYmluc29u
ICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJldmVydCBXZWJD
b21wb3NpdG9yU3VwcG9ydCB0byByYXcgcHRycywgbWFrZSBkdG9yIHByb3RlY3RlZApkaWZmIC0t
Z2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVN0cmVhbUNlbnRl
ci5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVN0cmVhbUNlbnRl
ci5oCmluZGV4IGZkZWY3Yjg5NDE3ZGM3ZjAxODdmOTZmN2U5MjE4OGM0ZDNlNGMwZGIuLjJjODY4
ZTc4NTdlNjZhYWQ5MjYxMTExNzQ5ODhlZGI4YTdmMzZlODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9Q
bGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTWVkaWFTdHJlYW1DZW50ZXIuaAorKysgYi9Tb3Vy
Y2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYk1lZGlhU3RyZWFtQ2VudGVyLmgKQEAgLTQ4
LDExICs0OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5hYmxlTWVkaWFTdHJl
YW1UcmFjayhjb25zdCBXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3ImLCBjb25zdCBXZWJNZWRpYVN0
cmVhbUNvbXBvbmVudCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzYWJsZU1lZGlhU3Ry
ZWFtVHJhY2soY29uc3QgV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yJiwgY29uc3QgV2ViTWVkaWFT
dHJlYW1Db21wb25lbnQmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFN0b3BMb2NhbE1lZGlh
U3RyZWFtKGNvbnN0IFdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYpID0gMDsKLSAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlTWVkaWFTdHJlYW0oV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yJikgeyB9
Ci0KLSAgICAvLyBERVBSRUNBVEVECi0gICAgdmlydHVhbCB2b2lkIGRpZENvbnN0cnVjdE1lZGlh
U3RyZWFtKGNvbnN0IFdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYpIHsgfQotCisgICAgdmlydHVh
bCB2b2lkIGRpZENyZWF0ZU1lZGlhU3RyZWFtKFdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYpID0g
MDsKICAgICB2aXJ0dWFsIFdlYlN0cmluZyBjb25zdHJ1Y3RTRFAoY29uc3QgV2ViSUNFQ2FuZGlk
YXRlRGVzY3JpcHRvciYpID0gMDsKICAgICB2aXJ0dWFsIFdlYlN0cmluZyBjb25zdHJ1Y3RTRFAo
Y29uc3QgV2ViU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvciYpID0gMDsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlci5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJSVENQZWVyQ29u
bmVjdGlvbkhhbmRsZXIuaAppbmRleCBkNmUxOGRiMzA2NjRkNzRmYTA1NjEzMWFmNGI5MzQ4ZTU0
NTM4YmMzLi42YmE2NDhjMjg0NzhjYTkyMGE2ZGYzM2RlZWNmNDQzY2E0MjY3YzNhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlci5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyLmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiBjbGFzcyBXZWJNZWRpYUNvbnN0cmFpbnRzOworY2xhc3MgV2ViTWVkaWFTdHJlYW1EZXNj
cmlwdG9yOwogY2xhc3MgV2ViUlRDQ29uZmlndXJhdGlvbjsKIGNsYXNzIFdlYlJUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlckNsaWVudDsKIApAQCAtNDEsNiArNDIsOSBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB+V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKCkgeyB9CiAKICAgICB2aXJ0dWFsIGJv
b2wgaW5pdGlhbGl6ZShjb25zdCBXZWJSVENDb25maWd1cmF0aW9uJiwgY29uc3QgV2ViTWVkaWFD
b25zdHJhaW50cyYpID0gMDsKKworICAgIHZpcnR1YWwgYm9vbCBhZGRTdHJlYW0oY29uc3QgV2Vi
TWVkaWFTdHJlYW1EZXNjcmlwdG9yJiwgY29uc3QgV2ViTWVkaWFDb25zdHJhaW50cyYpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlU3RyZWFtKGNvbnN0IFdlYk1lZGlhU3RyZWFtRGVzY3Jp
cHRvciYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpID0gMDsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyQ2xpZW50LmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oCmluZGV4IGMzOTBhMDQ1NWZhZDkxM2NiNTUzNzJj
MmJiZTgxNWVhZDE5YWFlYTIuLmMxYzcwMzYyZDE4NGQyN2E1MWMwNTA1YjFlYTkxZTgxNTZkZjBl
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVt
L3B1YmxpYy9XZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaApAQCAtMzIsNiArMzIs
NyBAQAogI2RlZmluZSBXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnRfaAogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKK2NsYXNzIFdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvcjsKIAogY2xhc3Mg
V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50IHsKIHB1YmxpYzoKQEAgLTQ2LDYgKzQ3
LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgfldlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNs
aWVudCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVJlYWR5U3RhdGUoUmVhZHlT
dGF0ZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRBZGRSZW1vdGVTdHJlYW0oY29uc3QgV2Vi
TWVkaWFTdHJlYW1EZXNjcmlwdG9yJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZW1vdmVS
ZW1vdGVTdHJlYW0oY29uc3QgV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yJikgPSAwOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCmluZGV4IGVjMWUzMWFlOTM2ZjQ1
N2QzNTU5ZWRkODNmODM3YjczMDdkYjBmNjUuLjg5YzU1YWRhZjdhODMwOTZjOTQ2ZjdmMjRkYzg5
MjIzMGQ1M2MzNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVk
ZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiTWVkaWFD
b25zdHJhaW50c0ltcGwuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbUV2ZW50LmgiCiAjaW5jbHVk
ZSAiUlRDQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKIApAQCAtODgsNiArODksNyBAQCBQYXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+IFJUQ1Bl
ZXJDb25uZWN0aW9uOjpwYXJzZUNvbmZpZ3VyYXRpb24oY29uc3QgRGljdGlvbgogCiAgICAgICAg
IHJ0Y0NvbmZpZ3VyYXRpb24tPmFwcGVuZFNlcnZlcihSVENJY2VTZXJ2ZXI6OmNyZWF0ZSh1cmws
IGNyZWRlbnRpYWwpKTsKICAgICB9CisKICAgICByZXR1cm4gcnRjQ29uZmlndXJhdGlvbi5yZWxl
YXNlKCk7CiB9CiAKQEAgLTExMiw2ICsxMTQsOCBAQCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0
aW9uPiBSVENQZWVyQ29ubmVjdGlvbjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqCiBS
VENQZWVyQ29ubmVjdGlvbjo6UlRDUGVlckNvbm5lY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgUGFzc1JlZlB0cjxSVENDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uLCBQ
YXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGNvbnN0cmFpbnRzLCBFeGNlcHRpb25Db2RlJiBl
YykKICAgICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQogICAgICwgbV9yZWFkeVN0
YXRlKFJlYWR5U3RhdGVOZXcpCisgICAgLCBtX2xvY2FsU3RyZWFtcyhNZWRpYVN0cmVhbUxpc3Q6
OmNyZWF0ZSgpKQorICAgICwgbV9yZW1vdGVTdHJlYW1zKE1lZGlhU3RyZWFtTGlzdDo6Y3JlYXRl
KCkpCiB7CiAgICAgbV9wZWVySGFuZGxlciA9IFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6Y3Jl
YXRlKHRoaXMpOwogICAgIGlmICghbV9wZWVySGFuZGxlciB8fCAhbV9wZWVySGFuZGxlci0+aW5p
dGlhbGl6ZShjb25maWd1cmF0aW9uLCBjb25zdHJhaW50cykpCkBAIC0xNDEsNiArMTQ1LDYzIEBA
IFN0cmluZyBSVENQZWVyQ29ubmVjdGlvbjo6cmVhZHlTdGF0ZSgpIGNvbnN0CiAgICAgcmV0dXJu
ICIiOwogfQogCit2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjphZGRTdHJlYW0oUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbT4gcHJwU3RyZWFtLCBjb25zdCBEaWN0aW9uYXJ5JiBtZWRpYUNvbnN0cmFpbnRz
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IFJlYWR5U3Rh
dGVDbG9zaW5nIHx8IG1fcmVhZHlTdGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2VkKSB7CisgICAgICAg
IGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBS
ZWZQdHI8TWVkaWFTdHJlYW0+IHN0cmVhbSA9IHBycFN0cmVhbTsKKyAgICBpZiAoIXN0cmVhbSkg
eworICAgICAgICBlYyA9ICBUWVBFX01JU01BVENIX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJhaW50cyA9IE1lZGlhQ29u
c3RyYWludHNJbXBsOjpjcmVhdGUobWVkaWFDb25zdHJhaW50cywgZWMpOworICAgIGlmIChlYykK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fbG9jYWxTdHJlYW1zLT5jb250YWlucyhzdHJl
YW0uZ2V0KCkpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2xvY2FsU3RyZWFtcy0+YXBwZW5k
KHN0cmVhbSk7CisKKyAgICBib29sIHZhbGlkID0gbV9wZWVySGFuZGxlci0+YWRkU3RyZWFtKHN0
cmVhbS0+ZGVzY3JpcHRvcigpLCBjb25zdHJhaW50cyk7CisgICAgaWYgKCF2YWxpZCkKKyAgICAg
ICAgZWMgPSBTWU5UQVhfRVJSOworfQorCit2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpyZW1vdmVT
dHJlYW0oTWVkaWFTdHJlYW0qIHN0cmVhbSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYg
KG1fcmVhZHlTdGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2VkKSB7CisgICAgICAgIGVjID0gSU5WQUxJ
RF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIXN0cmVhbSkg
eworICAgICAgICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJSOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgaWYgKCFtX2xvY2FsU3RyZWFtcy0+Y29udGFpbnMoc3RyZWFtKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgbV9sb2NhbFN0cmVhbXMtPnJlbW92ZShzdHJlYW0pOworCisgICAgbV9w
ZWVySGFuZGxlci0+cmVtb3ZlU3RyZWFtKHN0cmVhbS0+ZGVzY3JpcHRvcigpKTsKK30KKworTWVk
aWFTdHJlYW1MaXN0KiBSVENQZWVyQ29ubmVjdGlvbjo6bG9jYWxTdHJlYW1zKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9sb2NhbFN0cmVhbXMuZ2V0KCk7Cit9CisKK01lZGlhU3RyZWFtTGlzdCog
UlRDUGVlckNvbm5lY3Rpb246OnJlbW90ZVN0cmVhbXMoKSBjb25zdAoreworICAgIHJldHVybiBt
X3JlbW90ZVN0cmVhbXMuZ2V0KCk7Cit9CisKIHZvaWQgUlRDUGVlckNvbm5lY3Rpb246OmNsb3Nl
KEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gUmVhZHlTdGF0
ZUNsb3NpbmcgfHwgbV9yZWFkeVN0YXRlID09IFJlYWR5U3RhdGVDbG9zZWQpIHsKQEAgLTE1OCw2
ICsyMTksMzYgQEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6ZGlkQ2hhbmdlUmVhZHlTdGF0ZShS
ZWFkeVN0YXRlIG5ld1N0YXRlKQogICAgIGNoYW5nZVJlYWR5U3RhdGUobmV3U3RhdGUpOwogfQog
Cit2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpkaWRBZGRSZW1vdGVTdHJlYW0oUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbURlc2NyaXB0b3I+IHN0cmVhbURlc2NyaXB0b3IpCit7CisgICAgQVNTRVJUKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNDb250ZXh0VGhyZWFkKCkpOworCisgICAgaWYgKG1f
cmVhZHlTdGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2VkKQorICAgICAgICByZXR1cm47CisKKyAgICBS
ZWZQdHI8TWVkaWFTdHJlYW0+IHN0cmVhbSA9IE1lZGlhU3RyZWFtOjpjcmVhdGUoc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLCBzdHJlYW1EZXNjcmlwdG9yKTsKKyAgICBtX3JlbW90ZVN0cmVhbXMt
PmFwcGVuZChzdHJlYW0pOworCisgICAgZGlzcGF0Y2hFdmVudChNZWRpYVN0cmVhbUV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLmFkZHN0cmVhbUV2ZW50LCBmYWxzZSwgZmFsc2UsIHN0cmVhbS5y
ZWxlYXNlKCkpKTsKK30KKwordm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6ZGlkUmVtb3ZlUmVtb3Rl
U3RyZWFtKE1lZGlhU3RyZWFtRGVzY3JpcHRvciogc3RyZWFtRGVzY3JpcHRvcikKK3sKKyAgICBB
U1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5pc0NvbnRleHRUaHJlYWQoKSk7CisgICAg
QVNTRVJUKHN0cmVhbURlc2NyaXB0b3ItPm93bmVyKCkpOworCisgICAgUmVmUHRyPE1lZGlhU3Ry
ZWFtPiBzdHJlYW0gPSBzdGF0aWNfY2FzdDxNZWRpYVN0cmVhbSo+KHN0cmVhbURlc2NyaXB0b3It
Pm93bmVyKCkpOworICAgIHN0cmVhbS0+c3RyZWFtRW5kZWQoKTsKKworICAgIGlmIChtX3JlYWR5
U3RhdGUgPT0gUmVhZHlTdGF0ZUNsb3NlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJU
KG1fcmVtb3RlU3RyZWFtcy0+Y29udGFpbnMoc3RyZWFtLmdldCgpKSk7CisgICAgbV9yZW1vdGVT
dHJlYW1zLT5yZW1vdmUoc3RyZWFtLmdldCgpKTsKKworICAgIGRpc3BhdGNoRXZlbnQoTWVkaWFT
dHJlYW1FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5yZW1vdmVzdHJlYW1FdmVudCwgZmFsc2Us
IGZhbHNlLCBzdHJlYW0ucmVsZWFzZSgpKSk7Cit9CisKIGNvbnN0IEF0b21pY1N0cmluZyYgUlRD
UGVlckNvbm5lY3Rpb246OmludGVyZmFjZU5hbWUoKSBjb25zdAogewogICAgIHJldHVybiBldmVu
dE5hbWVzKCkuaW50ZXJmYWNlRm9yUlRDUGVlckNvbm5lY3Rpb247CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKaW5kZXgg
YzgyMDlkMGE2NzM0ZTRiMzIxNGU4MmMxYTc4ZjBmOTA4MDc3YTZlOC4uZDQxMDc0NmZiODA2NjZk
YWI1ZWI1OTFhZTkzZDhiMjA2MDVmM2RhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaApAQCAtMzcsNiArMzcsOCBA
QAogI2luY2x1ZGUgIkRpY3Rpb25hcnkuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbkJhc2UuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgorI2luY2x1
ZGUgIk1lZGlhU3RyZWFtTGlzdC5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC01MywxMyArNTUsMjIgQEAgcHVibGljOgogCiAgICAg
U3RyaW5nIHJlYWR5U3RhdGUoKSBjb25zdDsKIAorICAgIE1lZGlhU3RyZWFtTGlzdCogbG9jYWxT
dHJlYW1zKCkgY29uc3Q7CisgICAgTWVkaWFTdHJlYW1MaXN0KiByZW1vdGVTdHJlYW1zKCkgY29u
c3Q7CisgICAgdm9pZCBhZGRTdHJlYW0oY29uc3QgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4sIGNv
bnN0IERpY3Rpb25hcnkmIG1lZGlhQ29uc3RyYWludHMsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2
b2lkIHJlbW92ZVN0cmVhbShNZWRpYVN0cmVhbSosIEV4Y2VwdGlvbkNvZGUmKTsKKwogICAgIHZv
aWQgY2xvc2UoRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihvcGVuKTsKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHN0YXRl
Y2hhbmdlKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFkZHN0cmVhbSk7
CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZW1vdmVzdHJlYW0pOwogCiAg
ICAgLy8gUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50CiAgICAgdmlydHVhbCB2b2lkIGRp
ZENoYW5nZVJlYWR5U3RhdGUoUmVhZHlTdGF0ZSkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lk
IGRpZEFkZFJlbW90ZVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4pIE9W
RVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZW1vdmVSZW1vdGVTdHJlYW0oTWVkaWFTdHJl
YW1EZXNjcmlwdG9yKikgT1ZFUlJJREU7CiAKICAgICAvLyBFdmVudFRhcmdldAogICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgT1ZFUlJJREU7CkBA
IC04Nyw2ICs5OCw5IEBAIHByaXZhdGU6CiAKICAgICBSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZTsK
IAorICAgIFJlZlB0cjxNZWRpYVN0cmVhbUxpc3Q+IG1fbG9jYWxTdHJlYW1zOworICAgIFJlZlB0
cjxNZWRpYVN0cmVhbUxpc3Q+IG1fcmVtb3RlU3RyZWFtczsKKwogICAgIE93blB0cjxSVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXI+IG1fcGVlckhhbmRsZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsCmlu
ZGV4IDkwMTNmMzU5NGNjN2NlY2IwOTgwZjEzODQ4NjI0OGQ3MTdlMjkzYmYuLmRiZjA5ZmUxMjkx
MjFhYWM1OWI5Y2E0N2I4ZTgyNGVlOWZmYTJiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsCkBAIC00MCwx
MSArNDAsMjEgQEAgbW9kdWxlIG1lZGlhc3RyZWFtIHsKICAgICBdIFJUQ1BlZXJDb25uZWN0aW9u
IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyByZWFkeVN0YXRlOwogCisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYVN0cmVhbUxpc3QgbG9jYWxTdHJlYW1zOwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFTdHJlYW1MaXN0IHJlbW90ZVN0cmVhbXM7
CisKKyAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCBhZGRTdHJlYW0oaW4gTWVkaWFT
dHJlYW0gc3RyZWFtLCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBEaWN0aW9uYXJ5
IG1lZGlhQ29uc3RyYWludHMpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAg
ICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCByZW1vdmVTdHJlYW0oaW4gTWVkaWFTdHJl
YW0gc3RyZWFtKQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisKICAgICAgICAg
dm9pZCBjbG9zZSgpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgICAg
ICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbm9wZW47CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVu
dExpc3RlbmVyIG9uc3RhdGVjaGFuZ2U7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVy
IG9uYWRkc3RyZWFtOworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnJlbW92ZXN0
cmVhbTsKIAogICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKICAgICAgICAgdm9pZCBh
ZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvRGljdGlvbmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9EaWN0aW9uYXJ5LmNwcAppbmRleCA4ZmIwMGRjNDIyMjQ0ZWJiMWRlZTAyZDhjZDg3OTE5
ZjljYTkzZGFhLi41YTM2ZDYyYTRiYWEzZDFkYTFhOTMyMzdlY2Q1ZWMwN2IzMWY5NzYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9EaWN0aW9uYXJ5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9EaWN0aW9uYXJ5LmNwcApAQCAtNTQsNyArNTQsNyBA
QCBKU09iamVjdCogRGljdGlvbmFyeTo6YXNKU09iamVjdDxOb3RpZmljYXRpb24+KE5vdGlmaWNh
dGlvbiogb2JqZWN0KSBjb25zdAogfQogI2VuZGlmCiAKLWJvb2wgRGljdGlvbmFyeTo6Z2V0T3du
UHJvcGVydGllc0FzU3RyaW5nSGFzaE1hcChXVEY6Okhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBt
YXApIGNvbnN0Citib29sIERpY3Rpb25hcnk6OmdldE93blByb3BlcnRpZXNBc1N0cmluZ0hhc2hN
YXAoSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIG1hcCkgY29uc3QKIHsKICAgICBpZiAoIW1fZGlj
dGlvbmFyeS5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTc5LDcgKzc5LDcg
QEAgYm9vbCBEaWN0aW9uYXJ5OjpnZXRPd25Qcm9wZXJ0aWVzQXNTdHJpbmdIYXNoTWFwKFdURjo6
SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIG0KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBE
aWN0aW9uYXJ5OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKFdURjo6VmVjdG9yPFN0cmluZz4mIG5hbWVz
KSBjb25zdAorYm9vbCBEaWN0aW9uYXJ5OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKFZlY3RvcjxTdHJp
bmc+JiBuYW1lcykgY29uc3QKIHsKICAgICBpZiAoIW1fZGljdGlvbmFyeS5pc1ZhbGlkKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L0RpY3Rpb25hcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGljdGlvbmFy
eS5jcHAKaW5kZXggM2FmNjMzMGIyZmUxZGQyOTdlMGU2ZGY2NGMzODQ5ZmM0Yzg5MTQwZS4uMTg3
NDAzZmNkYTQzMzE1YTUwNGZkNzM2ZGM4ZWU3NmE2NTU0YWFlYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHAKQEAgLTQ2Nyw3ICs0NjcsNyBAQCBib29sIERpY3Rp
b25hcnk6OmdldChjb25zdCBTdHJpbmcmIGtleSwgQXJyYXlWYWx1ZSYgdmFsdWUpIGNvbnN0CiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgRGljdGlvbmFyeTo6Z2V0T3duUHJvcGVydGllc0Fz
U3RyaW5nSGFzaE1hcChXVEY6Okhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBoYXNoTWFwKSBjb25z
dAorYm9vbCBEaWN0aW9uYXJ5OjpnZXRPd25Qcm9wZXJ0aWVzQXNTdHJpbmdIYXNoTWFwKEhhc2hN
YXA8U3RyaW5nLCBTdHJpbmc+JiBoYXNoTWFwKSBjb25zdAogewogICAgIGlmICghaXNPYmplY3Qo
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNDk0LDcgKzQ5NCw3IEBAIGJvb2wgRGljdGlv
bmFyeTo6Z2V0T3duUHJvcGVydGllc0FzU3RyaW5nSGFzaE1hcChXVEY6Okhhc2hNYXA8U3RyaW5n
LCBTdHJpbmc+JiBoCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgRGljdGlvbmFyeTo6Z2V0
T3duUHJvcGVydHlOYW1lcyhXVEY6OlZlY3RvcjxTdHJpbmc+JiBuYW1lcykgY29uc3QKK2Jvb2wg
RGljdGlvbmFyeTo6Z2V0T3duUHJvcGVydHlOYW1lcyhWZWN0b3I8U3RyaW5nPiYgbmFtZXMpIGNv
bnN0CiB7CiAgICAgaWYgKCFpc09iamVjdCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmgKaW5kZXggNzY3ZDQ0ODE1NTE1ZDJkN2Fi
Y2M0NWI4MTE2OGU4NzI2NzAyZDBmNi4uY2ExYjQwYWYxZDU4ODYxZDY2NGMyOWI4MmE4NjhiOWNl
M2M5ZDU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGljdGlvbmFy
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RpY3Rpb25hcnkuaApAQCAtODks
OCArODksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgVmVjdG9yPFN0
cmluZz4mKSBjb25zdDsKICAgICBib29sIGdldChjb25zdCBTdHJpbmcmLCBBcnJheVZhbHVlJikg
Y29uc3Q7CiAKLSAgICBib29sIGdldE93blByb3BlcnRpZXNBc1N0cmluZ0hhc2hNYXAoV1RGOjpI
YXNoTWFwPFN0cmluZywgU3RyaW5nPiYpIGNvbnN0OwotICAgIGJvb2wgZ2V0T3duUHJvcGVydHlO
YW1lcyhXVEY6OlZlY3RvcjxTdHJpbmc+JikgY29uc3Q7CisgICAgYm9vbCBnZXRPd25Qcm9wZXJ0
aWVzQXNTdHJpbmdIYXNoTWFwKEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JikgY29uc3Q7CisgICAg
Ym9vbCBnZXRPd25Qcm9wZXJ0eU5hbWVzKFZlY3RvcjxTdHJpbmc+JikgY29uc3Q7CiAKICAgICBi
b29sIGdldFdpdGhVbmRlZmluZWRPck51bGxDaGVjayhjb25zdCBTdHJpbmcmLCBTdHJpbmcmKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaAppbmRleCA3NTU4ZjJlMTZhNWE3ZTA3
ZGI3M2IzOGVjY2ZkYzliZGNhYzFjNTVkLi42OWUzNDgwMzFkZGY3ODg3NWVjYmE0ZDdkYmYzYTcw
ZjU5NmU2MjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaApAQCAtMzMsNiArMzMsNyBA
QAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2luY2x1ZGUgIk1lZGlhU3RyZWFtRGVz
Y3JpcHRvci5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KIApAQCAtNDgsNiArNDksOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+UlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyKCkgeyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaW5pdGlhbGl6
ZShQYXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+KSA9IDA7CisKKyAgICB2aXJ0dWFsIGJvb2wgYWRkU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFT
dHJlYW1EZXNjcmlwdG9yPiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCByZW1vdmVTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0
b3I+KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSA9IDA7CiAKIHByb3RlY3RlZDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKaW5kZXggZjk2MGI4Nzg3ZmZkOWM5
NzdlNjQwNjMyNDMyNTBkMjM1NDhkYzgwZC4uODg5OTg2NzZmNzMxMjc5M2RjNWM0ZjM2NWMxZTQ5
ZDhlOWQxMWEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKQEAg
LTMzLDggKzMzLDEyIEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCisjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBNZWRpYVN0
cmVhbURlc2NyaXB0b3I7CisKIGNsYXNzIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCB7
CiBwdWJsaWM6CiAgICAgZW51bSBSZWFkeVN0YXRlIHsKQEAgLTQ4LDYgKzUyLDggQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgflJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCgpIHsgfQogCiAg
ICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVJlYWR5U3RhdGUoUmVhZHlTdGF0ZSkgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBkaWRBZGRSZW1vdGVTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbURl
c2NyaXB0b3I+KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZVJlbW90ZVN0cmVhbShN
ZWRpYVN0cmVhbURlc2NyaXB0b3IqKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1
bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJv
bWl1bS5jcHAKaW5kZXggZDJjZDU0NTI3MGQ2OTRhNDg1MjMzZDljNGJhMTJjZTViZjJlMjA4Mi4u
OTRhOTk4MzgzZjYzYmU0ZmZmMWZkODgwOGUzZDNmMWM0NTgwNmU2NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vUlRDUGVlckNvbm5lY3Rp
b25IYW5kbGVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtLmNwcApAQCAt
MzksNiArMzksNyBAQAogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5o
IgogI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJNZWRp
YUNvbnN0cmFpbnRzLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYk1lZGlhU3RyZWFtRGVzY3JpcHRv
ci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJSVENDb25maWd1cmF0aW9uLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtNjUsNiArNjYsMjIgQEAgYm9vbCBSVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDaHJvbWl1bTo6aW5pdGlhbGl6ZShQYXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRp
b24+IGMKICAgICByZXR1cm4gbV93ZWJIYW5kbGVyID8gbV93ZWJIYW5kbGVyLT5pbml0aWFsaXpl
KGNvbmZpZ3VyYXRpb24sIGNvbnN0cmFpbnRzKSA6IGZhbHNlOwogfQogCitib29sIFJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlckNocm9taXVtOjphZGRTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVh
bURlc2NyaXB0b3I+IG1lZGlhU3RyZWFtLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGNv
bnN0cmFpbnRzKQoreworICAgIGlmICghbV93ZWJIYW5kbGVyKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICByZXR1cm4gbV93ZWJIYW5kbGVyLT5hZGRTdHJlYW0obWVkaWFTdHJlYW0sIGNv
bnN0cmFpbnRzKTsKK30KKwordm9pZCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6
cmVtb3ZlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBtZWRpYVN0cmVh
bSkKK3sKKyAgICBpZiAoIW1fd2ViSGFuZGxlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgbV93
ZWJIYW5kbGVyLT5yZW1vdmVTdHJlYW0obWVkaWFTdHJlYW0pOworfQorCiB2b2lkIFJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlckNocm9taXVtOjpzdG9wKCkKIHsKICAgICBpZiAoIW1fd2ViSGFuZGxl
cikKQEAgLTc4LDYgKzk1LDE2IEBAIHZvaWQgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21p
dW06OmRpZENoYW5nZVJlYWR5U3RhdGUoV2ViS2l0OjpXZWJSVENQZWVyQ29uCiAgICAgbV9jbGll
bnQtPmRpZENoYW5nZVJlYWR5U3RhdGUoc3RhdGljX2Nhc3Q8UlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyQ2xpZW50OjpSZWFkeVN0YXRlPihzdGF0ZSkpOwogfQogCit2b2lkIFJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNocm9taXVtOjpkaWRBZGRSZW1vdGVTdHJlYW0oY29uc3QgV2ViS2l0OjpXZWJN
ZWRpYVN0cmVhbURlc2NyaXB0b3ImIHdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvcikKK3sKKyAgICBt
X2NsaWVudC0+ZGlkQWRkUmVtb3RlU3RyZWFtKHdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvcik7Cit9
CisKK3ZvaWQgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmRpZFJlbW92ZVJlbW90
ZVN0cmVhbShjb25zdCBXZWJLaXQ6OldlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYgd2ViTWVkaWFT
dHJlYW1EZXNjcmlwdG9yKQoreworICAgIG1fY2xpZW50LT5kaWRSZW1vdmVSZW1vdGVTdHJlYW0o
d2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1
bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5oCmluZGV4IDY5ZmMyNGQzMzVlZDAy
YTk1MGNjMGE2NzEwOWM3YjY1YmY2YTZlMTAuLmJhMWQ3MjcyM2FkZTI4ODQ5MDlkMGNhMjA1NGM3
YmQ4ZTg2ZjM4NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vUlRDUGVlckNvbm5lY3Rp
b25IYW5kbGVyQ2hyb21pdW0uaApAQCAtMzMsMTIgKzMzLDE3IEBACiAKICNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgiCiAjaW5jbHVk
ZSAiUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgiCiAjaW5jbHVkZSA8cHVibGljL1dlYlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJSVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDbGllbnQuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KIAorbmFtZXNwYWNlIFdlYktpdCB7CitjbGFzcyBXZWJNZWRpYVN0
cmVhbURlc2NyaXB0b3I7Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW0gOiBwdWJsaWMgUlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyLCBwdWJsaWMgV2ViS2l0OjpXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQgewpA
QCAtNDcsMTAgKzUyLDE1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SVENQZWVyQ29ubmVjdGlv
bkhhbmRsZXJDaHJvbWl1bSgpOwogCiAgICAgdmlydHVhbCBib29sIGluaXRpYWxpemUoUGFzc1Jl
ZlB0cjxSVENDb25maWd1cmF0aW9uPiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPikgT1ZF
UlJJREU7CisKKyAgICB2aXJ0dWFsIGJvb2wgYWRkU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJl
YW1EZXNjcmlwdG9yPiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPikgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB2b2lkIHJlbW92ZVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3Jp
cHRvcj4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgT1ZFUlJJREU7CiAKICAg
ICAvLyBXZWJLaXQ6OldlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCBpbXBsZW1lbnRh
dGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlUmVhZHlTdGF0ZShXZWJLaXQ6OldlYlJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0ZSkgT1ZFUlJJREU7CisgICAg
dmlydHVhbCB2b2lkIGRpZEFkZFJlbW90ZVN0cmVhbShjb25zdCBXZWJLaXQ6OldlYk1lZGlhU3Ry
ZWFtRGVzY3JpcHRvciYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZW1vdmVSZW1v
dGVTdHJlYW0oY29uc3QgV2ViS2l0OjpXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3ImKSBPVkVSUklE
RTsKIAogcHJpdmF0ZToKICAgICBPd25QdHI8V2ViS2l0OjpXZWJSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXI+IG1fd2ViSGFuZGxlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKaW5kZXggOGVmM2ZlMmQyY2JiZDg5MjdhNjI3YjBmNDc2
NTE4NGU5ZmExNTliMy4uNDU1NDhmNmE1YWIyNTRhYzZmZWVkNzNiZjA1NmM0NGQ2ZmE0MzUwNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHAKQEAgLTEwOSwxMyArMTA5LDEzIEBACiAjaW5jbHVkZSAiV2ViVGV4dENoZWNraW5nUmVz
dWx0LmgiCiAjaW5jbHVkZSAiV2ViVGV4dENoZWNraW5nVHlwZS5oIgogI2luY2x1ZGUgIldlYlZp
ZXcuaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJJQ0VPcHRpb25zLmgiCi0jaW5jbHVkZSAicGxh
dGZvcm0vV2ViTWVkaWFTdHJlYW1Tb3VyY2UuaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJQZWVy
Q29ubmVjdGlvbjAwSGFuZGxlci5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYlBlZXJDb25uZWN0
aW9uMDBIYW5kbGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8cHVibGljL1dlYkNsaXBib2FyZC5oPgog
I2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkZp
bHRlck9wZXJhdGlvbi5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJJQ0VPcHRpb25zLmg+CisjaW5j
bHVkZSA8cHVibGljL1dlYk1lZGlhU3RyZWFtU291cmNlLmg+CisjaW5jbHVkZSA8cHVibGljL1dl
YlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlBlZXJDb25u
ZWN0aW9uMDBIYW5kbGVyQ2xpZW50Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlJUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXJDbGllbnQuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViUmVmZXJyZXJQb2xpY3kuaD4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2Nzg2NWJh
M2YxMWNhNWZlMDgxNTQwMjkzY2EzZWRlNzkxMWQxNDEwLi44NDg1MmY3M2EyYjk1ODdhZmE4MDY4
YmMzMWJjNmM1OTk4OTlkNTQyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDgtMzEgIFRvbW15IFdpZGVuZmx5
Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CisKKyAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBBZGQg
TWVkaWFTdHJlYW0gbWFuYWdlbWVudCB0byBSVENQZWVyQ29ubmVjdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU1NDMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmRpbmcgTW9ja1dlYlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlciB0byBoYW5kbGUgYWRkU3RyZWFtL3JlbW92ZVN0cmVhbS4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVyQ29ubmVjdGlv
bkhhbmRsZXIuY3BwOgorICAgICAgICAoTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6
TW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcik6CisgICAgICAgIChNb2NrV2ViUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyOjphZGRTdHJlYW0pOgorICAgICAgICAoTW9ja1dlYlJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlcjo6cmVtb3ZlU3RyZWFtKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9Nb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmg6CisgICAgICAgIChN
b2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKToKKwogMjAxMi0wOC0zMCAgWGlhbnpodSBX
YW5nICA8d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bS1BbmRy
b2lkXSBTa2lwIGNvbXBvc2l0aW5nL3dlYmdsIGFuZCBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFs
L3RocmVhZGVkL2NvbXBvc2l0aW5nL3dlYmdsIHRlc3RzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9Nb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXIuY3BwCmluZGV4IDYwYjY5MDRhYTNhOGNmZjcwOWZlZGJlOGQ1NmNiNjkyYjk5Yjc2ZmQu
Ljc2MTA4NDI1MjRlNWZhNzM3MjY3M2NjOTRiMjkwZjNjODlmMjM0NTkgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRs
ZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXIuY3BwCkBAIC00MSw2ICs0MSw3IEBACiB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCiBNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpNb2NrV2ViUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyKFdlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCogY2xp
ZW50KQorICAgIDogbV9jbGllbnQoY2xpZW50KQogewogfQogCkBAIC04NSw2ICs4NiwxNyBAQCBi
b29sIE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmluaXRpYWxpemUoY29uc3QgV2Vi
UlRDQ29uZmlndXJhdGlvbiYsIGNvbgogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIE1vY2tX
ZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmFkZFN0cmVhbShjb25zdCBXZWJNZWRpYVN0cmVh
bURlc2NyaXB0b3ImIHN0cmVhbSwgY29uc3QgV2ViTWVkaWFDb25zdHJhaW50cyYpCit7CisgICAg
bV9jbGllbnQtPmRpZEFkZFJlbW90ZVN0cmVhbShzdHJlYW0pOworICAgIHJldHVybiB0cnVlOwor
fQorCit2b2lkIE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnJlbW92ZVN0cmVhbShj
b25zdCBXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3ImIHN0cmVhbSkKK3sKKyAgICBtX2NsaWVudC0+
ZGlkUmVtb3ZlUmVtb3RlU3RyZWFtKHN0cmVhbSk7Cit9CisKIHZvaWQgTW9ja1dlYlJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlcjo6c3RvcCgpCiB7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9Nb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmggYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9Nb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
LmgKaW5kZXggMDE2MmJkYjg1MGMzMDY2M2VjNjVkMzM3MDRhYWNlOWVkNDg4YTAxNy4uODg0NTA3
ZTY3NmE2MmYyM2E2ZDIzNzllNzBiMmU2ZmUwN2M1ZmVkYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVyQ29ubmVjdGlv
bkhhbmRsZXIuaApAQCAtNDQsMTAgKzQ0LDE0IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9v
bCBpbml0aWFsaXplKGNvbnN0IFdlYktpdDo6V2ViUlRDQ29uZmlndXJhdGlvbiYsIGNvbnN0IFdl
YktpdDo6V2ViTWVkaWFDb25zdHJhaW50cyYpIE9WRVJSSURFOwogCisgICAgdmlydHVhbCBib29s
IGFkZFN0cmVhbShjb25zdCBXZWJLaXQ6OldlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYsIGNvbnN0
IFdlYktpdDo6V2ViTWVkaWFDb25zdHJhaW50cyYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9p
ZCByZW1vdmVTdHJlYW0oY29uc3QgV2ViS2l0OjpXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3ImKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpIE9WRVJSSURFOwogCiBwcml2YXRlOgog
ICAgIE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIoKSB7IH0KKworICAgIFdlYktpdDo6
V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KiBtX2NsaWVudDsKIH07CiAKICNlbmRp
ZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEzNzg5MWM0YjUwMGExYmVlOTg1MTdk
YmQ4ZTZiODYwZjdmNTc3NzUuLjhhODc0ZWQ4ODZhNTM4MDRmN2FjYmJjOTFiNzExMmNlYzE4ZTNl
M2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wOC0zMSAgVG9tbXkgV2lkZW5mbHljaHQg
IDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IEFkZCBNZWRp
YVN0cmVhbSBtYW5hZ2VtZW50IHRvIFJUQ1BlZXJDb25uZWN0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU0MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1BZGRSZW1vdmVTdHJlYW0tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLUFkZFJlbW92ZVN0cmVhbS5odG1s
OiBBZGRlZC4KKwogMjAxMi0wOC0zMSAgQW5kcmV5IEFkYWlraW4gIDxhYW5kcmV5QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBbUXRdIE5ldyBpbnNwZWN0b3IvcHJvZmlsZXIvd2ViZ2wtcHJvZmls
ZXItYXBpLWNoYW5nZXMuaHRtbCB0aW1lcyBvdXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tQWRkUmVtb3ZlU3RyZWFtLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tQWRk
UmVtb3ZlU3RyZWFtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjUyZjNmMWU4ODI4NzQ1YjFi
YmY2Y2YxY2ViZjAwYjgzMGFmODZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1BZGRSZW1vdmVTdHJlYW0tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3RzIFJUQ1BlZXJDb25uZWN0aW9uIFthZGR8cmVtb3Zl
XVN0cmVhbS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgR290IGEgc3Ry
ZWFtLgorUEFTUyBvbkFkZFN0cmVhbSB3YXMgY2FsbGVkLgorUEFTUyBvblJlbW92ZVN0cmVhbSB3
YXMgY2FsbGVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24tQWRkUmVtb3ZlU3RyZWFtLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3Ry
ZWFtL1JUQ1BlZXJDb25uZWN0aW9uLUFkZFJlbW92ZVN0cmVhbS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5
YzFmNGE2OWMwYjJkMjBhMTY4N2Y4NjMxMjU5MDA5MzVhN2QwZTcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLUFkZFJlbW92
ZVN0cmVhbS5odG1sCkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyBSVENQZWVyQ29ubmVjdGlvbiBbYWRkfHJlbW92ZV1T
dHJlYW0uIik7CisKK3ZhciBzdHJlYW0gPSBudWxsOwordmFyIHBjID0gbnVsbDsKKworZnVuY3Rp
b24gZXJyb3IoKSB7CisgICAgdGVzdEZhaWxlZCgnU3RyZWFtIGdlbmVyYXRpb24gZmFpbGVkLicp
OworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiBnZXRVc2VyTWVkaWEoZGljdGlv
bmFyeSwgY2FsbGJhY2spIHsKKyAgICB0cnkgeworICAgICAgICBuYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhKGRpY3Rpb25hcnksIGNhbGxiYWNrLCBlcnJvcik7CisgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICB0ZXN0RmFpbGVkKCd3ZWJraXRHZXRVc2VyTWVkaWEgdGhyZXcgZXhjZXB0aW9u
IDonICsgZSk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30KKworZnVuY3Rpb24g
b25SZW1vdmVTdHJlYW0oZXZlbnQpIHsKKyAgICB0ZXN0UGFzc2VkKCdvblJlbW92ZVN0cmVhbSB3
YXMgY2FsbGVkLicpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIG9uQWRk
U3RyZWFtKGV2ZW50KSB7CisgICAgdGVzdFBhc3NlZCgnb25BZGRTdHJlYW0gd2FzIGNhbGxlZC4n
KTsKKworICAgIHBjLnJlbW92ZVN0cmVhbShzdHJlYW0pOworfQorCitmdW5jdGlvbiBnb3RTdHJl
YW0ocykgeworICAgIHRlc3RQYXNzZWQoJ0dvdCBhIHN0cmVhbS4nKTsKKyAgICBzdHJlYW0gPSBz
OworCisgICAgcGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24obnVsbCwgbnVsbCk7Cisg
ICAgcGMub25hZGRzdHJlYW0gPSBvbkFkZFN0cmVhbTsKKyAgICBwYy5vbnJlbW92ZXN0cmVhbSA9
IG9uUmVtb3ZlU3RyZWFtOworCisgICAgcGMuYWRkU3RyZWFtKHN0cmVhbSk7Cit9CisKK2dldFVz
ZXJNZWRpYSh7YXVkaW86dHJ1ZSwgdmlkZW86dHJ1ZX0sIGdvdFN0cmVhbSk7CisKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161653</attachid>
            <date>2012-08-31 03:49:57 -0700</date>
            <delta_ts>2012-09-01 00:54:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95543-20120831124944.patch</filename>
            <type>text/plain</type>
            <size>31224</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAxMGI5Y2U2NzU1ZmI5
ODYxMWFhZWJhOTdkOGVlODI3YzRkZDM4YzQ3Li5hOTY1Zjg1YmNkMTUxYjkwNWJjMmNhNWY2MThl
YmExYWVlYzU1OTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wOC0zMSAg
VG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0
cmVhbSBBUEk6IEFkZCBNZWRpYVN0cmVhbSBtYW5hZ2VtZW50IHRvIFJUQ1BlZXJDb25uZWN0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU0Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY2hyb21p
dW0vcHVibGljL1dlYk1lZGlhU3RyZWFtQ2VudGVyLmg6CisgICAgICAgIChXZWJNZWRpYVN0cmVh
bUNlbnRlcik6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlci5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlcik6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCk6CisKIDIwMTItMDgtMzAgIEphbWVzIFJvYmluc29u
ICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJldmVydCBXZWJD
b21wb3NpdG9yU3VwcG9ydCB0byByYXcgcHRycywgbWFrZSBkdG9yIHByb3RlY3RlZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDJlODZkMzdiYTg4NzQ0YjZlZjBjZjc5YzIwNzI1ZDVkMjA2MmE4MTMuLmU5ZTBiMWFh
ZDEzODIzMzlhZGI2MmQ2MTljMTFlZjQ2MWE5NDhmMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1
NiBAQAorMjAxMi0wOC0zMSAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4K
KworICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IEFkZCBNZWRpYVN0cmVhbSBtYW5hZ2VtZW50IHRv
IFJUQ1BlZXJDb25uZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05NTU0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgaW5jbHVkZXMgYWRkU3RyZWFtL3JlbW92ZVN0cmVhbSB0byBSVENQZWVy
Q29ubmVjdGlvbiwKKyAgICAgICAgYXMgd2VsbCBhcyBkaWRBZGRSZW1vdGVTdHJlYW0vZGlkUmVt
b3ZlUmVtb3RlU3RyZWFtIHRvIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC4KKworICAg
ICAgICBUZXN0OiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLUFkZFJlbW92ZVN0
cmVhbS5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uOjpwYXJzZUNvbmZp
Z3VyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb246OlJUQ1BlZXJD
b25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uOjphZGRTdHJl
YW0pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVj
dGlvbjo6cmVtb3ZlU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9u
Ojpsb2NhbFN0cmVhbXMpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb246OnJl
bW90ZVN0cmVhbXMpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb246OmRpZEFk
ZFJlbW90ZVN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6ZGlk
UmVtb3ZlUmVtb3RlU3RyZWFtKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLmg6CisgICAgICAgIChSVENQZWVyQ29ubmVjdGlvbik6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGw6CisgICAgICAgICogYmlu
ZGluZ3MvanMvRGljdGlvbmFyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaWN0aW9uYXJ5Ojpn
ZXRPd25Qcm9wZXJ0aWVzQXNTdHJpbmdIYXNoTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkRpY3Rp
b25hcnk6OmdldE93blByb3BlcnR5TmFtZXMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0RpY3Rp
b25hcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGljdGlvbmFyeTo6Z2V0T3duUHJvcGVydGll
c0FzU3RyaW5nSGFzaE1hcCk6CisgICAgICAgIChXZWJDb3JlOjpEaWN0aW9uYXJ5OjpnZXRPd25Q
cm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9EaWN0aW9uYXJ5Lmg6CisgICAg
ICAgIChEaWN0aW9uYXJ5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXIuY3BwOgorICAgICAgICAoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
RHVtbXkpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyRHVtbXk6
OmFkZFN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckR1bW15OjpyZW1vdmVTdHJlYW0pOgorICAgICAgICAqIHBsYXRm
b3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oOgorICAgICAgICAoUlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6
YWRkU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OnJlbW92ZVN0cmVhbSk6CisgICAgICAgIChXZWJD
b3JlOjpSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bTo6ZGlkQWRkUmVtb3RlU3RyZWFt
KToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtOjpk
aWRSZW1vdmVSZW1vdGVTdHJlYW0pOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2No
cm9taXVtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtLmg6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW0pOgorCiAyMDEy
LTA4LTMxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IHJlbmRlciBwYXRoIHRvIGZpbGUgYW5kIGxpbmUgbnVtYmVyIGFzIHN1
YnRpdGxlcyBpbiBzZWxlY3RvciBkaWFsb2cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY0MWUwNTlhZDI5NzYxNjdhY2NkMDM0M2JhNTY2NzM2NGI0YWFiMGIuLmY0ZTVlNWMwZDU5Y2Rm
ZWU2NGU3ZmM3MDUzZWY2NTk3OWY1ZDQ4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTItMDgtMzEgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdv
b2dsZS5jb20+CisKKyAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBBZGQgTWVkaWFTdHJlYW0gbWFu
YWdlbWVudCB0byBSVENQZWVyQ29ubmVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU1NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKwogMjAx
Mi0wOC0zMCAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtjaHJvbWl1bV0gUmV2ZXJ0IFdlYkNvbXBvc2l0b3JTdXBwb3J0IHRvIHJhdyBwdHJzLCBtYWtl
IGR0b3IgcHJvdGVjdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVi
bGljL1dlYk1lZGlhU3RyZWFtQ2VudGVyLmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVi
bGljL1dlYk1lZGlhU3RyZWFtQ2VudGVyLmgKaW5kZXggZmRlZjdiODk0MTdkYzdmMDE4N2Y5NmY3
ZTkyMTg4YzRkM2U0YzBkYi4uMmM4NjhlNzg1N2U2NmFhZDkyNjExMTE3NDk4OGVkYjhhN2YzNmU4
NCAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVN0
cmVhbUNlbnRlci5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTWVk
aWFTdHJlYW1DZW50ZXIuaApAQCAtNDgsMTEgKzQ4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBkaWRFbmFibGVNZWRpYVN0cmVhbVRyYWNrKGNvbnN0IFdlYk1lZGlhU3RyZWFtRGVzY3Jp
cHRvciYsIGNvbnN0IFdlYk1lZGlhU3RyZWFtQ29tcG9uZW50JikgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBkaWREaXNhYmxlTWVkaWFTdHJlYW1UcmFjayhjb25zdCBXZWJNZWRpYVN0cmVhbURlc2Ny
aXB0b3ImLCBjb25zdCBXZWJNZWRpYVN0cmVhbUNvbXBvbmVudCYpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkU3RvcExvY2FsTWVkaWFTdHJlYW0oY29uc3QgV2ViTWVkaWFTdHJlYW1EZXNjcmlw
dG9yJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVNZWRpYVN0cmVhbShXZWJNZWRp
YVN0cmVhbURlc2NyaXB0b3ImKSB7IH0KLQotICAgIC8vIERFUFJFQ0FURUQKLSAgICB2aXJ0dWFs
IHZvaWQgZGlkQ29uc3RydWN0TWVkaWFTdHJlYW0oY29uc3QgV2ViTWVkaWFTdHJlYW1EZXNjcmlw
dG9yJikgeyB9Ci0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlTWVkaWFTdHJlYW0oV2ViTWVk
aWFTdHJlYW1EZXNjcmlwdG9yJikgPSAwOwogICAgIHZpcnR1YWwgV2ViU3RyaW5nIGNvbnN0cnVj
dFNEUChjb25zdCBXZWJJQ0VDYW5kaWRhdGVEZXNjcmlwdG9yJikgPSAwOwogICAgIHZpcnR1YWwg
V2ViU3RyaW5nIGNvbnN0cnVjdFNEUChjb25zdCBXZWJTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlw
dG9yJikgPSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21p
dW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oCmluZGV4IGQ2ZTE4ZGIzMDY2
NGQ3NGZhMDU2MTMxYWY0YjkzNDhlNTQ1MzhiYzMuLjZiYTY0OGMyODQ3OGNhOTIwYTZkZjMzZGVl
Y2Y0NDNjYTQyNjdjM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKKysrIGIvU291cmNlL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9XZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaApAQCAtMzMsNiArMzMs
NyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYk1lZGlhQ29uc3RyYWludHM7Citj
bGFzcyBXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3I7CiBjbGFzcyBXZWJSVENDb25maWd1cmF0aW9u
OwogY2xhc3MgV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OwogCkBAIC00MSw2ICs0
Miw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIo
KSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBpbml0aWFsaXplKGNvbnN0IFdlYlJUQ0NvbmZpZ3Vy
YXRpb24mLCBjb25zdCBXZWJNZWRpYUNvbnN0cmFpbnRzJikgPSAwOworCisgICAgdmlydHVhbCBi
b29sIGFkZFN0cmVhbShjb25zdCBXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3ImLCBjb25zdCBXZWJN
ZWRpYUNvbnN0cmFpbnRzJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTdHJlYW0oY29u
c3QgV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzdG9w
KCkgPSAwOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1Ymxp
Yy9XZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaCBiL1NvdXJjZS9QbGF0Zm9ybS9j
aHJvbWl1bS9wdWJsaWMvV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKaW5kZXgg
YzM5MGEwNDU1ZmFkOTEzY2I1NTM3MmMyYmJlODE1ZWFkMTlhYWVhMi4uYzFjNzAzNjJkMTg0ZDI3
YTUxYzA1MDViMWVhOTFlODE1NmRmMGVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9XZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaAorKysgYi9T
b3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ckNsaWVudC5oCkBAIC0zMiw2ICszMiw3IEBACiAjZGVmaW5lIFdlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudF9oCiAKIG5hbWVzcGFjZSBXZWJLaXQgeworY2xhc3MgV2ViTWVkaWFTdHJl
YW1EZXNjcmlwdG9yOwogCiBjbGFzcyBXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQg
ewogcHVibGljOgpAQCAtNDYsNiArNDcsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+V2ViUlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlk
Q2hhbmdlUmVhZHlTdGF0ZShSZWFkeVN0YXRlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZEFk
ZFJlbW90ZVN0cmVhbShjb25zdCBXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3ImKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIGRpZFJlbW92ZVJlbW90ZVN0cmVhbShjb25zdCBXZWJNZWRpYVN0cmVhbURl
c2NyaXB0b3ImKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5j
cHAKaW5kZXggZWMxZTMxYWU5MzZmNDU3ZDM1NTllZGQ4M2Y4MzdiNzMwN2RiMGY2NS4uODljNTVh
ZGFmN2E4MzA5NmM5NDZmN2YyNGRjODkyMjMwZDUzYzM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKQEAg
LTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzSW1wbC5oIgorI2luY2x1ZGUgIk1lZGlh
U3RyZWFtRXZlbnQuaCIKICNpbmNsdWRlICJSVENDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogCkBAIC04OCw2ICs4OSw3IEBAIFBhc3NSZWZQdHI8
UlRDQ29uZmlndXJhdGlvbj4gUlRDUGVlckNvbm5lY3Rpb246OnBhcnNlQ29uZmlndXJhdGlvbihj
b25zdCBEaWN0aW9uCiAKICAgICAgICAgcnRjQ29uZmlndXJhdGlvbi0+YXBwZW5kU2VydmVyKFJU
Q0ljZVNlcnZlcjo6Y3JlYXRlKHVybCwgY3JlZGVudGlhbCkpOwogICAgIH0KKwogICAgIHJldHVy
biBydGNDb25maWd1cmF0aW9uLnJlbGVhc2UoKTsKIH0KIApAQCAtMTEyLDYgKzExNCw4IEBAIFBh
c3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb24+IFJUQ1BlZXJDb25uZWN0aW9uOjpjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCoKIFJUQ1BlZXJDb25uZWN0aW9uOjpSVENQZWVyQ29ubmVjdGlv
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPFJUQ0NvbmZpZ3Vy
YXRpb24+IGNvbmZpZ3VyYXRpb24sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gY29uc3Ry
YWludHMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQs
IHRoaXMpCiAgICAgLCBtX3JlYWR5U3RhdGUoUmVhZHlTdGF0ZU5ldykKKyAgICAsIG1fbG9jYWxT
dHJlYW1zKE1lZGlhU3RyZWFtTGlzdDo6Y3JlYXRlKCkpCisgICAgLCBtX3JlbW90ZVN0cmVhbXMo
TWVkaWFTdHJlYW1MaXN0OjpjcmVhdGUoKSkKIHsKICAgICBtX3BlZXJIYW5kbGVyID0gUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyOjpjcmVhdGUodGhpcyk7CiAgICAgaWYgKCFtX3BlZXJIYW5kbGVy
IHx8ICFtX3BlZXJIYW5kbGVyLT5pbml0aWFsaXplKGNvbmZpZ3VyYXRpb24sIGNvbnN0cmFpbnRz
KSkKQEAgLTE0MSw2ICsxNDUsNjMgQEAgU3RyaW5nIFJUQ1BlZXJDb25uZWN0aW9uOjpyZWFkeVN0
YXRlKCkgY29uc3QKICAgICByZXR1cm4gIiI7CiB9CiAKK3ZvaWQgUlRDUGVlckNvbm5lY3Rpb246
OmFkZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBwcnBTdHJlYW0sIGNvbnN0IERpY3Rp
b25hcnkmIG1lZGlhQ29uc3RyYWludHMsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICht
X3JlYWR5U3RhdGUgPT0gUmVhZHlTdGF0ZUNsb3NpbmcgfHwgbV9yZWFkeVN0YXRlID09IFJlYWR5
U3RhdGVDbG9zZWQpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIFJlZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtID0gcHJwU3Ry
ZWFtOworICAgIGlmICghc3RyZWFtKSB7CisgICAgICAgIGVjID0gIFRZUEVfTUlTTUFUQ0hfRVJS
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+
IGNvbnN0cmFpbnRzID0gTWVkaWFDb25zdHJhaW50c0ltcGw6OmNyZWF0ZShtZWRpYUNvbnN0cmFp
bnRzLCBlYyk7CisgICAgaWYgKGVjKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9sb2Nh
bFN0cmVhbXMtPmNvbnRhaW5zKHN0cmVhbS5nZXQoKSkpCisgICAgICAgIHJldHVybjsKKworICAg
IG1fbG9jYWxTdHJlYW1zLT5hcHBlbmQoc3RyZWFtKTsKKworICAgIGJvb2wgdmFsaWQgPSBtX3Bl
ZXJIYW5kbGVyLT5hZGRTdHJlYW0oc3RyZWFtLT5kZXNjcmlwdG9yKCksIGNvbnN0cmFpbnRzKTsK
KyAgICBpZiAoIXZhbGlkKQorICAgICAgICBlYyA9IFNZTlRBWF9FUlI7Cit9CisKK3ZvaWQgUlRD
UGVlckNvbm5lY3Rpb246OnJlbW92ZVN0cmVhbShNZWRpYVN0cmVhbSogc3RyZWFtLCBFeGNlcHRp
b25Db2RlJiBlYykKK3sKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IFJlYWR5U3RhdGVDbG9zZWQp
IHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGlmICghc3RyZWFtKSB7CisgICAgICAgIGVjID0gVFlQRV9NSVNNQVRDSF9FUlI7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIW1fbG9jYWxTdHJlYW1zLT5jb250
YWlucyhzdHJlYW0pKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2xvY2FsU3RyZWFtcy0+cmVt
b3ZlKHN0cmVhbSk7CisKKyAgICBtX3BlZXJIYW5kbGVyLT5yZW1vdmVTdHJlYW0oc3RyZWFtLT5k
ZXNjcmlwdG9yKCkpOworfQorCitNZWRpYVN0cmVhbUxpc3QqIFJUQ1BlZXJDb25uZWN0aW9uOjps
b2NhbFN0cmVhbXMoKSBjb25zdAoreworICAgIHJldHVybiBtX2xvY2FsU3RyZWFtcy5nZXQoKTsK
K30KKworTWVkaWFTdHJlYW1MaXN0KiBSVENQZWVyQ29ubmVjdGlvbjo6cmVtb3RlU3RyZWFtcygp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcmVtb3RlU3RyZWFtcy5nZXQoKTsKK30KKwogdm9pZCBS
VENQZWVyQ29ubmVjdGlvbjo6Y2xvc2UoRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKG1f
cmVhZHlTdGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2luZyB8fCBtX3JlYWR5U3RhdGUgPT0gUmVhZHlT
dGF0ZUNsb3NlZCkgewpAQCAtMTU4LDYgKzIxOSwzNiBAQCB2b2lkIFJUQ1BlZXJDb25uZWN0aW9u
OjpkaWRDaGFuZ2VSZWFkeVN0YXRlKFJlYWR5U3RhdGUgbmV3U3RhdGUpCiAgICAgY2hhbmdlUmVh
ZHlTdGF0ZShuZXdTdGF0ZSk7CiB9CiAKK3ZvaWQgUlRDUGVlckNvbm5lY3Rpb246OmRpZEFkZFJl
bW90ZVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gc3RyZWFtRGVzY3Jp
cHRvcikKK3sKKyAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5pc0NvbnRleHRU
aHJlYWQoKSk7CisKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IFJlYWR5U3RhdGVDbG9zZWQpCisg
ICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtID0gTWVkaWFT
dHJlYW06OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN0cmVhbURlc2NyaXB0b3Ip
OworICAgIG1fcmVtb3RlU3RyZWFtcy0+YXBwZW5kKHN0cmVhbSk7CisKKyAgICBkaXNwYXRjaEV2
ZW50KE1lZGlhU3RyZWFtRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYWRkc3RyZWFtRXZlbnQs
IGZhbHNlLCBmYWxzZSwgc3RyZWFtLnJlbGVhc2UoKSkpOworfQorCit2b2lkIFJUQ1BlZXJDb25u
ZWN0aW9uOjpkaWRSZW1vdmVSZW1vdGVTdHJlYW0oTWVkaWFTdHJlYW1EZXNjcmlwdG9yKiBzdHJl
YW1EZXNjcmlwdG9yKQoreworICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlz
Q29udGV4dFRocmVhZCgpKTsKKyAgICBBU1NFUlQoc3RyZWFtRGVzY3JpcHRvci0+b3duZXIoKSk7
CisKKyAgICBSZWZQdHI8TWVkaWFTdHJlYW0+IHN0cmVhbSA9IHN0YXRpY19jYXN0PE1lZGlhU3Ry
ZWFtKj4oc3RyZWFtRGVzY3JpcHRvci0+b3duZXIoKSk7CisgICAgc3RyZWFtLT5zdHJlYW1FbmRl
ZCgpOworCisgICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2VkKQorICAgICAg
ICByZXR1cm47CisKKyAgICBBU1NFUlQobV9yZW1vdGVTdHJlYW1zLT5jb250YWlucyhzdHJlYW0u
Z2V0KCkpKTsKKyAgICBtX3JlbW90ZVN0cmVhbXMtPnJlbW92ZShzdHJlYW0uZ2V0KCkpOworCisg
ICAgZGlzcGF0Y2hFdmVudChNZWRpYVN0cmVhbUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnJl
bW92ZXN0cmVhbUV2ZW50LCBmYWxzZSwgZmFsc2UsIHN0cmVhbS5yZWxlYXNlKCkpKTsKK30KKwog
Y29uc3QgQXRvbWljU3RyaW5nJiBSVENQZWVyQ29ubmVjdGlvbjo6aW50ZXJmYWNlTmFtZSgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JSVENQZWVyQ29ubmVj
dGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24uaAppbmRleCBjODIwOWQwYTY3MzRlNGIzMjE0ZTgyYzFhNzhmMGY5MDgw
NzdhNmU4Li5kNDEwNzQ2ZmI4MDY2NmRhYjVlYjU5MWFlOTNkOGIyMDYwNWYzZGE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi5oCkBAIC0zNyw2ICszNyw4IEBACiAjaW5jbHVkZSAiRGljdGlvbmFyeS5oIgogI2luY2x1
ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQmFzZS5oIgorI2luY2x1ZGUg
Ik1lZGlhU3RyZWFtLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1MaXN0LmgiCiAjaW5jbHVkZSAi
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgiCiAjaW5jbHVkZSAiUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTUzLDEzICs1
NSwyMiBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgcmVhZHlTdGF0ZSgpIGNvbnN0OwogCisgICAg
TWVkaWFTdHJlYW1MaXN0KiBsb2NhbFN0cmVhbXMoKSBjb25zdDsKKyAgICBNZWRpYVN0cmVhbUxp
c3QqIHJlbW90ZVN0cmVhbXMoKSBjb25zdDsKKyAgICB2b2lkIGFkZFN0cmVhbShjb25zdCBQYXNz
UmVmUHRyPE1lZGlhU3RyZWFtPiwgY29uc3QgRGljdGlvbmFyeSYgbWVkaWFDb25zdHJhaW50cywg
RXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgcmVtb3ZlU3RyZWFtKE1lZGlhU3RyZWFtKiwgRXhj
ZXB0aW9uQ29kZSYpOworCiAgICAgdm9pZCBjbG9zZShFeGNlcHRpb25Db2RlJik7CiAKICAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG9wZW4pOwogICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoc3RhdGVjaGFuZ2UpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoYWRkc3RyZWFtKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKHJlbW92ZXN0cmVhbSk7CiAKICAgICAvLyBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGll
bnQKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlUmVhZHlTdGF0ZShSZWFkeVN0YXRlKSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkUmVtb3RlU3RyZWFtKFBhc3NSZWZQdHI8TWVk
aWFTdHJlYW1EZXNjcmlwdG9yPikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92
ZVJlbW90ZVN0cmVhbShNZWRpYVN0cmVhbURlc2NyaXB0b3IqKSBPVkVSUklERTsKIAogICAgIC8v
IEV2ZW50VGFyZ2V0CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5h
bWUoKSBjb25zdCBPVkVSUklERTsKQEAgLTg3LDYgKzk4LDkgQEAgcHJpdmF0ZToKIAogICAgIFJl
YWR5U3RhdGUgbV9yZWFkeVN0YXRlOwogCisgICAgUmVmUHRyPE1lZGlhU3RyZWFtTGlzdD4gbV9s
b2NhbFN0cmVhbXM7CisgICAgUmVmUHRyPE1lZGlhU3RyZWFtTGlzdD4gbV9yZW1vdGVTdHJlYW1z
OworCiAgICAgT3duUHRyPFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcj4gbV9wZWVySGFuZGxlcjsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5pZGwKaW5kZXggOTAxM2YzNTk0Y2M3Y2VjYjA5ODBmMTM4NDg2MjQ4
ZDcxN2UyOTNiZi4uZGJmMDlmZTEyOTEyMWFhYzU5YjljYTQ3YjhlODI0ZWU5ZmZhMmIxNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi5pZGwKQEAgLTQwLDExICs0MCwyMSBAQCBtb2R1bGUgbWVkaWFzdHJlYW0gewog
ICAgIF0gUlRDUGVlckNvbm5lY3Rpb24gewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHJlYWR5U3RhdGU7CiAKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3Ry
ZWFtTGlzdCBsb2NhbFN0cmVhbXM7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYVN0
cmVhbUxpc3QgcmVtb3RlU3RyZWFtczsKKworICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2
b2lkIGFkZFN0cmVhbShpbiBNZWRpYVN0cmVhbSBzdHJlYW0sIGluIFtPcHRpb25hbD1EZWZhdWx0
SXNVbmRlZmluZWRdIERpY3Rpb25hcnkgbWVkaWFDb25zdHJhaW50cykKKyAgICAgICAgICAgIHJh
aXNlcyhET01FeGNlcHRpb24pOworICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkIHJl
bW92ZVN0cmVhbShpbiBNZWRpYVN0cmVhbSBzdHJlYW0pCisgICAgICAgICAgICByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKKwogICAgICAgICB2b2lkIGNsb3NlKCkKICAgICAgICAgICAgIHJhaXNlcyhE
T01FeGNlcHRpb24pOwogCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ub3BlbjsK
ICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zdGF0ZWNoYW5nZTsKKyAgICAgICAg
YXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25hZGRzdHJlYW07CisgICAgICAgIGF0dHJpYnV0ZSBF
dmVudExpc3RlbmVyIG9ucmVtb3Zlc3RyZWFtOwogCiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGlu
dGVyZmFjZQogICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9EaWN0aW9uYXJ5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0RpY3Rpb25hcnkuY3BwCmluZGV4IDhmYjAwZGM0
MjIyNDRlYmIxZGVlMDJkOGNkODc5MTlmOWNhOTNkYWEuLjVhMzZkNjJhNGJhYTNkMWRhMWE5MzIz
N2VjZDVlYzA3YjMxZjk3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0RpY3Rpb25hcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0RpY3Rpb25h
cnkuY3BwCkBAIC01NCw3ICs1NCw3IEBAIEpTT2JqZWN0KiBEaWN0aW9uYXJ5Ojphc0pTT2JqZWN0
PE5vdGlmaWNhdGlvbj4oTm90aWZpY2F0aW9uKiBvYmplY3QpIGNvbnN0CiB9CiAjZW5kaWYKIAot
Ym9vbCBEaWN0aW9uYXJ5OjpnZXRPd25Qcm9wZXJ0aWVzQXNTdHJpbmdIYXNoTWFwKFdURjo6SGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4mIG1hcCkgY29uc3QKK2Jvb2wgRGljdGlvbmFyeTo6Z2V0T3du
UHJvcGVydGllc0FzU3RyaW5nSGFzaE1hcChIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgbWFwKSBj
b25zdAogewogICAgIGlmICghbV9kaWN0aW9uYXJ5LmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtNzksNyArNzksNyBAQCBib29sIERpY3Rpb25hcnk6OmdldE93blByb3BlcnRp
ZXNBc1N0cmluZ0hhc2hNYXAoV1RGOjpIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgbQogICAgIHJl
dHVybiB0cnVlOwogfQogCi1ib29sIERpY3Rpb25hcnk6OmdldE93blByb3BlcnR5TmFtZXMoV1RG
OjpWZWN0b3I8U3RyaW5nPiYgbmFtZXMpIGNvbnN0Citib29sIERpY3Rpb25hcnk6OmdldE93blBy
b3BlcnR5TmFtZXMoVmVjdG9yPFN0cmluZz4mIG5hbWVzKSBjb25zdAogewogICAgIGlmICghbV9k
aWN0aW9uYXJ5LmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNwcAppbmRleCAzYWY2MzMwYjJmZTFkZDI5N2UwZTZk
ZjY0YzM4NDlmYzRjODkxNDBlLi4xODc0MDNmY2RhNDMzMTVhNTA0ZmQ3MzZkYzhlZTc2YTY1NTRh
YWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNwcApAQCAtNDY3
LDcgKzQ2Nyw3IEBAIGJvb2wgRGljdGlvbmFyeTo6Z2V0KGNvbnN0IFN0cmluZyYga2V5LCBBcnJh
eVZhbHVlJiB2YWx1ZSkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBEaWN0aW9u
YXJ5OjpnZXRPd25Qcm9wZXJ0aWVzQXNTdHJpbmdIYXNoTWFwKFdURjo6SGFzaE1hcDxTdHJpbmcs
IFN0cmluZz4mIGhhc2hNYXApIGNvbnN0Citib29sIERpY3Rpb25hcnk6OmdldE93blByb3BlcnRp
ZXNBc1N0cmluZ0hhc2hNYXAoSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIGhhc2hNYXApIGNvbnN0
CiB7CiAgICAgaWYgKCFpc09iamVjdCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00OTQs
NyArNDk0LDcgQEAgYm9vbCBEaWN0aW9uYXJ5OjpnZXRPd25Qcm9wZXJ0aWVzQXNTdHJpbmdIYXNo
TWFwKFdURjo6SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIGgKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotYm9vbCBEaWN0aW9uYXJ5OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKFdURjo6VmVjdG9yPFN0cmlu
Zz4mIG5hbWVzKSBjb25zdAorYm9vbCBEaWN0aW9uYXJ5OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKFZl
Y3RvcjxTdHJpbmc+JiBuYW1lcykgY29uc3QKIHsKICAgICBpZiAoIWlzT2JqZWN0KCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L0RpY3Rpb25hcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RpY3Rpb25hcnkuaApp
bmRleCA3NjdkNDQ4MTU1MTVkMmQ3YWJjYzQ1YjgxMTY4ZTg3MjY3MDJkMGY2Li5jYTFiNDBhZjFk
NTg4NjFkNjY0YzI5YjgyYTg2OGI5Y2UzYzlkNTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvRGljdGlvbmFyeS5oCkBAIC04OSw4ICs4OSw4IEBAIHB1YmxpYzoKICAgICBib29sIGdldChj
b25zdCBTdHJpbmcmLCBWZWN0b3I8U3RyaW5nPiYpIGNvbnN0OwogICAgIGJvb2wgZ2V0KGNvbnN0
IFN0cmluZyYsIEFycmF5VmFsdWUmKSBjb25zdDsKIAotICAgIGJvb2wgZ2V0T3duUHJvcGVydGll
c0FzU3RyaW5nSGFzaE1hcChXVEY6Okhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JikgY29uc3Q7Ci0g
ICAgYm9vbCBnZXRPd25Qcm9wZXJ0eU5hbWVzKFdURjo6VmVjdG9yPFN0cmluZz4mKSBjb25zdDsK
KyAgICBib29sIGdldE93blByb3BlcnRpZXNBc1N0cmluZ0hhc2hNYXAoSGFzaE1hcDxTdHJpbmcs
IFN0cmluZz4mKSBjb25zdDsKKyAgICBib29sIGdldE93blByb3BlcnR5TmFtZXMoVmVjdG9yPFN0
cmluZz4mKSBjb25zdDsKIAogICAgIGJvb2wgZ2V0V2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrKGNv
bnN0IFN0cmluZyYsIFN0cmluZyYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
LmNwcAppbmRleCAwNThhYTE4Njc0NzQ0Y2QxOThiZjZjM2I5NmQ0MzkyNTlmYmE4ZTUzLi4wMDBk
M2EzM2YyZjExZDRjN2U5Yzk5NGUzMTZhNThmZTQ3MWUxNjdhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlci5jcHAKQEAgLTQ3LDYgKzQ3LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgflJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlckR1bW15KCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaW5pdGlh
bGl6ZShQYXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3Ry
YWludHM+KSBPVkVSUklERTsKKworICAgIHZpcnR1YWwgYm9vbCBhZGRTdHJlYW0oUGFzc1JlZlB0
cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+KSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFT
dHJlYW1EZXNjcmlwdG9yPikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSBPVkVS
UklERTsKIAogcHJpdmF0ZToKQEAgLTczLDYgKzc2LDE1IEBAIGJvb2wgUlRDUGVlckNvbm5lY3Rp
b25IYW5kbGVyRHVtbXk6OmluaXRpYWxpemUoUGFzc1JlZlB0cjxSVENDb25maWd1cmF0aW9uPiwg
UGFzCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ckR1bW15OjphZGRTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+LCBQYXNz
UmVmUHRyPE1lZGlhQ29uc3RyYWludHM+KQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9p
ZCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJEdW1teTo6cmVtb3ZlU3RyZWFtKFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1EZXNjcmlwdG9yPikKK3sKK30KKwogdm9pZCBSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXJEdW1teTo6c3RvcCgpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oCmluZGV4
IDc1NThmMmUxNmE1YTdlMDdkYjczYjM4ZWNjZmRjOWJkY2FjMWM1NWQuLjY5ZTM0ODAzMWRkZjc4
ODc1ZWNiYTRkN2RiZjNhNzBmNTk2ZTYyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5o
CkBAIC0zMyw2ICszMyw3IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCisjaW5jbHVk
ZSAiTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCkBAIC00OCw2ICs0OSw5IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIH5SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIoKSB7IH0KIAogICAgIHZpcnR1
YWwgYm9vbCBpbml0aWFsaXplKFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlvbj4sIFBhc3NSZWZQ
dHI8TWVkaWFDb25zdHJhaW50cz4pID0gMDsKKworICAgIHZpcnR1YWwgYm9vbCBhZGRTdHJlYW0o
UGFzc1JlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3Ry
YWludHM+KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZVN0cmVhbShQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtRGVzY3JpcHRvcj4pID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpID0gMDsK
IAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaAppbmRl
eCBmOTYwYjg3ODdmZmQ5Yzk3N2U2NDA2MzI0MzI1MGQyMzU0OGRjODBkLi44ODk5ODY3NmY3MzEy
NzkzZGM1YzRmMzY1YzFlNDlkOGU5ZDExYTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXJDbGllbnQuaApAQCAtMzMsOCArMzMsMTIgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK2NsYXNzIE1lZGlhU3RyZWFtRGVzY3JpcHRvcjsKKwogY2xhc3MgUlRDUGVlckNvbm5lY3Rp
b25IYW5kbGVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICBlbnVtIFJlYWR5U3RhdGUgewpAQCAtNDgs
NiArNTIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlUmVhZHlTdGF0ZShSZWFk
eVN0YXRlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZEFkZFJlbW90ZVN0cmVhbShQYXNzUmVm
UHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVt
b3ZlUmVtb3RlU3RyZWFtKE1lZGlhU3RyZWFtRGVzY3JpcHRvciopID0gMDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlckNocm9taXVtLmNwcAppbmRleCBkMmNkNTQ1MjcwZDY5NGE0ODUyMzNkOWM0
YmExMmNlNWJmMmUyMDgyLi45NGE5OTgzODNmNjNiZTRmZmYxZmQ4ODA4ZTNkM2YxYzQ1ODA2ZTY0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1
bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2hyb21pdW0uY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiUlRDUGVlckNvbm5lY3Rp
b25IYW5kbGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CiAjaW5jbHVk
ZSA8cHVibGljL1dlYk1lZGlhQ29uc3RyYWludHMuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViTWVk
aWFTdHJlYW1EZXNjcmlwdG9yLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlJUQ0NvbmZpZ3VyYXRp
b24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC02NSw2ICs2NiwyMiBAQCBi
b29sIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtOjppbml0aWFsaXplKFBhc3NSZWZQ
dHI8UlRDQ29uZmlndXJhdGlvbj4gYwogICAgIHJldHVybiBtX3dlYkhhbmRsZXIgPyBtX3dlYkhh
bmRsZXItPmluaXRpYWxpemUoY29uZmlndXJhdGlvbiwgY29uc3RyYWludHMpIDogZmFsc2U7CiB9
CiAKK2Jvb2wgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmFkZFN0cmVhbShQYXNz
UmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gbWVkaWFTdHJlYW0sIFBhc3NSZWZQdHI8TWVk
aWFDb25zdHJhaW50cz4gY29uc3RyYWludHMpCit7CisgICAgaWYgKCFtX3dlYkhhbmRsZXIpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBtX3dlYkhhbmRsZXItPmFkZFN0cmVh
bShtZWRpYVN0cmVhbSwgY29uc3RyYWludHMpOworfQorCit2b2lkIFJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNocm9taXVtOjpyZW1vdmVTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbURlc2Ny
aXB0b3I+IG1lZGlhU3RyZWFtKQoreworICAgIGlmICghbV93ZWJIYW5kbGVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBtX3dlYkhhbmRsZXItPnJlbW92ZVN0cmVhbShtZWRpYVN0cmVhbSk7Cit9
CisKIHZvaWQgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OnN0b3AoKQogewogICAg
IGlmICghbV93ZWJIYW5kbGVyKQpAQCAtNzgsNiArOTUsMTYgQEAgdm9pZCBSVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDaHJvbWl1bTo6ZGlkQ2hhbmdlUmVhZHlTdGF0ZShXZWJLaXQ6OldlYlJUQ1Bl
ZXJDb24KICAgICBtX2NsaWVudC0+ZGlkQ2hhbmdlUmVhZHlTdGF0ZShzdGF0aWNfY2FzdDxSVENQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlJlYWR5U3RhdGU+KHN0YXRlKSk7CiB9CiAKK3Zv
aWQgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmRpZEFkZFJlbW90ZVN0cmVhbShj
b25zdCBXZWJLaXQ6OldlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYgd2ViTWVkaWFTdHJlYW1EZXNj
cmlwdG9yKQoreworICAgIG1fY2xpZW50LT5kaWRBZGRSZW1vdGVTdHJlYW0od2ViTWVkaWFTdHJl
YW1EZXNjcmlwdG9yKTsKK30KKwordm9pZCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1
bTo6ZGlkUmVtb3ZlUmVtb3RlU3RyZWFtKGNvbnN0IFdlYktpdDo6V2ViTWVkaWFTdHJlYW1EZXNj
cmlwdG9yJiB3ZWJNZWRpYVN0cmVhbURlc2NyaXB0b3IpCit7CisgICAgbV9jbGllbnQtPmRpZFJl
bW92ZVJlbW90ZVN0cmVhbSh3ZWJNZWRpYVN0cmVhbURlc2NyaXB0b3IpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtLmgKaW5k
ZXggNjlmYzI0ZDMzNWVkMDJhOTUwY2MwYTY3MTA5YzdiNjViZjZhNmUxMC4uYmExZDcyNzIzYWRl
Mjg4NDkwOWQwY2EyMDU0YzdiZDhlODZmMzg3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hy
b21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1
bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5oCkBAIC0zMywxMiArMzMsMTcgQEAK
IAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyNpbmNsdWRlICJNZWRpYVN0cmVhbURlc2Ny
aXB0b3IuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaCIKICNpbmNsdWRl
IDxwdWJsaWMvV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8cHVibGlj
L1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCituYW1lc3BhY2UgV2ViS2l0IHsK
K2NsYXNzIFdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvcjsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bSA6IHB1YmxpYyBSVENQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXIsIHB1YmxpYyBXZWJLaXQ6OldlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudCB7CkBAIC00NywxMCArNTIsMTUgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
flJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wg
aW5pdGlhbGl6ZShQYXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+LCBQYXNzUmVmUHRyPE1lZGlh
Q29uc3RyYWludHM+KSBPVkVSUklERTsKKworICAgIHZpcnR1YWwgYm9vbCBhZGRTdHJlYW0oUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlU3RyZWFtKFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1EZXNjcmlwdG9yPikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHN0b3Ao
KSBPVkVSUklERTsKIAogICAgIC8vIFdlYktpdDo6V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50IGltcGxlbWVudGF0aW9uLgogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VSZWFkeVN0
YXRlKFdlYktpdDo6V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpSZWFkeVN0YXRl
KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkUmVtb3RlU3RyZWFtKGNvbnN0IFdl
YktpdDo6V2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yJikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIGRpZFJlbW92ZVJlbW90ZVN0cmVhbShjb25zdCBXZWJLaXQ6OldlYk1lZGlhU3RyZWFtRGVz
Y3JpcHRvciYpIE9WRVJSSURFOwogCiBwcml2YXRlOgogICAgIE93blB0cjxXZWJLaXQ6OldlYlJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlcj4gbV93ZWJIYW5kbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAppbmRleCA4ZWYzZmUyZDJj
YmJkODkyN2E2MjdiMGY0NzY1MTg0ZTlmYTE1OWIzLi40NTU0OGY2YTVhYjI1NGFjNmZlZWQ3M2Jm
MDU2YzQ0ZDZmYTQzNTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9B
c3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9B
c3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMTA5LDEzICsxMDksMTMgQEAKICNpbmNsdWRlICJX
ZWJUZXh0Q2hlY2tpbmdSZXN1bHQuaCIKICNpbmNsdWRlICJXZWJUZXh0Q2hlY2tpbmdUeXBlLmgi
CiAjaW5jbHVkZSAiV2ViVmlldy5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYklDRU9wdGlvbnMu
aCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJNZWRpYVN0cmVhbVNvdXJjZS5oIgotI2luY2x1ZGUg
InBsYXRmb3JtL1dlYlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmgiCi0jaW5jbHVkZSAicGxhdGZv
cm0vV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaCIKICNpbmNsdWRlIDxwdWJsaWMv
V2ViQ2xpcGJvYXJkLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVTeXN0ZW0uaD4KICNpbmNs
dWRlIDxwdWJsaWMvV2ViRmlsdGVyT3BlcmF0aW9uLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYklD
RU9wdGlvbnMuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViTWVkaWFTdHJlYW1Tb3VyY2UuaD4KKyNp
bmNsdWRlIDxwdWJsaWMvV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXIuaD4KKyNpbmNsdWRlIDxw
dWJsaWMvV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaD4KICNpbmNsdWRlIDxwdWJs
aWMvV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJSZWZl
cnJlclBvbGljeS5oPgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDY3ODY1YmEzZjExY2E1ZmUwODE1NDAyOTNjYTNlZGU3OTExZDE0MTAuLjg0ODUy
ZjczYTJiOTU4N2FmYTgwNjhiYzMxYmM2YzU5OTg5OWQ1NDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wOC0z
MSAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRp
YVN0cmVhbSBBUEk6IEFkZCBNZWRpYVN0cmVhbSBtYW5hZ2VtZW50IHRvIFJUQ1BlZXJDb25uZWN0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU0
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4dGVu
ZGluZyBNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyIHRvIGhhbmRsZSBhZGRTdHJlYW0v
cmVtb3ZlU3RyZWFtLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dl
YlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHA6CisgICAgICAgIChNb2NrV2ViUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyOjpNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKToKKyAgICAg
ICAgKE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmFkZFN0cmVhbSk6CisgICAgICAg
IChNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpyZW1vdmVTdHJlYW0pOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRs
ZXIuaDoKKyAgICAgICAgKE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIpOgorCiAyMDEy
LTA4LTMwICBYaWFuemh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW0Nocm9taXVtLUFuZHJvaWRdIFNraXAgY29tcG9zaXRpbmcvd2ViZ2wgYW5kIHBsYXRmb3Jt
L2Nocm9taXVtL3ZpcnR1YWwvdGhyZWFkZWQvY29tcG9zaXRpbmcvd2ViZ2wgdGVzdHMKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKaW5kZXggNjBiNjkwNGFhM2E4Y2ZmNzA5ZmVkYmU4
ZDU2Y2I2OTJiOTliNzZmZC4uNzYxMDg0MjUyNGU1ZmE3MzcyNjczY2M5NGIyOTBmM2M4OWYyMzQ1
OSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKQEAgLTQxLDYgKzQxLDcgQEAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRs
ZXI6Ok1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIoV2ViUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyQ2xpZW50KiBjbGllbnQpCisgICAgOiBtX2NsaWVudChjbGllbnQpCiB7CiB9CiAKQEAg
LTg1LDYgKzg2LDE3IEBAIGJvb2wgTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6aW5p
dGlhbGl6ZShjb25zdCBXZWJSVENDb25maWd1cmF0aW9uJiwgY29uCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK2Jvb2wgTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6YWRkU3RyZWFtKGNv
bnN0IFdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYgc3RyZWFtLCBjb25zdCBXZWJNZWRpYUNvbnN0
cmFpbnRzJikKK3sKKyAgICBtX2NsaWVudC0+ZGlkQWRkUmVtb3RlU3RyZWFtKHN0cmVhbSk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
cjo6cmVtb3ZlU3RyZWFtKGNvbnN0IFdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYgc3RyZWFtKQor
eworICAgIG1fY2xpZW50LT5kaWRSZW1vdmVSZW1vdGVTdHJlYW0oc3RyZWFtKTsKK30KKwogdm9p
ZCBNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpzdG9wKCkKIHsKIH0KZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVyQ29ubmVjdGlv
bkhhbmRsZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXIuaAppbmRleCAwMTYyYmRiODUwYzMwNjYzZWM2NWQzMzcwNGFhY2U5
ZWQ0ODhhMDE3Li44ODQ1MDdlNjc2YTYyZjIzYTZkMjM3OWU3MGIyZTZmZTA3YzVmZWRjIDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9Nb2NrV2ViUlRDUGVlckNvbm5l
Y3Rpb25IYW5kbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dl
YlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oCkBAIC00NCwxMCArNDQsMTQgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCBib29sIGluaXRpYWxpemUoY29uc3QgV2ViS2l0OjpXZWJSVENDb25maWd1
cmF0aW9uJiwgY29uc3QgV2ViS2l0OjpXZWJNZWRpYUNvbnN0cmFpbnRzJikgT1ZFUlJJREU7CiAK
KyAgICB2aXJ0dWFsIGJvb2wgYWRkU3RyZWFtKGNvbnN0IFdlYktpdDo6V2ViTWVkaWFTdHJlYW1E
ZXNjcmlwdG9yJiwgY29uc3QgV2ViS2l0OjpXZWJNZWRpYUNvbnN0cmFpbnRzJikgT1ZFUlJJREU7
CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZVN0cmVhbShjb25zdCBXZWJLaXQ6OldlYk1lZGlhU3Ry
ZWFtRGVzY3JpcHRvciYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgT1ZFUlJJ
REU7CiAKIHByaXZhdGU6CiAgICAgTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcigpIHsg
fQorCisgICAgV2ViS2l0OjpXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQqIG1fY2xp
ZW50OwogfTsKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTM3ODkx
YzRiNTAwYTFiZWU5ODUxN2RiZDhlNmI4NjBmN2Y1Nzc3NS4uOGE4NzRlZDg4NmE1MzgwNGY3YWNi
YmM5MWI3MTEyY2VjMThlM2UzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA4LTMxICBU
b21teSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3Ry
ZWFtIEFQSTogQWRkIE1lZGlhU3RyZWFtIG1hbmFnZW1lbnQgdG8gUlRDUGVlckNvbm5lY3Rpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NTQzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLUFkZFJlbW92ZVN0cmVhbS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tQWRk
UmVtb3ZlU3RyZWFtLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA4LTMxICBBbmRyZXkgQWRhaWtpbiAg
PGFhbmRyZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtRdF0gTmV3IGluc3BlY3Rvci9wcm9m
aWxlci93ZWJnbC1wcm9maWxlci1hcGktY2hhbmdlcy5odG1sIHRpbWVzIG91dApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1BZGRSZW1v
dmVTdHJlYW0tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi1BZGRSZW1vdmVTdHJlYW0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNi
NTJmM2YxZTg4Mjg3NDViMWJiZjZjZjFjZWJmMDBiODMwYWY4NmYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLUFkZFJlbW92
ZVN0cmVhbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdHMgUlRDUGVlckNvbm5l
Y3Rpb24gW2FkZHxyZW1vdmVdU3RyZWFtLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBHb3QgYSBzdHJlYW0uCitQQVNTIG9uQWRkU3RyZWFtIHdhcyBjYWxsZWQuCitQQVNT
IG9uUmVtb3ZlU3RyZWFtIHdhcyBjYWxsZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1BZGRSZW1vdmVTdHJlYW0uaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tQWRkUmVtb3ZlU3RyZWFtLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDljMWY0YTY5YzBiMmQyMGExNjg3Zjg2MzEyNTkwMDkzNWE3ZDBlNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24tQWRkUmVtb3ZlU3RyZWFtLmh0bWwKQEAgLTAsMCArMSw1NyBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIFJUQ1BlZXJDb25uZWN0
aW9uIFthZGR8cmVtb3ZlXVN0cmVhbS4iKTsKKwordmFyIHN0cmVhbSA9IG51bGw7Cit2YXIgcGMg
PSBudWxsOworCitmdW5jdGlvbiBlcnJvcigpIHsKKyAgICB0ZXN0RmFpbGVkKCdTdHJlYW0gZ2Vu
ZXJhdGlvbiBmYWlsZWQuJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIGdl
dFVzZXJNZWRpYShkaWN0aW9uYXJ5LCBjYWxsYmFjaykgeworICAgIHRyeSB7CisgICAgICAgIG5h
dmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoZGljdGlvbmFyeSwgY2FsbGJhY2ssIGVycm9yKTsK
KyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIHRlc3RGYWlsZWQoJ3dlYmtpdEdldFVzZXJNZWRp
YSB0aHJldyBleGNlcHRpb24gOicgKyBlKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
fQorfQorCitmdW5jdGlvbiBvblJlbW92ZVN0cmVhbShldmVudCkgeworICAgIHRlc3RQYXNzZWQo
J29uUmVtb3ZlU3RyZWFtIHdhcyBjYWxsZWQuJyk7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30K
KworZnVuY3Rpb24gb25BZGRTdHJlYW0oZXZlbnQpIHsKKyAgICB0ZXN0UGFzc2VkKCdvbkFkZFN0
cmVhbSB3YXMgY2FsbGVkLicpOworCisgICAgcGMucmVtb3ZlU3RyZWFtKHN0cmVhbSk7Cit9CisK
K2Z1bmN0aW9uIGdvdFN0cmVhbShzKSB7CisgICAgdGVzdFBhc3NlZCgnR290IGEgc3RyZWFtLicp
OworICAgIHN0cmVhbSA9IHM7CisKKyAgICBwYyA9IG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlv
bihudWxsLCBudWxsKTsKKyAgICBwYy5vbmFkZHN0cmVhbSA9IG9uQWRkU3RyZWFtOworICAgIHBj
Lm9ucmVtb3Zlc3RyZWFtID0gb25SZW1vdmVTdHJlYW07CisKKyAgICBwYy5hZGRTdHJlYW0oc3Ry
ZWFtKTsKK30KKworZ2V0VXNlck1lZGlhKHthdWRpbzp0cnVlLCB2aWRlbzp0cnVlfSwgZ290U3Ry
ZWFtKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>