<?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>81079</bug_id>
          
          <creation_ts>2012-03-13 22:47:46 -0700</creation_ts>
          <short_desc>REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard</short_desc>
          <delta_ts>2012-03-15 13:23:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Alan Tam">Tam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>beidson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>578173</commentid>
    <comment_count>0</comment_count>
      <attachid>131790</attachid>
    <who name="Alan Tam">Tam</who>
    <bug_when>2012-03-13 22:47:46 -0700</bug_when>
    <thetext>Created attachment 131790
test case

Open the attached html, and hit Cmd-C and then Cmd-V.
Expected: Hello and World are shown. Actual: Only World is shown.
The html calls evt.clipboardData.setData() twice on two mime types, and &quot;Clipboard Viewer&quot; reveals that the latter overwrites the former.

WebKit trunk has regressed as follows:
* r107802: works
* r107978 to r109142: the left output shows undefined
* r109209 onwards: the left output shows empty string</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578540</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-03-14 10:33:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/11047262&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579437</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-15 09:24:47 -0700</bug_when>
    <thetext>The first breakage was caused by http://trac.webkit.org/changeset/107844

After that revision, the clipboard only remembers the most recent data set on it.

Further breakage was caused in http://trac.webkit.org/changeset/109176 which is what caused &quot;undefined&quot; to start returning empty/null</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579438</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-15 09:25:14 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; The first breakage was caused by http://trac.webkit.org/changeset/107844
&gt; 
&gt; After that revision, the clipboard only remembers the most recent data set on it.
&gt; 
&gt; Further breakage was caused in http://trac.webkit.org/changeset/109176 which is what caused &quot;undefined&quot; to start returning empty/null

I&apos;m working on the first break right now, I&apos;ll file a second bugzilla when it&apos;s time to work on the second break.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579445</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-15 09:42:38 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; The first breakage was caused by http://trac.webkit.org/changeset/107844
&gt; &gt; 
&gt; &gt; After that revision, the clipboard only remembers the most recent data set on it.
&gt; &gt; 
&gt; &gt; Further breakage was caused in http://trac.webkit.org/changeset/109176 which is what caused &quot;undefined&quot; to start returning empty/null
&gt; 
&gt; I&apos;m working on the first break right now, I&apos;ll file a second bugzilla when it&apos;s time to work on the second break.

Nevermind, http://trac.webkit.org/changeset/109176 was an intentional change to match the spec.  Great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579454</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-15 09:52:15 -0700</bug_when>
    <thetext>The key change was in ClipboardMac::setData.

Before r107844 ClipboardMac::setData used the NSPasteBoard API [NSPasteBoard addTypes:owner:] which takes an array of types to add, and adds them to the already existing pasteboard types.

In r107844 and later, ClipboardMac::setData does the following:
-Uses the PlatformStrategies method &quot;setTypes&quot; to pass off the new types to add.  Notice the method name is notably wrong.
-The WebKit Platform Strategies turn around and all PlatformPasteboard::setTypes().  Notice the method name is notably wrong.
-PlatformPasteboardMac::setTypes() uses the NSPasteBoard API  [NSPasteBoard declareTypes:owner:] which explicitly clears all previous contents and adds only the included types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579618</commentid>
    <comment_count>6</comment_count>
      <attachid>132098</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-15 12:08:51 -0700</bug_when>
    <thetext>Created attachment 132098
Patch with layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579673</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-15 13:23:57 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/110880</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>131790</attachid>
            <date>2012-03-13 22:47:46 -0700</date>
            <delta_ts>2012-03-13 22:47:46 -0700</delta_ts>
            <desc>test case</desc>
            <filename>simple.html</filename>
            <type>text/html</type>
            <size>1163</size>
            <attacher name="Alan Tam">Tam</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KICAgIENtZC1DIGFuZCB0aGVuIENtZC1WLiBF
eHBlY3RlZDogIkhlbGxvIiBhbmQgIldvcmxkIi4KICAgIDxicj4KICAgIERhdGEgdG8gY29weTog
PGlucHV0IGlkPSJ0ZXh0YXJlYSIgdmFsdWU9J3NlbGVjdCBtZSB0byBjb3B5Jz4KICAgIDxicj4K
ICAgIERhdGEgMTogPGlucHV0IGlkPSJkYXRhMSI+CiAgICBEYXRhIDI6IDxpbnB1dCBpZD0iZGF0
YTIiPgogICAgPHNjcmlwdD4KICAgIFRZUEUxID0gJ2FwcGxpY2F0aW9uL2pzb24nOwogICAgVFlQ
RTIgPSAndGV4dC9wbGFpbic7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGV4dGFyZWEn
KS5zZWxlY3QoKTsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NvcHknLCBmdW5jdGlv
biAoZXZ0KSB7CiAgICAgICAgaWYgKGV2dC5jbGlwYm9hcmREYXRhKSB7CiAgICAgICAgICAgIGNv
bnNvbGUubG9nKCdjb3B5Jyk7CiAgICAgICAgICAgIGV2dC5jbGlwYm9hcmREYXRhLnNldERhdGEo
VFlQRTEsICdIZWxsbycpOwogICAgICAgICAgICBldnQuY2xpcGJvYXJkRGF0YS5zZXREYXRhKFRZ
UEUyLCAnV29ybGQnKTsKICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRhMScpLnZhbHVlID0gJyc7CiAgICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRhMicpLnZhbHVlID0gJyc7CiAgICAgICAg
fQogICAgfSk7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdwYXN0ZScsIGZ1bmN0aW9u
IChldnQpIHsKICAgICAgICBpZiAoZXZ0LmNsaXBib2FyZERhdGEpIHsKICAgICAgICAgICAgY29u
c29sZS5sb2coJ3Bhc3RlLCB0eXBlczonLCBldnQuY2xpcGJvYXJkRGF0YS50eXBlcyk7CiAgICAg
ICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZGF0YTEnKS52YWx1ZSA9IGV2dC5jbGlwYm9hcmREYXRhLmdldERhdGEoVFlQRTEp
OwogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YTInKS52YWx1ZSA9IGV2
dC5jbGlwYm9hcmREYXRhLmdldERhdGEoVFlQRTIpOwogICAgICAgIH0KICAgIH0pOwogICAgPC9z
Y3JpcHQ+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132098</attachid>
            <date>2012-03-15 12:08:51 -0700</date>
            <delta_ts>2012-03-15 13:13:25 -0700</delta_ts>
            <desc>Patch with layout test</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>16900</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlZTcyODI1Li5iZTJlODM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDMt
MTUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8xMTAzNjkwMD4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MTA3OQorICAgICAgICBSRUdSRVNTSU9OKHIxMDc4NDQpOiBDbGlwYm9hcmQgQVBJIG9u
bHkgcmVtZW1iZXJzIG1vc3QgcmVjZW50IGRhdGEgc2V0IG9uIGNsaXBib2FyZAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL2NvcHktdHdvLXBhc3RlYm9hcmQtdHlwZXMtYm90aC13b3JrLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktdHdvLXBhc3RlYm9hcmQtdHlw
ZXMtYm90aC13b3JrLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTE0ICBBZGFtIEJhcnRoICA8YWJh
cnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSSd2ZSBhbHJlYWR5IHVwZGF0ZWQgdGhlIGJhc2Vs
aW5lcyBmb3IgdGhpcyB0ZXN0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL2NvcHktdHdvLXBhc3RlYm9hcmQtdHlwZXMtYm90aC13b3JrLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXR3by1wYXN0ZWJvYXJkLXR5cGVz
LWJvdGgtd29yay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uOWQyNzczYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9jb3B5LXR3by1wYXN0ZWJvYXJkLXR5cGVzLWJvdGgtd29yay1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitDb3B5IHRoZW4gcGFzdGUuIFRoZSBvdXRwdXQgc2hvdWxkIHJlYWQgIkZv
b0JhciIKKworRGF0YSB0byBjb3B5OiAKK0RhdGEgcGFzdGVkOgorRm9vQmFyCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvY29weS10d28tcGFzdGVib2FyZC10eXBl
cy1ib3RoLXdvcmsuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXR3
by1wYXN0ZWJvYXJkLXR5cGVzLWJvdGgtd29yay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjAzNmE5ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvY29weS10d28tcGFzdGVib2FyZC10eXBlcy1ib3RoLXdvcmsuaHRtbApA
QCAtMCwwICsxLDQ3IEBACis8aHRtbD4gCis8aGVhZD4KKworPHNjcmlwdCBzcmM9Li4vZWRpdGlu
Zy5qcz48L3NjcmlwdD4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisJbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQorCit2YXIgdHlwZTEgPSAnYXBwbGljYXRp
b24vanNvbic7Cit2YXIgdHlwZTIgPSAndGV4dC9wbGFpbic7CisKK2RvY3VtZW50LmFkZEV2ZW50
TGlzdGVuZXIoJ2NvcHknLCBmdW5jdGlvbiAoZXZ0KXsKKyAgICBpZiAoZXZ0LmNsaXBib2FyZERh
dGEpIHsKKyAgICAgICAgZXZ0LmNsaXBib2FyZERhdGEuc2V0RGF0YSh0eXBlMSwgJ0ZvbycpOwor
ICAgICAgICBldnQuY2xpcGJvYXJkRGF0YS5zZXREYXRhKHR5cGUyLCAnQmFyJyk7CisgICAgICAg
IGV2dC5wcmV2ZW50RGVmYXVsdCgpOworICAgIH0KK30pOworCitkb2N1bWVudC5hZGRFdmVudExp
c3RlbmVyKCdwYXN0ZScsIGZ1bmN0aW9uIChldnQpIHsKKyAgICBpZiAoZXZ0LmNsaXBib2FyZERh
dGEpIHsKKyAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7CisJCWRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdvdXRwdXQnKS5pbm5lclRleHQgPSBldnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKHR5
cGUxKSArIGV2dC5jbGlwYm9hcmREYXRhLmdldERhdGEodHlwZTIpOworICAgIH0KKworCWlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisJCWxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKK30pOworCitmdW5jdGlvbiBsb2FkZWQoKQoreworCWRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdpbnB1dCcpLnNlbGVjdCgpOworCWNvcHlDb21tYW5kKCk7CisJcGFzdGVDb21tYW5k
KCk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPiAKKzxib2R5IG9ubG9hZD0ibG9hZGVkKCk7Ij4K
K0NvcHkgdGhlbiBwYXN0ZS4gIFRoZSBvdXRwdXQgc2hvdWxkIHJlYWQgIkZvb0JhciI8YnI+PGJy
PgorRGF0YSB0byBjb3B5OiA8aW5wdXQgaWQ9ImlucHV0IiB2YWx1ZT0nSGVsbG8gV29ybGQnPjxi
cj4KK0RhdGEgcGFzdGVkOjxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggZDEzN2RjZC4uYTM3YmQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDEyLTAzLTE1ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzY5MDA+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODEwNzkKKyAgICAgICAgUkVHUkVTU0lPTihyMTA3ODQ0KTogQ2xp
cGJvYXJkIEFQSSBvbmx5IHJlbWVtYmVycyBtb3N0IHJlY2VudCBkYXRhIHNldCBvbiBjbGlwYm9h
cmQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS10d28tcGFzdGVib2FyZC10eXBlcy1ib3RoLXdvcmsu
aHRtbAorCisgICAgICAgIEFkZCB0aGUgbm9uLWRlc3RydWN0aXZlICJhZGRUeXBlcyIgdG8gc3Vw
cGxlbWVudCB0aGUgZGVzdHJ1Y3RpdmUgInNldFR5cGVzIgorICAgICAgICAqIHBsYXRmb3JtL1Bh
c3RlYm9hcmRTdHJhdGVneS5oOgorICAgICAgICAoUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQuaDoKKyAgICAgICAgKFBsYXRmb3JtUGFz
dGVib2FyZCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1BsYXRmb3JtUGFzdGVib2FyZE1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6YWRkVHlwZXMpOgorICAg
ICAgICAqIFdlYkNvcmUuZXhwLmluOgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL0NsaXBib2Fy
ZE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZE1hYzo6c2V0RGF0YSk6IENhbGwg
dGhlIG5vbi1kZXN0cnVjdGl2ZSAiYWRkVHlwZXMiIGluc3RlYWQgb2YKKyAgICAgICAgICB0aGUg
ZGVzdHJ1Y3RpdmUgInNldFR5cGVzIgorCiAyMDEyLTAzLTE0ICBCcmFkeSBFaWRzb24gIDxiZWlk
c29uQGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwNDU1ODQ+IGFuZCBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODExNjYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KaW5kZXggMjNiMjViNy4uZDJmOWFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTU0
Niw2ICs1NDYsNyBAQCBfX1pON1dlYkNvcmUxOFBsYXRmb3JtUGFzdGVib2FyZDEzYnVmZmVyRm9y
VHlwZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE4UGxhdGZvcm1QYXN0ZWJvYXJkMTNz
dHJpbmdGb3JUeXBlRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMThQbGF0Zm9ybVBhc3Rl
Ym9hcmQxOXNldFBhdGhuYW1lc0ZvclR5cGVFUktOM1dURjZWZWN0b3JJTlMxXzZTdHJpbmdFTG0w
RUVFUktTM18KIF9fWk43V2ViQ29yZTE4UGxhdGZvcm1QYXN0ZWJvYXJkMTlnZXRQYXRobmFtZXNG
b3JUeXBlRVJOM1dURjZWZWN0b3JJTlMxXzZTdHJpbmdFTG0wRUVFUktTM18KK19fWk43V2ViQ29y
ZTE4UGxhdGZvcm1QYXN0ZWJvYXJkOGFkZFR5cGVzRVJLTjNXVEY2VmVjdG9ySU5TMV82U3RyaW5n
RUxtMEVFRQogX19aTjdXZWJDb3JlMThQbGF0Zm9ybVBhc3RlYm9hcmQ4c2V0VHlwZXNFUktOM1dU
RjZWZWN0b3JJTlMxXzZTdHJpbmdFTG0wRUVFCiBfX1pON1dlYkNvcmUxOFBsYXRmb3JtUGFzdGVi
b2FyZEMxRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMThQbGF0Zm9ybVBhc3RlYm9hcmQ4
Z2V0VHlwZXNFUk4zV1RGNlZlY3RvcklOUzFfNlN0cmluZ0VMbTBFRUUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5LmgKaW5kZXggNTE1ZjU1ZC4uN2U2OGYyNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5LmgKQEAgLTQ5
LDYgKzQ5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgQ29sb3IgY29sb3IoY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSkgPSAwOwogICAgIAogICAgIHZpcnR1YWwgdm9pZCBjb3B5KGNvbnN0
IFN0cmluZyYgZnJvbVBhc3RlYm9hcmQsIGNvbnN0IFN0cmluZyYgdG9QYXN0ZWJvYXJkKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGFkZFR5cGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXN0ZWJv
YXJkVHlwZXMsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0VHlwZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhc3RlYm9hcmRUeXBlcywgY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRCdWZm
ZXJGb3JUeXBlKFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBzZXRQYXRobmFtZXNGb3JUeXBlKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQuaAppbmRleCAyZjk0
YTY2Li42ZWRiMDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9y
bVBhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBhc3Rl
Ym9hcmQuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgQ29sb3IgY29sb3IoKTsKICAg
ICAKICAgICB2b2lkIGNvcHkoY29uc3QgU3RyaW5nJiBmcm9tUGFzdGVib2FyZCk7CisgICAgdm9p
ZCBhZGRUeXBlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5cGVzKTsKICAgICB2
b2lkIHNldFR5cGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXN0ZWJvYXJkVHlwZXMpOwogICAg
IHZvaWQgc2V0QnVmZmVyRm9yVHlwZShQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4sIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZFR5cGUpOwogICAgIHZvaWQgc2V0UGF0aG5hbWVzRm9yVHlwZShjb25z
dCBWZWN0b3I8U3RyaW5nPiYgcGF0aG5hbWVzLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLm1tCmluZGV4IGE0
OTMzZjMuLjg5N2U1OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9D
bGlwYm9hcmRNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2Fy
ZE1hYy5tbQpAQCAtMjUzLDEzICsyNTMsMTMgQEAgYm9vbCBDbGlwYm9hcmRNYWM6OnNldERhdGEo
Y29uc3QgU3RyaW5nICZ0eXBlLCBjb25zdCBTdHJpbmcgJmRhdGEpCiAgICAgICAgIFZlY3RvcjxT
dHJpbmc+IHR5cGVzOwogICAgICAgICB0eXBlcy5hcHBlbmQoU3RyaW5nKE5TVVJMUGJvYXJkVHlw
ZSkpOwogCi0gICAgICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3ko
KS0+c2V0VHlwZXModHlwZXMsIG1fcGFzdGVib2FyZE5hbWUpOworICAgICAgICBwbGF0Zm9ybVN0
cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPmFkZFR5cGVzKHR5cGVzLCBtX3Bhc3Rl
Ym9hcmROYW1lKTsKICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBhc3RlYm9hcmRTdHJh
dGVneSgpLT5zZXRTdHJpbmdGb3JUeXBlKGNvY29hRGF0YSwgU3RyaW5nKE5TVVJMUGJvYXJkVHlw
ZSksIG1fcGFzdGVib2FyZE5hbWUpOwogICAgICAgICBOU1VSTCAqdXJsID0gW1tOU1VSTCBhbGxv
Y10gaW5pdFdpdGhTdHJpbmc6Y29jb2FEYXRhXTsKIAogICAgICAgICBpZiAoW3VybCBpc0ZpbGVV
UkxdICYmIG1fZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkxvYWRMb2Nh
bFJlc291cmNlcygpKSB7CiAgICAgICAgICAgICB0eXBlcy5hcHBlbmQoU3RyaW5nKE5TRmlsZW5h
bWVzUGJvYXJkVHlwZSkpOwotICAgICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBhc3Rl
Ym9hcmRTdHJhdGVneSgpLT5zZXRUeXBlcyh0eXBlcywgbV9wYXN0ZWJvYXJkTmFtZSk7CisgICAg
ICAgICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPmFkZFR5
cGVzKHR5cGVzLCBtX3Bhc3RlYm9hcmROYW1lKTsKICAgICAgICAgICAgIFZlY3RvcjxTdHJpbmc+
IGZpbGVMaXN0OwogICAgICAgICAgICAgZmlsZUxpc3QuYXBwZW5kKFN0cmluZyhbdXJsIHBhdGhd
KSk7CiAgICAgICAgICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5
KCktPnNldFBhdGhuYW1lc0ZvclR5cGUoZmlsZUxpc3QsIFN0cmluZyhOU0ZpbGVuYW1lc1Bib2Fy
ZFR5cGUpLCBtX3Bhc3RlYm9hcmROYW1lKTsKQEAgLTI3Myw3ICsyNzMsNyBAQCBib29sIENsaXBi
b2FyZE1hYzo6c2V0RGF0YShjb25zdCBTdHJpbmcgJnR5cGUsIGNvbnN0IFN0cmluZyAmZGF0YSkK
ICAgICAgICAgLy8gZXZlcnl0aGluZyBlbHNlIHdlIGtub3cgb2YgZ29lcyBvbiB0aGUgcGJvYXJk
IGFzIGEgc3RyaW5nCiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IHR5cGVzOwogICAgICAgICB0eXBl
cy5hcHBlbmQoY29jb2FUeXBlKTsKLSAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBhc3Rl
Ym9hcmRTdHJhdGVneSgpLT5zZXRUeXBlcyh0eXBlcywgbV9wYXN0ZWJvYXJkTmFtZSk7CisgICAg
ICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+YWRkVHlwZXMo
dHlwZXMsIG1fcGFzdGVib2FyZE5hbWUpOwogICAgICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+
cGFzdGVib2FyZFN0cmF0ZWd5KCktPnNldFN0cmluZ0ZvclR5cGUoY29jb2FEYXRhLCBjb2NvYVR5
cGUsIG1fcGFzdGVib2FyZE5hbWUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1QYXN0ZWJvYXJkTWFj
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtUGFzdGVib2FyZE1hYy5t
bQppbmRleCBkNmE0N2U2Li5mMGE1N2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9QbGF0Zm9ybVBhc3RlYm9hcmRNYWMubW0KQEAgLTEwMiw2ICsxMDIsMTUgQEAg
dm9pZCBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmNvcHkoY29uc3QgU3RyaW5nJiBmcm9tUGFzdGVib2Fy
ZCkKICAgICB9ICAgIAogfQogCit2b2lkIFBsYXRmb3JtUGFzdGVib2FyZDo6YWRkVHlwZXMoY29u
c3QgVmVjdG9yPFN0cmluZz4mIHBhc3RlYm9hcmRUeXBlcykKK3sKKyAgICBSZXRhaW5QdHI8TlNN
dXRhYmxlQXJyYXk+IHR5cGVzKEFkb3B0TlMsIFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRd
KTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhc3RlYm9hcmRUeXBlcy5zaXplKCk7ICsr
aSkKKyAgICAgICAgW3R5cGVzLmdldCgpIGFkZE9iamVjdDpwYXN0ZWJvYXJkVHlwZXNbaV1dOwor
CisgICAgW21fcGFzdGVib2FyZC5nZXQoKSBhZGRUeXBlczp0eXBlcy5nZXQoKSBvd25lcjpuaWxd
OworfQorCiB2b2lkIFBsYXRmb3JtUGFzdGVib2FyZDo6c2V0VHlwZXMoY29uc3QgVmVjdG9yPFN0
cmluZz4mIHBhc3RlYm9hcmRUeXBlcykKIHsKICAgICBpZiAocGFzdGVib2FyZFR5cGVzLmlzRW1w
dHkoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDI1ZTRjZDYuLjQ1Y2Q3YzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMy0xNSAgQnJhZHkgRWlkc29uICA8YmVpZHNv
bkBhcHBsZS5jb20+CisKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExMDM2OTAwPiBhbmQgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMDc5CisgICAgICAgIFJFR1JF
U1NJT04ocjEwNzg0NCk6IENsaXBib2FyZCBBUEkgb25seSByZW1lbWJlcnMgbW9zdCByZWNlbnQg
ZGF0YSBzZXQgb24gY2xpcGJvYXJkCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHRoZSBub24tZGVzdHJ1Y3RpdmUgImFkZFR5cGVzIiB0byBzdXBw
bGVtZW50IHRoZSBkZXN0cnVjdGl2ZSAic2V0VHlwZXMiCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzLm1tOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjph
ZGRUeXBlcyk6CisKIDIwMTItMDMtMTMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4g
JiYgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBBbHdh
eXMgZW5hYmxlIEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5o
CmluZGV4IDRmZGUyYjMuLjNiMjI1NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC02Niw2ICs2Niw3
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb2xvciBjb2xvcihjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lKSBPVkVSUklERTsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgY29w
eShjb25zdCBTdHJpbmcmIGZyb21QYXN0ZWJvYXJkLCBjb25zdCBTdHJpbmcmIHRvUGFzdGVib2Fy
ZCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGFkZFR5cGVzKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBwYXN0ZWJvYXJkVHlwZXMsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUeXBlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFz
dGVib2FyZFR5cGVzLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0QnVmZmVyRm9yVHlwZShQYXNzUmVmUHRyPFdlYkNvcmU6OlNoYXJl
ZEJ1ZmZlcj4sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZE5hbWUpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYXRobmFtZXNGb3JU
eXBlKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwg
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0K
aW5kZXggZmMzMDM1MC4uMjU0NGYzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQpAQCAtMTM4LDYgKzEz
OCwxMSBAQCBDb2xvciBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbG9yKGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUpCiAgICAgcmV0dXJuIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJk
TmFtZSkuY29sb3IoKTsgICAgCiB9CiAKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRU
eXBlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5cGVzLCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lKQoreworICAgIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFt
ZSkuYWRkVHlwZXMocGFzdGVib2FyZFR5cGVzKTsKK30KKwogdm9pZCBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OnNldFR5cGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXN0ZWJvYXJkVHlwZXMsIGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CiAgICAgUGxhdGZvcm1QYXN0ZWJvYXJkKHBh
c3RlYm9hcmROYW1lKS5zZXRUeXBlcyhwYXN0ZWJvYXJkVHlwZXMpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDZl
ZjVjODkuLjg4ODRjN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wMy0xNSAg
QnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzExMDM2OTAwPiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgxMDc5CisgICAgICAgIFJFR1JFU1NJT04ocjEwNzg0NCk6IENsaXBib2FyZCBBUEkgb25seSBy
ZW1lbWJlcnMgbW9zdCByZWNlbnQgZGF0YSBzZXQgb24gY2xpcGJvYXJkCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRoZSBub24tZGVzdHJ1Y3Rp
dmUgImFkZFR5cGVzIiB0byBzdXBwbGVtZW50IHRoZSBkZXN0cnVjdGl2ZSAic2V0VHlwZXMiCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJDb250ZXh0Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViQ29udGV4
dE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6YWRkUGFzdGVib2FyZFR5cGVz
KToKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphZGRU
eXBlcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuaDoKKwogMjAxMi0wMy0xNCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWJQcm9jZXNzIHNvbWV0aW1lcyBoaXRzIGFuIGFzc2VydGlvbiBp
biBTYW5kYm94RXh0ZW5zaW9uVHJhY2tlcjo6ZGlkQ29tbWl0UHJvdmlzaW9uYWxMb2FkIGFmdGVy
IHJ1bm5pbmcgcmVncmVzc2lvbiB0ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0
LmgKaW5kZXggOWJkNDdlYi4uY2I0MWZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
dGV4dC5oCkBAIC0yMjYsNiArMjI2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGdldFBhc3RlYm9h
cmRDaGFuZ2VDb3VudChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCB1aW50NjRfdCYgY2hh
bmdlQ291bnQpOwogICAgIHZvaWQgZ2V0UGFzdGVib2FyZFVuaXF1ZU5hbWUoU3RyaW5nJiBwYXN0
ZWJvYXJkTmFtZSk7CiAgICAgdm9pZCBnZXRQYXN0ZWJvYXJkQ29sb3IoY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkTmFtZSwgV2ViQ29yZTo6Q29sb3ImKTsKKyAgICB2b2lkIGFkZFBhc3RlYm9hcmRU
eXBlcyhjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYg
cGFzdGVib2FyZFR5cGVzKTsKICAgICB2b2lkIHNldFBhc3RlYm9hcmRUeXBlcyhjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5cGVz
KTsKICAgICB2b2lkIHNldFBhc3RlYm9hcmRQYXRobmFtZXNGb3JUeXBlKGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBwYXRobmFtZXMpOwogICAgIHZvaWQgc2V0UGFzdGVib2FyZFN0cmluZ0ZvclR5
cGUoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJk
VHlwZSwgY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b250ZXh0Lm1lc3NhZ2VzLmluCmluZGV4IDRiYzNlYzcuLmViMjFhMWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluCkBAIC01Myw2ICs1Myw3
IEBAIG1lc3NhZ2VzIC0+IFdlYkNvbnRleHQgewogICAgIEdldFBhc3RlYm9hcmRDaGFuZ2VDb3Vu
dChXVEY6OlN0cmluZyBwYXN0ZWJvYXJkTmFtZSkgLT4gKHVpbnQ2NF90IGNoYW5nZUNvdW50KQog
ICAgIEdldFBhc3RlYm9hcmRVbmlxdWVOYW1lKCkgLT4gKFdURjo6U3RyaW5nIHBhc3RlYm9hcmRO
YW1lKQogICAgIEdldFBhc3RlYm9hcmRDb2xvcihXVEY6OlN0cmluZyBwYXN0ZWJvYXJkTmFtZSkg
LT4gKFdlYkNvcmU6OkNvbG9yIGNvbG9yKQorICAgIEFkZFBhc3RlYm9hcmRUeXBlcyhXVEY6OlN0
cmluZyBwYXN0ZWJvYXJkTmFtZSwgVmVjdG9yPFdURjo6U3RyaW5nPiBwYXN0ZWJvYXJkVHlwZXMp
CiAgICAgU2V0UGFzdGVib2FyZFR5cGVzKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lLCBWZWN0
b3I8V1RGOjpTdHJpbmc+IHBhc3RlYm9hcmRUeXBlcykKICAgICBTZXRQYXN0ZWJvYXJkUGF0aG5h
bWVzRm9yVHlwZShXVEY6OlN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgV1RGOjpTdHJpbmcgcGFzdGVi
b2FyZFR5cGUsIFZlY3RvcjxXVEY6OlN0cmluZz4gcGF0aG5hbWVzKQogICAgIFNldFBhc3RlYm9h
cmRTdHJpbmdGb3JUeXBlKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lLCBXVEY6OlN0cmluZyBw
YXN0ZWJvYXJkVHlwZSwgV1RGOjpTdHJpbmcgc3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9XZWJDb250ZXh0TWFjLm1tCmluZGV4IGFiNTcyMWIuLjc1YTg1MzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNYWMubW0KQEAgLTIwMyw2
ICsyMDMsMTEgQEAgdm9pZCBXZWJDb250ZXh0OjpnZXRQYXN0ZWJvYXJkQ29sb3IoY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkTmFtZSwgV2ViQ29yZTo6Q29sb3IKICAgICBjb2xvciA9IFBsYXRmb3Jt
UGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY29sb3IoKTsgICAgCiB9CiAKK3ZvaWQgV2ViQ29u
dGV4dDo6YWRkUGFzdGVib2FyZFR5cGVzKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBwYXN0ZWJvYXJkVHlwZXMpCit7CisgICAgUGxhdGZvcm1QYXN0
ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5hZGRUeXBlcyhwYXN0ZWJvYXJkVHlwZXMpOworfQorCiB2
b2lkIFdlYkNvbnRleHQ6OnNldFBhc3RlYm9hcmRUeXBlcyhjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmROYW1lLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5cGVzKQogewogICAgIFBs
YXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuc2V0VHlwZXMocGFzdGVib2FyZFR5cGVz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRleCAxOTE0ZWZjLi4xODc5
ZjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCkBAIC0xOTksNiArMTk5
LDExIEBAIENvbG9yIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y29sb3IoY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkTmFtZSkKICAgICByZXR1cm4gY29sb3I7CiB9CiAKK3ZvaWQgV2ViUGxhdGZvcm1T
dHJhdGVnaWVzOjphZGRUeXBlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5cGVz
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQoreworICAgIFdlYlByb2Nlc3M6OnNoYXJl
ZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViQ29udGV4dDo6QWRkUGFzdGVib2Fy
ZFR5cGVzKHBhc3RlYm9hcmROYW1lLCBwYXN0ZWJvYXJkVHlwZXMpLCAwKTsKK30KKwogdm9pZCBX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnNldFR5cGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXN0
ZWJvYXJkVHlwZXMsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CiAgICAgV2ViUHJv
Y2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpT
ZXRQYXN0ZWJvYXJkVHlwZXMocGFzdGVib2FyZE5hbWUsIHBhc3RlYm9hcmRUeXBlcyksIDApOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKaW5kZXggZThlOWJmNy4uYTNhNTllMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC03Miw2ICs3Miw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb2xvciBjb2xvcihjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmROYW1lKSBPVkVSUklERTsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgY29weShjb25zdCBTdHJp
bmcmIGZyb21QYXN0ZWJvYXJkLCBjb25zdCBTdHJpbmcmIHRvUGFzdGVib2FyZCkgT1ZFUlJJREU7
CisgICAgdmlydHVhbCB2b2lkIGFkZFR5cGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXN0ZWJv
YXJkVHlwZXMsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCBzZXRUeXBlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5cGVz
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0QnVmZmVyRm9yVHlwZShQYXNzUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4sIGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYXRobmFtZXNGb3JUeXBlKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSkgT1ZFUlJJREU7Cg==
</data>
<flag name="review"
          id="135633"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>