<?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>85491</bug_id>
          
          <creation_ts>2012-05-03 06:29:26 -0700</creation_ts>
          <short_desc>MediaStream API: Make PeerConnection00&apos;s API fully compliant with the draft</short_desc>
          <delta_ts>2012-05-04 10:54:43 -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>jamesr</cc>
    
    <cc>ojan</cc>
    
    <cc>pnormand</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>615227</commentid>
    <comment_count>0</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-05-03 06:29:26 -0700</bug_when>
    <thetext>Mainly make the relevant API&apos;s use objects (aka Dictionaries) instead of the temporary strings, but also making a few API&apos;s exception aware and changing the name of a flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615234</commentid>
    <comment_count>1</comment_count>
      <attachid>140000</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-05-03 06:38:47 -0700</bug_when>
    <thetext>Created attachment 140000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615239</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-03 06:41:50 -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>615240</commentid>
    <comment_count>3</comment_count>
      <attachid>140000</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-05-03 06:43:52 -0700</bug_when>
    <thetext>Comment on attachment 140000
Patch

Attachment 140000 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12610242</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615267</commentid>
    <comment_count>4</comment_count>
      <attachid>140010</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-05-03 07:34:41 -0700</bug_when>
    <thetext>Created attachment 140010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615404</commentid>
    <comment_count>5</comment_count>
      <attachid>140010</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-03 10:50:36 -0700</bug_when>
    <thetext>Comment on attachment 140010
Patch

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

&gt; Source/WebCore/Modules/mediastream/PeerConnection00.cpp:260
&gt; +    if (!ec)
&gt; +        return;

Is this backwards?  I thought ec == 0 is success.

&gt; LayoutTests/ChangeLog:1
&gt; +2012-05-03  Tommy Widenflycht  &lt;tommyw@google.com&gt;

Looks like this ChangeLog got corrupted a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615737</commentid>
    <comment_count>6</comment_count>
      <attachid>140010</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-03 15:58:22 -0700</bug_when>
    <thetext>Comment on attachment 140010
Patch

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

&gt;&gt; Source/WebCore/Modules/mediastream/PeerConnection00.cpp:260
&gt;&gt; +        return;
&gt; 
&gt; Is this backwards?  I thought ec == 0 is success.

More importantly, if this is backwards, why didn’t a test catch that fact?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616073</commentid>
    <comment_count>7</comment_count>
      <attachid>140188</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-05-04 04:14:32 -0700</bug_when>
    <thetext>Created attachment 140188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616075</commentid>
    <comment_count>8</comment_count>
      <attachid>140010</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-05-04 04:17:52 -0700</bug_when>
    <thetext>Comment on attachment 140010
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/mediastream/PeerConnection00.cpp:260
&gt;&gt;&gt; +        return;
&gt;&gt; 
&gt;&gt; Is this backwards?  I thought ec == 0 is success.
&gt; 
&gt; More importantly, if this is backwards, why didn’t a test catch that fact?

Yes, it was backward. And I am ashamed. Test now added. It&apos;s so cold in Sweden that my brain froze.

&gt;&gt; LayoutTests/ChangeLog:1
&gt;&gt; +2012-05-03  Tommy Widenflycht  &lt;tommyw@google.com&gt;
&gt; 
&gt; Looks like this ChangeLog got corrupted a bit.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616351</commentid>
    <comment_count>9</comment_count>
      <attachid>140188</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-04 10:13:26 -0700</bug_when>
    <thetext>Comment on attachment 140188
Patch

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616421</commentid>
    <comment_count>10</comment_count>
      <attachid>140188</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-04 10:54:37 -0700</bug_when>
    <thetext>Comment on attachment 140188
Patch

Clearing flags on attachment: 140188

Committed r116127: &lt;http://trac.webkit.org/changeset/116127&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616422</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-04 10:54:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140000</attachid>
            <date>2012-05-03 06:38:47 -0700</date>
            <delta_ts>2012-05-03 07:34:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85491-20120503153844.patch</filename>
            <type>text/plain</type>
            <size>17022</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1OTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAwM2RiZTUyMGRmOWNj
Yjk1OTE3NzFiYTBjNjA3YzQ1NjI0NzE5ODUzLi5jNGU0ZjIxN2MxYjA0ZWNkMjY0MWIxOTIxZDhk
ZWZlYmVhZmQ1MjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wNS0wMyAg
VG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0
cmVhbSBBUEk6IE1ha2UgUGVlckNvbm5lY3Rpb24wMCdzIEFQSSBmdWxseSBjb21wbGlhbnQgd2l0
aCB0aGUgZHJhZnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg1NDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaDoK
KwogMjAxMi0wNS0wMiAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIERvbid0IG9jY2x1ZGUgcGl4ZWxzIGluIGEgc3VyZmFjZSB0aGF0IGFy
ZSBuZWVkZWQgZm9yIGEgYmFja2dyb3VuZCBmaWx0ZXIgYmx1cgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg4ZTdk
NmMwYzQ5MGQyYTY1OWM1NmQzMjU3NjAzMjc4ZDExNTI4OTkuLjM5ZjEwZjA0M2NlYzkzOGMwNWMw
MDc5YTg5ZWJmY2JjNTdmMTEyY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0w
NS0wMyAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBN
ZWRpYVN0cmVhbSBBUEk6IE1ha2UgUGVlckNvbm5lY3Rpb24wMCdzIEFQSSBmdWxseSBjb21wbGlh
bnQgd2l0aCB0aGUgZHJhZnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg1NDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTWFpbmx5IG1ha2luZyB0aGUgcmVsZXZhbnQgQVBJJ3MgdXNlIG9iamVjdHMgKGFr
YSBEaWN0aW9uYXJpZXMpIGluc3RlYWQgb2YgdGhlIHRlbXBvcmFyeSBzdHJpbmdzLAorICAgICAg
ICBidXQgYWxzbyBtYWtpbmcgYSBmZXcgQVBJJ3MgZXhjZXB0aW9uIGF3YXJlIGFuZCBjaGFuZ2lu
ZyB0aGUgbmFtZSBvZiBhIGZsYWcuCisKKyAgICAgICAgRXhpc3RpbmcgdGVzdHMgbW9kaWZpZWQu
CisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb24wMDo6cGFyc2VNZWRpYUhpbnRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDA6OmNyZWF0ZU9mZmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDA6OmNyZWF0ZUFuc3dlcik6CisgICAgICAgIChXZWJD
b3JlOjpQZWVyQ29ubmVjdGlvbjAwOjpzdGFydEljZSk6CisgICAgICAgIChXZWJDb3JlOjpQZWVy
Q29ubmVjdGlvbjAwOjphZGRTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rp
b24wMDo6Y2hhbmdlUmVhZHlTdGF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbjAwLmg6CisgICAgICAgIChQZWVyQ29ubmVjdGlvbjAwKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAuaWRsOgorCiAyMDEyLTA1LTAz
ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBjb21waWxlIHRpbWUgYW1iaWd1aXR5IGhhcHBlbnMgd2hlbiBJIHRyeSB0byBh
c3NpZ24gYSBUeXBlQnVpbGRlciBvYmplY3QgdG8gYW4gb3V0IGFyZ3VtZW50LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwppbmRleCA2ZGQ3MjM1MmUzODM4NWQ1YjAxZjJjNjA0MjhhZjljODEwODM4
YWZmLi5iMjM5MjZjMDg1ZjYyOGZjN2E5Mjk0ZGQyZjUyZTI2MzhhZGRkOTg0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA1LTAzICBUb21teSBXaWRl
bmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtIEFQSTog
TWFrZSBQZWVyQ29ubmVjdGlvbjAwJ3MgQVBJIGZ1bGx5IGNvbXBsaWFudCB3aXRoIHRoZSBkcmFm
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU0OTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9B
c3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKwogMjAxMi0wNS0wMyAgRGFuYSBKYW5zZW5zICA8ZGFu
YWtqQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERvbid0IGFkZCBzbWFsbCBv
cGFxdWUgYXJlYXMgdG8gdGhlIG9jY2x1c2lvbiB0cmFja2VyJ3MgUmVnaW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlBlZXJDb25uZWN0aW9uMDBIYW5k
bGVyQ2xpZW50LmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlBlZXJDb25u
ZWN0aW9uMDBIYW5kbGVyQ2xpZW50LmgKaW5kZXggYTZhYTcwODEwMWU2ZDk5NmU0ZWVmZTljNTk5
ODljODQxZTAwNDBmZS4uYWI2MWZkOTg5MzdjZmIyZmMyNzk1YTQ3MmNjZTEwOTE4Y2EwZWE5OSAx
MDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJQZWVyQ29ubmVj
dGlvbjAwSGFuZGxlckNsaWVudC5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaApAQCAtNDAsOSArNDAsMTIgQEAg
Y2xhc3MgV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQgewogcHVibGljOgogICAgIGVu
dW0gUmVhZHlTdGF0ZSB7CiAgICAgICAgIFJlYWR5U3RhdGVOZXcgPSAwLAotICAgICAgICBSZWFk
eVN0YXRlTmVnb3RpYXRpbmcgPSAxLAorICAgICAgICBSZWFkeVN0YXRlT3BlbmluZyA9IDEsCiAg
ICAgICAgIFJlYWR5U3RhdGVBY3RpdmUgPSAyLAotICAgICAgICBSZWFkeVN0YXRlQ2xvc2VkID0g
MworICAgICAgICBSZWFkeVN0YXRlQ2xvc2VkID0gMywKKworICAgICAgICAvLyBERVBSRUNBVEVE
CisgICAgICAgIFJlYWR5U3RhdGVOZWdvdGlhdGluZyA9IDEsCiAgICAgfTsKIAogICAgIGVudW0g
SUNFU3RhdGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9QZWVyQ29ubmVjdGlvbjAwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUGVlckNvbm5lY3Rpb24wMC5jcHAKaW5kZXggNzZjMTk2NDRmZTNkNDE0NjNjMDEwZDIxYmRi
MWM2MmZjOWU2NTFjMS4uYzI1MTMzMTg3NzM5MDI5OWUwZmU5YjkwNzY1MjcyMGI3OWQ4ZGQ1NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVj
dGlvbjAwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJD
b25uZWN0aW9uMDAuY3BwCkBAIC05MSw1MiArOTEsNDcgQEAgYm9vbCBQZWVyQ29ubmVjdGlvbjAw
OjpoYXNMb2NhbFZpZGVvVHJhY2soKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotUGFzc1JlZlB0
cjxNZWRpYUhpbnRzPiBQZWVyQ29ubmVjdGlvbjAwOjpwYXJzZU1lZGlhSGludHMoY29uc3QgU3Ry
aW5nJiBtZWRpYUhpbnRzKQorUGFzc1JlZlB0cjxNZWRpYUhpbnRzPiBQZWVyQ29ubmVjdGlvbjAw
OjpwYXJzZU1lZGlhSGludHMoY29uc3QgRGljdGlvbmFyeSYgbWVkaWFIaW50cykKIHsKLSAgICBW
ZWN0b3I8U3RyaW5nPiBoaW50c0xpc3Q7Ci0gICAgbWVkaWFIaW50cy5zcGxpdCgiLCIsIGhpbnRz
TGlzdCk7CiAgICAgYm9vbCBhdWRpbyA9IGhhc0xvY2FsQXVkaW9UcmFjaygpOwogICAgIGJvb2wg
dmlkZW8gPSBoYXNMb2NhbFZpZGVvVHJhY2soKTsKLSAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpp
dGVyYXRvciBpID0gaGludHNMaXN0LmJlZ2luKCk7IGkgIT0gaGludHNMaXN0LmVuZCgpOyArK2kp
IHsKLSAgICAgICAgaWYgKCppID09ICJhdWRpbyIpCi0gICAgICAgICAgICBhdWRpbyA9IHRydWU7
Ci0gICAgICAgIGVsc2UgaWYgKCppID09ICJub19hdWRpbyIpCi0gICAgICAgICAgICBhdWRpbyA9
IGZhbHNlOwotICAgICAgICBlbHNlIGlmICgqaSA9PSAidmlkZW8iKQotICAgICAgICAgICAgdmlk
ZW8gPSB0cnVlOwotICAgICAgICBlbHNlIGlmICgqaSA9PSAibm9fdmlkZW8iKQotICAgICAgICAg
ICAgdmlkZW8gPSBmYWxzZTsKLSAgICB9Ci0KKyAgICBtZWRpYUhpbnRzLmdldCgiaGFzX2F1ZGlv
IiwgYXVkaW8pOworICAgIG1lZGlhSGludHMuZ2V0KCJoYXNfdmlkZW8iLCBhdWRpbyk7CiAgICAg
cmV0dXJuIE1lZGlhSGludHM6OmNyZWF0ZShhdWRpbywgdmlkZW8pOwogfQogCi1QYXNzUmVmUHRy
PFNlc3Npb25EZXNjcmlwdGlvbj4gUGVlckNvbm5lY3Rpb24wMDo6Y3JlYXRlT2ZmZXIoKQorUGFz
c1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+IFBlZXJDb25uZWN0aW9uMDA6OmNyZWF0ZU9mZmVy
KEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIHJldHVybiBjcmVhdGVPZmZlcigiIik7CisgICAg
RGljdGlvbmFyeSBtZWRpYUhpbnRzOworICAgIHJldHVybiBjcmVhdGVPZmZlcihtZWRpYUhpbnRz
LCBlYyk7CiB9CiAKLVBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBQZWVyQ29ubmVjdGlv
bjAwOjpjcmVhdGVPZmZlcihjb25zdCBTdHJpbmcmIG1lZGlhSGludHNTdHJpbmcpCitQYXNzUmVm
UHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gUGVlckNvbm5lY3Rpb24wMDo6Y3JlYXRlT2ZmZXIoY29u
c3QgRGljdGlvbmFyeSYgbWVkaWFIaW50cywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgUmVm
UHRyPE1lZGlhSGludHM+IG1lZGlhSGludHMgPSBwYXJzZU1lZGlhSGludHMobWVkaWFIaW50c1N0
cmluZyk7Ci0gICAgUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IGRlc2NyaXB0
b3IgPSBtX3BlZXJIYW5kbGVyLT5jcmVhdGVPZmZlcihtZWRpYUhpbnRzLnJlbGVhc2UoKSk7Ci0g
ICAgaWYgKCFkZXNjcmlwdG9yKQorICAgIFJlZlB0cjxNZWRpYUhpbnRzPiBoaW50cyA9IHBhcnNl
TWVkaWFIaW50cyhtZWRpYUhpbnRzKTsKKyAgICBSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvcj4gZGVzY3JpcHRvciA9IG1fcGVlckhhbmRsZXItPmNyZWF0ZU9mZmVyKGhpbnRzLnJl
bGVhc2UoKSk7CisgICAgaWYgKCFkZXNjcmlwdG9yKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VS
UjsKICAgICAgICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgcmV0dXJuIFNlc3Npb25EZXNjcmlw
dGlvbjo6Y3JlYXRlKGRlc2NyaXB0b3IucmVsZWFzZSgpKTsKIH0KIAotUGFzc1JlZlB0cjxTZXNz
aW9uRGVzY3JpcHRpb24+IFBlZXJDb25uZWN0aW9uMDA6OmNyZWF0ZUFuc3dlcihjb25zdCBTdHJp
bmcmIG9mZmVyKQorUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+IFBlZXJDb25uZWN0aW9u
MDA6OmNyZWF0ZUFuc3dlcihjb25zdCBTdHJpbmcmIG9mZmVyLCBFeGNlcHRpb25Db2RlJiBlYykK
IHsKLSAgICByZXR1cm4gY3JlYXRlQW5zd2VyKG9mZmVyLCAiIik7CisgICAgRGljdGlvbmFyeSBt
ZWRpYUhpbnRzOworICAgIHJldHVybiBjcmVhdGVBbnN3ZXIob2ZmZXIsIG1lZGlhSGludHMsIGVj
KTsKIH0KIAotUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+IFBlZXJDb25uZWN0aW9uMDA6
OmNyZWF0ZUFuc3dlcihjb25zdCBTdHJpbmcmIG9mZmVyLCBjb25zdCBTdHJpbmcmIG1lZGlhSGlu
dHNTdHJpbmcpCitQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gUGVlckNvbm5lY3Rpb24w
MDo6Y3JlYXRlQW5zd2VyKGNvbnN0IFN0cmluZyYgb2ZmZXIsIGNvbnN0IERpY3Rpb25hcnkmIG1l
ZGlhSGludHMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIFJlZlB0cjxNZWRpYUhpbnRzPiBt
ZWRpYUhpbnRzID0gcGFyc2VNZWRpYUhpbnRzKG1lZGlhSGludHNTdHJpbmcpOwotICAgIFJlZlB0
cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBkZXNjcmlwdG9yID0gbV9wZWVySGFuZGxl
ci0+Y3JlYXRlQW5zd2VyKG9mZmVyLCBtZWRpYUhpbnRzLnJlbGVhc2UoKSk7Ci0gICAgaWYgKCFk
ZXNjcmlwdG9yKQorICAgIFJlZlB0cjxNZWRpYUhpbnRzPiBoaW50cyA9IHBhcnNlTWVkaWFIaW50
cyhtZWRpYUhpbnRzKTsKKyAgICBSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4g
ZGVzY3JpcHRvciA9IG1fcGVlckhhbmRsZXItPmNyZWF0ZUFuc3dlcihvZmZlciwgaGludHMucmVs
ZWFzZSgpKTsKKyAgICBpZiAoIWRlc2NyaXB0b3IpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJS
OwogICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAKICAgICByZXR1cm4gU2Vzc2lvbkRlc2NyaXB0
aW9uOjpjcmVhdGUoZGVzY3JpcHRvci5yZWxlYXNlKCkpOwogfQpAQCAtMjE3LDIzICsyMTIsMjYg
QEAgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+IFBlZXJDb25uZWN0aW9uMDA6OnJlbW90
ZURlc2NyaXB0aW9uKCkKIAogdm9pZCBQZWVyQ29ubmVjdGlvbjAwOjpzdGFydEljZShFeGNlcHRp
b25Db2RlJiBlYykKIHsKLSAgICBzdGFydEljZSgiIiwgZWMpOworICAgIERpY3Rpb25hcnkgaWNl
T3B0aW9uczsKKyAgICBzdGFydEljZShpY2VPcHRpb25zLCBlYyk7CiB9CiAKLXZvaWQgUGVlckNv
bm5lY3Rpb24wMDo6c3RhcnRJY2UoY29uc3QgU3RyaW5nJiBvcHRpb25zLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3ZvaWQgUGVlckNvbm5lY3Rpb24wMDo6c3RhcnRJY2UoY29uc3QgRGljdGlvbmFyeSYg
aWNlT3B0aW9ucywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKG1fcmVhZHlTdGF0ZSA9
PSBDTE9TRUQpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIEljZU9wdGlvbnM6OlVzZUNhbmRpZGF0ZXNPcHRpb24gb3B0aW9u
OworICAgIFN0cmluZyB1c2VDYW5kaWRhdGVzOworICAgIGljZU9wdGlvbnMuZ2V0KCJ1c2VfY2Fu
ZGlkYXRlcyIsIHVzZUNhbmRpZGF0ZXMpOwogCi0gICAgaWYgKG9wdGlvbnMgPT0gIiIgfHwgb3B0
aW9ucyA9PSAiYWxsIikKKyAgICBJY2VPcHRpb25zOjpVc2VDYW5kaWRhdGVzT3B0aW9uIG9wdGlv
bjsKKyAgICBpZiAodXNlQ2FuZGlkYXRlcyA9PSAiIiB8fCB1c2VDYW5kaWRhdGVzID09ICJhbGwi
KQogICAgICAgICBvcHRpb24gPSBJY2VPcHRpb25zOjpBTEw7Ci0gICAgZWxzZSBpZiAob3B0aW9u
cyA9PSAibm9fcmVsYXkiKQorICAgIGVsc2UgaWYgKHVzZUNhbmRpZGF0ZXMgPT0gIm5vX3JlbGF5
IikKICAgICAgICAgb3B0aW9uID0gSWNlT3B0aW9uczo6Tk9fUkVMQVk7Ci0gICAgZWxzZSBpZiAo
b3B0aW9ucyA9PSAib25seV9yZWxheSIpCisgICAgZWxzZSBpZiAodXNlQ2FuZGlkYXRlcyA9PSAi
b25seV9yZWxheSIpCiAgICAgICAgIG9wdGlvbiA9IEljZU9wdGlvbnM6Ok9OTFlfUkVMQVk7CiAg
ICAgZWxzZSB7CiAgICAgICAgIGVjID0gVFlQRV9NSVNNQVRDSF9FUlI7CkBAIC0yNzUsMTEgKzI3
MywxMSBAQCBQZWVyQ29ubmVjdGlvbjAwOjpJY2VTdGF0ZSBQZWVyQ29ubmVjdGlvbjAwOjppY2VT
dGF0ZSgpIGNvbnN0CiAKIHZvaWQgUGVlckNvbm5lY3Rpb24wMDo6YWRkU3RyZWFtKFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW0+IHN0cmVhbSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgU3RyaW5n
IGVtcHR5SGludHM7Ci0gICAgcmV0dXJuIGFkZFN0cmVhbShzdHJlYW0sIGVtcHR5SGludHMsIGVj
KTsKKyAgICBEaWN0aW9uYXJ5IG1lZGlhU3RyZWFtSGludHM7CisgICAgYWRkU3RyZWFtKHN0cmVh
bSwgbWVkaWFTdHJlYW1IaW50cywgZWMpOwogfQogCi12b2lkIFBlZXJDb25uZWN0aW9uMDA6OmFk
ZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBwcnBTdHJlYW0sIGNvbnN0IFN0cmluZyYg
bWVkaWFTdHJlYW1IaW50cywgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIFBlZXJDb25uZWN0aW9u
MDA6OmFkZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBwcnBTdHJlYW0sIGNvbnN0IERp
Y3Rpb25hcnkmIG1lZGlhU3RyZWFtSGludHMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFJl
ZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtID0gcHJwU3RyZWFtOwogICAgIGlmICghc3RyZWFtKSB7
CkBAIC00MzUsNyArNDMzLDcgQEAgdm9pZCBQZWVyQ29ubmVjdGlvbjAwOjpjaGFuZ2VSZWFkeVN0
YXRlKFJlYWR5U3RhdGUgcmVhZHlTdGF0ZSkKICAgICBtX3JlYWR5U3RhdGUgPSByZWFkeVN0YXRl
OwogCiAgICAgc3dpdGNoIChtX3JlYWR5U3RhdGUpIHsKLSAgICBjYXNlIE5FR09USUFUSU5HOgor
ICAgIGNhc2UgT1BFTklORzoKICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5jb25uZWN0aW5nRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIEFDVElWRToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmgKaW5kZXggNTIwZDYxZDhkYjI4MmIzYTlmNzU2
YTFmMjY2YjNlYjYyZmFiZTVkZS4uODJhYjQxYzk3NjE0ZGVhMDg3NDNiNTgxNDBhYzcwOWQ3Mjgy
ZTJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVy
Q29ubmVjdGlvbjAwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbjAwLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiRGljdGlvbmFy
eS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQmFzZS5o
IgogI2luY2x1ZGUgIkljZUNhbGxiYWNrLmgiCkBAIC02Myw3ICs2NCw3IEBAIGNsYXNzIFBlZXJD
b25uZWN0aW9uMDAgOiBwdWJsaWMgUmVmQ291bnRlZDxQZWVyQ29ubmVjdGlvbjAwPiwgcHVibGlj
IFBlZXJDb25uZWN0CiBwdWJsaWM6CiAgICAgZW51bSBSZWFkeVN0YXRlIHsKICAgICAgICAgTkVX
ID0gMCwKLSAgICAgICAgTkVHT1RJQVRJTkcgPSAxLAorICAgICAgICBPUEVOSU5HID0gMSwKICAg
ICAgICAgQUNUSVZFID0gMiwKICAgICAgICAgQ0xPU0VEID0gMwogICAgIH07CkBAIC04NywxMCAr
ODgsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlZXJDb25uZWN0aW9uMDA+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBzZXJ2ZXJDb25m
aWd1cmF0aW9uLCBQYXNzUmVmUHRyPEljZUNhbGxiYWNrPik7CiAgICAgflBlZXJDb25uZWN0aW9u
MDAoKTsKIAotICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBjcmVhdGVPZmZlcigp
OwotICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBjcmVhdGVPZmZlcihjb25zdCBT
dHJpbmcmIG1lZGlhSGludHMpOwotICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBj
cmVhdGVBbnN3ZXIoY29uc3QgU3RyaW5nJiBvZmZlcik7Ci0gICAgUGFzc1JlZlB0cjxTZXNzaW9u
RGVzY3JpcHRpb24+IGNyZWF0ZUFuc3dlcihjb25zdCBTdHJpbmcmIG9mZmVyLCBjb25zdCBTdHJp
bmcmIG1lZGlhSGludHMpOworICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBjcmVh
dGVPZmZlcihFeGNlcHRpb25Db2RlJik7CisgICAgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRp
b24+IGNyZWF0ZU9mZmVyKGNvbnN0IERpY3Rpb25hcnkmIG1lZGlhSGludHMsIEV4Y2VwdGlvbkNv
ZGUmKTsKKyAgICBQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gY3JlYXRlQW5zd2VyKGNv
bnN0IFN0cmluZyYgb2ZmZXIsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQYXNzUmVmUHRyPFNlc3Np
b25EZXNjcmlwdGlvbj4gY3JlYXRlQW5zd2VyKGNvbnN0IFN0cmluZyYgb2ZmZXIsIGNvbnN0IERp
Y3Rpb25hcnkmIG1lZGlhSGludHMsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIHZvaWQgc2V0TG9j
YWxEZXNjcmlwdGlvbihpbnQgYWN0aW9uLCBQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbj4s
IEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldFJlbW90ZURlc2NyaXB0aW9uKGludCBhY3Rp
b24sIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiwgRXhjZXB0aW9uQ29kZSYpOwpAQCAt
OTgsMTQgKzk5LDE0IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlv
bj4gcmVtb3RlRGVzY3JpcHRpb24oKTsKIAogICAgIHZvaWQgc3RhcnRJY2UoRXhjZXB0aW9uQ29k
ZSYpOwotICAgIHZvaWQgc3RhcnRJY2UoY29uc3QgU3RyaW5nJiBvcHRpb25zLCBFeGNlcHRpb25D
b2RlJik7CisgICAgdm9pZCBzdGFydEljZShjb25zdCBEaWN0aW9uYXJ5JiBpY2VPcHRpb25zLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBwcm9jZXNzSWNlTWVzc2FnZShQYXNzUmVmUHRyPElj
ZUNhbmRpZGF0ZT4sIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIEljZVN0YXRlIGljZVN0YXRlKCkg
Y29uc3Q7CiAgICAgUmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3Q7CiAKICAgICB2b2lkIGFk
ZFN0cmVhbShjb25zdCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiwgRXhjZXB0aW9uQ29kZSYpOwot
ICAgIHZvaWQgYWRkU3RyZWFtKGNvbnN0IFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+LCBjb25zdCBT
dHJpbmcmIG1lZGlhU3RyZWFtSGludHMsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGFkZFN0
cmVhbShjb25zdCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiwgY29uc3QgRGljdGlvbmFyeSYgbWVk
aWFTdHJlYW1IaW50cywgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgcmVtb3ZlU3RyZWFtKE1l
ZGlhU3RyZWFtKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIE1lZGlhU3RyZWFtTGlzdCogbG9jYWxT
dHJlYW1zKCkgY29uc3Q7CiAgICAgTWVkaWFTdHJlYW1MaXN0KiByZW1vdGVTdHJlYW1zKCkgY29u
c3Q7CkBAIC0xNDksNyArMTUwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNoYW5nZUljZVN0YXRl
KEljZVN0YXRlKTsKICAgICBib29sIGhhc0xvY2FsQXVkaW9UcmFjaygpOwogICAgIGJvb2wgaGFz
TG9jYWxWaWRlb1RyYWNrKCk7Ci0gICAgUGFzc1JlZlB0cjxNZWRpYUhpbnRzPiBwYXJzZU1lZGlh
SGludHMoY29uc3QgU3RyaW5nJiBtZWRpYUhpbnRzU3RyaW5nKTsKKyAgICBQYXNzUmVmUHRyPE1l
ZGlhSGludHM+IHBhcnNlTWVkaWFIaW50cyhjb25zdCBEaWN0aW9uYXJ5JiBtZWRpYUhpbnRzKTsK
IAogICAgIFJlZlB0cjxJY2VDYWxsYmFjaz4gbV9pY2VDYWxsYmFjazsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMC5pZGwK
aW5kZXggYWQyZTVhNjM2NWIxYzFmZWI3ODY4NWIzYzBiNDYzMDM5YjY5ZThhNC4uYmJmZmU5Y2Q0
ZGM1ZjRhZjMwNjhmMjkzOTJkZTI3ZjZlNGZmNGEwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAuaWRsCkBAIC0zNywx
MSArMzcsMTAgQEAgbW9kdWxlIHAycCB7CiAgICAgICAgIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQsCiAgICAgICAgIEV2ZW50VGFyZ2V0CiAgICAgXSBQZWVyQ29ubmVjdGlvbjAwIHsK
LSAgICAgICAgLy8gRklYTUU6IE1ha2UgbWVkaWFIaW50cyBhbiBvYmplY3QKLSAgICAgICAgU2Vz
c2lvbkRlc2NyaXB0aW9uIGNyZWF0ZU9mZmVyKGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIG1lZGlh
SGludHMpOwotCi0gICAgICAgIC8vIEZJWE1FOiBNYWtlIG1lZGlhSGludHMgYW4gb2JqZWN0Ci0g
ICAgICAgIFNlc3Npb25EZXNjcmlwdGlvbiBjcmVhdGVBbnN3ZXIoaW4gRE9NU3RyaW5nIG9mZmVy
LCBpbiBbT3B0aW9uYWxdIERPTVN0cmluZyBtZWRpYUhpbnRzKTsKKyAgICAgICAgU2Vzc2lvbkRl
c2NyaXB0aW9uIGNyZWF0ZU9mZmVyKGluIFtPcHRpb25hbF0gRGljdGlvbmFyeSBtZWRpYUhpbnRz
KQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFNlc3Npb25EZXNj
cmlwdGlvbiBjcmVhdGVBbnN3ZXIoaW4gRE9NU3RyaW5nIG9mZmVyLCBpbiBbT3B0aW9uYWxdIERp
Y3Rpb25hcnkgbWVkaWFIaW50cykKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwog
CiAgICAgICAgIC8vIEFjdGlvbnMsIGZvciBzZXRMb2NhbERlc2NyaXB0aW9uL3NldFJlbW90ZURl
c2NyaXB0aW9uLgogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTRFBfT0ZGRVIgPSAweDEw
MDsKQEAgLTUwLDIyICs0OSwxOSBAQCBtb2R1bGUgcDJwIHsKIAogICAgICAgICB2b2lkIHNldExv
Y2FsRGVzY3JpcHRpb24oaW4gdW5zaWduZWQgc2hvcnQgYWN0aW9uLCBpbiBTZXNzaW9uRGVzY3Jp
cHRpb24gZGVzYykKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotCiAgICAgICAg
IHZvaWQgc2V0UmVtb3RlRGVzY3JpcHRpb24oaW4gdW5zaWduZWQgc2hvcnQgYWN0aW9uLCBpbiBT
ZXNzaW9uRGVzY3JpcHRpb24gZGVzYykKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24p
OwogCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTZXNzaW9uRGVzY3JpcHRpb24gbG9jYWxE
ZXNjcmlwdGlvbjsKLQogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU2Vzc2lvbkRlc2NyaXB0
aW9uIHJlbW90ZURlc2NyaXB0aW9uOwogCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5F
VyA9IDA7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5FR09USUFUSU5HID0gMTsKKyAg
ICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgT1BFTklORyA9IDE7CiAgICAgICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IEFDVElWRSA9IDI7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENM
T1NFRCA9IDM7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCByZWFk
eVN0YXRlOwogCi0gICAgICAgIC8vIEZJWE1FOiBNYWtlIGljZU9wdGlvbnMgYW4gb2JqZWN0Ci0g
ICAgICAgIHZvaWQgc3RhcnRJY2UoaW4gW09wdGlvbmFsXSBET01TdHJpbmcgaWNlT3B0aW9ucykK
KyAgICAgICAgdm9pZCBzdGFydEljZShpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgaWNlT3B0aW9u
cykKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAgICAgICAgIHZvaWQgcHJv
Y2Vzc0ljZU1lc3NhZ2UoaW4gSWNlQ2FuZGlkYXRlIGNhbmRpZGF0ZSkKQEAgLTgwLDggKzc2LDcg
QEAgbW9kdWxlIHAycCB7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IElDRV9DTE9TRUQg
PSAweDcwMDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGljZVN0
YXRlOwogCi0gICAgICAgIC8vIEZJWE1FOiBNYWtlIG1lZGlhU3RyZWFtSGludHMgYW4gb2JqZWN0
Ci0gICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgYWRkU3RyZWFtKGluIE1lZGlhU3Ry
ZWFtIHN0cmVhbSwgaW4gW09wdGlvbmFsXSBET01TdHJpbmcgbWVkaWFTdHJlYW1IaW50cykKKyAg
ICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCBhZGRTdHJlYW0oaW4gTWVkaWFTdHJlYW0g
c3RyZWFtLCBpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgbWVkaWFTdHJlYW1IaW50cykKICAgICAg
ICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5n
XSB2b2lkIHJlbW92ZVN0cmVhbShpbiBNZWRpYVN0cmVhbSBzdHJlYW0pCiAgICAgICAgICAgICBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKaW5kZXggNjllNTk2MjI5ZjQzZDJmZGU0NWNkYjRhMDcw
YzVkN2QzZDYwOGJlOS4uNTc1MjdkNDY4YjM0MTY2NjY4M2NmY2Q3ZWJmNmMzM2UwNmY1YzM1ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHAKQEAgLTU0Nyw3ICs1NDcsOCBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpBY3Rpb25TRFBQUmFuc3dlciwgUGVlcgogQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6QWN0aW9u
U0RQQW5zd2VyLCBQZWVyQ29ubmVjdGlvbjAwOjpTRFBfQU5TV0VSKTsKIAogQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudDo6UmVhZHlT
dGF0ZU5ldywgUGVlckNvbm5lY3Rpb24wMDo6TkVXKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQ6OlJlYWR5U3RhdGVOZWdvdGlh
dGluZywgUGVlckNvbm5lY3Rpb24wMDo6TkVHT1RJQVRJTkcpOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShXZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0ZU9w
ZW5pbmcsIFBlZXJDb25uZWN0aW9uMDA6Ok9QRU5JTkcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0ZU5lZ290
aWF0aW5nLCBQZWVyQ29ubmVjdGlvbjAwOjpPUEVOSU5HKTsKIENPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQ6OlJlYWR5U3RhdGVBY3Rp
dmUsIFBlZXJDb25uZWN0aW9uMDA6OkFDVElWRSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50OjpSZWFkeVN0YXRlQ2xvc2VkLCBQ
ZWVyQ29ubmVjdGlvbjAwOjpDTE9TRUQpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzM5ODk1OTg0ODY3MGEwNzcyZjE1
Yzg3ZjU2YTA2NjM5NGVjODNiMy4uZWI5ZTJhZWE3NjU0MWM2ODA4NGY2MzlkYjU2NzEzNGQwMGQy
MDJlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA1LTAzICBUb21teSBXaWRlbmZseWNo
dCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogTWFrZSBQ
ZWVyQ29ubmVjdGlvbjAwJ3MgQVBJIGZ1bGx5IGNvbXBsaWFudCB3aXRoIHRoZSBkcmFmdAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU0OTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvbWVkaWFz
dHJlYW0vcGVlcmNvbm5lY3Rpb24tQXR0cmlidXRlcy1leHBlY3RlZC50eHQ6CisKIDIwMTItMDUt
MDMgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTU1Jl
Z2lvbnNdQ29ycmVjdCBmYXN0L3JlZ2lvbnMvcmVnaW9uLXN0eWxlLWlubGluZS1iYWNrZ3JvdW5k
LWNvbG9yLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVl
cmNvbm5lY3Rpb24tQXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLUF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IDRj
YTc3MTE4OGRjNDQzNmY4OWE3NmU5MWRiNGMxOWFhYmU3YzZkNTMuLmMwNWExOWU5OTBmYWRlMzdl
YjRkZjBiNzcyZmRkN2ExMDJkMzZkYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tQXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1BdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dApAQCAtNyw3ICs3LDcgQEAgUEFTUyB0eXBlb2YgcGMuYWRkU3RyZWFtID09PSAnZnVu
Y3Rpb24nIGlzIHRydWUKIFBBU1MgdHlwZW9mIHBjLnJlbW92ZVN0cmVhbSA9PT0gJ2Z1bmN0aW9u
JyBpcyB0cnVlCiBQQVNTIHR5cGVvZiBwYy5jbG9zZSA9PT0gJ2Z1bmN0aW9uJyBpcyB0cnVlCiBQ
QVNTIHBjLk5FVyA9PT0gMCBpcyB0cnVlCi1GQUlMIHBjLk9QRU5JTkcgPT09IDEgc2hvdWxkIGJl
IHRydWUuIFdhcyBmYWxzZS4KK1BBU1MgcGMuT1BFTklORyA9PT0gMSBpcyB0cnVlCiBQQVNTIHBj
LkFDVElWRSA9PT0gMiBpcyB0cnVlCiBQQVNTIHBjLkNMT1NFRCA9PT0gMyBpcyB0cnVlCiBQQVNT
IHBjLklDRV9HQVRIRVJJTkcgPT09IDB4MTAwIGlzIHRydWUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140010</attachid>
            <date>2012-05-03 07:34:41 -0700</date>
            <delta_ts>2012-05-04 04:17:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85491-20120503163440.patch</filename>
            <type>text/plain</type>
            <size>19965</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1OTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAwM2RiZTUyMGRmOWNj
Yjk1OTE3NzFiYTBjNjA3YzQ1NjI0NzE5ODUzLi5jNGU0ZjIxN2MxYjA0ZWNkMjY0MWIxOTIxZDhk
ZWZlYmVhZmQ1MjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wNS0wMyAg
VG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0
cmVhbSBBUEk6IE1ha2UgUGVlckNvbm5lY3Rpb24wMCdzIEFQSSBmdWxseSBjb21wbGlhbnQgd2l0
aCB0aGUgZHJhZnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg1NDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaDoK
KwogMjAxMi0wNS0wMiAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIERvbid0IG9jY2x1ZGUgcGl4ZWxzIGluIGEgc3VyZmFjZSB0aGF0IGFy
ZSBuZWVkZWQgZm9yIGEgYmFja2dyb3VuZCBmaWx0ZXIgYmx1cgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg4ZTdk
NmMwYzQ5MGQyYTY1OWM1NmQzMjU3NjAzMjc4ZDExNTI4OTkuLmMwYzdmODYxMDEwYTc1NjI3MmJk
MDM0NmE3NDE2ODNkOTkyNzhjZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMi0w
NS0wMyAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBN
ZWRpYVN0cmVhbSBBUEk6IE1ha2UgUGVlckNvbm5lY3Rpb24wMCdzIEFQSSBmdWxseSBjb21wbGlh
bnQgd2l0aCB0aGUgZHJhZnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg1NDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTWFpbmx5IG1ha2luZyB0aGUgcmVsZXZhbnQgQVBJJ3MgdXNlIG9iamVjdHMgKGFr
YSBEaWN0aW9uYXJpZXMpIGluc3RlYWQgb2YgdGhlIHRlbXBvcmFyeSBzdHJpbmdzLAorICAgICAg
ICBidXQgYWxzbyBtYWtpbmcgYSBmZXcgQVBJJ3MgZXhjZXB0aW9uIGF3YXJlIGFuZCBjaGFuZ2lu
ZyB0aGUgbmFtZSBvZiBhIGZsYWcuCisKKyAgICAgICAgRXhpc3RpbmcgdGVzdHMgbW9kaWZpZWQu
CisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb24wMDo6Y3JlYXRlTWVkaWFIaW50cyk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjAwOjpjcmVhdGVPZmZlcik6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDA6OmNyZWF0ZUFu
c3dlcik6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjAwOjpjcmVhdGVJY2VPcHRp
b25zKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDA6OnN0YXJ0SWNlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDA6OmFkZFN0cmVhbSk6CisgICAgICAgIChX
ZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjAwOjpjaGFuZ2VSZWFkeVN0YXRlKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAuaDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoUGVlckNvbm5lY3Rpb24wMCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmlkbDoKKwogMjAxMi0wNS0wMyAgSWx5YSBUaWtob25vdnNr
eSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY29tcGls
ZSB0aW1lIGFtYmlndWl0eSBoYXBwZW5zIHdoZW4gSSB0cnkgdG8gYXNzaWduIGEgVHlwZUJ1aWxk
ZXIgb2JqZWN0IHRvIGFuIG91dCBhcmd1bWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggNmRkNzIzNTJlMzgzODVkNWIwMWYyYzYwNDI4YWY5YzgxMDgzOGFmZi4uYjIzOTI2YzA4NWY2
MjhmYzdhOTI5NGRkMmY1MmUyNjM4YWRkZDk4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAxMi0wNS0wMyAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdA
Z29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IE1ha2UgUGVlckNvbm5lY3Rp
b24wMCdzIEFQSSBmdWxseSBjb21wbGlhbnQgd2l0aCB0aGUgZHJhZnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NDkxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHA6CisKIDIwMTItMDUtMDMgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSBEb24ndCBhZGQgc21hbGwgb3BhcXVlIGFyZWFzIHRvIHRo
ZSBvY2NsdXNpb24gdHJhY2tlcidzIFJlZ2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3Jt
L2Nocm9taXVtL3B1YmxpYy9XZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudC5oIGIvU291
cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNs
aWVudC5oCmluZGV4IGE2YWE3MDgxMDFlNmQ5OTZlNGVlZmU5YzU5OTg5Yzg0MWUwMDQwZmUuLmFi
NjFmZDk4OTM3Y2ZiMmZjMjc5NWE0NzJjY2UxMDkxOGNhMGVhOTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGll
bnQuaAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlBlZXJDb25uZWN0
aW9uMDBIYW5kbGVyQ2xpZW50LmgKQEAgLTQwLDkgKzQwLDEyIEBAIGNsYXNzIFdlYlBlZXJDb25u
ZWN0aW9uMDBIYW5kbGVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICBlbnVtIFJlYWR5U3RhdGUgewog
ICAgICAgICBSZWFkeVN0YXRlTmV3ID0gMCwKLSAgICAgICAgUmVhZHlTdGF0ZU5lZ290aWF0aW5n
ID0gMSwKKyAgICAgICAgUmVhZHlTdGF0ZU9wZW5pbmcgPSAxLAogICAgICAgICBSZWFkeVN0YXRl
QWN0aXZlID0gMiwKLSAgICAgICAgUmVhZHlTdGF0ZUNsb3NlZCA9IDMKKyAgICAgICAgUmVhZHlT
dGF0ZUNsb3NlZCA9IDMsCisKKyAgICAgICAgLy8gREVQUkVDQVRFRAorICAgICAgICBSZWFkeVN0
YXRlTmVnb3RpYXRpbmcgPSAxLAogICAgIH07CiAKICAgICBlbnVtIElDRVN0YXRlIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24w
MC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9u
MDAuY3BwCmluZGV4IDc2YzE5NjQ0ZmUzZDQxNDYzYzAxMGQyMWJkYjFjNjJmYzllNjUxYzEuLmUx
NmExZmI0MjdjODFiMzY0OTg5YzQwNzcyNDNiNmIwNDkxMTVkMmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmNwcApA
QCAtOTEsNTIgKzkxLDYwIEBAIGJvb2wgUGVlckNvbm5lY3Rpb24wMDo6aGFzTG9jYWxWaWRlb1Ry
YWNrKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVBhc3NSZWZQdHI8TWVkaWFIaW50cz4gUGVl
ckNvbm5lY3Rpb24wMDo6cGFyc2VNZWRpYUhpbnRzKGNvbnN0IFN0cmluZyYgbWVkaWFIaW50cykK
K1Bhc3NSZWZQdHI8TWVkaWFIaW50cz4gUGVlckNvbm5lY3Rpb24wMDo6Y3JlYXRlTWVkaWFIaW50
cyhjb25zdCBEaWN0aW9uYXJ5JiBkaWN0aW9uYXJ5KQogewotICAgIFZlY3RvcjxTdHJpbmc+IGhp
bnRzTGlzdDsKLSAgICBtZWRpYUhpbnRzLnNwbGl0KCIsIiwgaGludHNMaXN0KTsKICAgICBib29s
IGF1ZGlvID0gaGFzTG9jYWxBdWRpb1RyYWNrKCk7CiAgICAgYm9vbCB2aWRlbyA9IGhhc0xvY2Fs
VmlkZW9UcmFjaygpOwotICAgIGZvciAoVmVjdG9yPFN0cmluZz46Oml0ZXJhdG9yIGkgPSBoaW50
c0xpc3QuYmVnaW4oKTsgaSAhPSBoaW50c0xpc3QuZW5kKCk7ICsraSkgewotICAgICAgICBpZiAo
KmkgPT0gImF1ZGlvIikKLSAgICAgICAgICAgIGF1ZGlvID0gdHJ1ZTsKLSAgICAgICAgZWxzZSBp
ZiAoKmkgPT0gIm5vX2F1ZGlvIikKLSAgICAgICAgICAgIGF1ZGlvID0gZmFsc2U7Ci0gICAgICAg
IGVsc2UgaWYgKCppID09ICJ2aWRlbyIpCi0gICAgICAgICAgICB2aWRlbyA9IHRydWU7Ci0gICAg
ICAgIGVsc2UgaWYgKCppID09ICJub192aWRlbyIpCi0gICAgICAgICAgICB2aWRlbyA9IGZhbHNl
OwotICAgIH0KKyAgICBkaWN0aW9uYXJ5LmdldCgiaGFzX2F1ZGlvIiwgYXVkaW8pOworICAgIGRp
Y3Rpb25hcnkuZ2V0KCJoYXNfdmlkZW8iLCBhdWRpbyk7CisgICAgcmV0dXJuIE1lZGlhSGludHM6
OmNyZWF0ZShhdWRpbywgdmlkZW8pOworfQogCitQYXNzUmVmUHRyPE1lZGlhSGludHM+IFBlZXJD
b25uZWN0aW9uMDA6OmNyZWF0ZU1lZGlhSGludHMoKQoreworICAgIGJvb2wgYXVkaW8gPSBoYXNM
b2NhbEF1ZGlvVHJhY2soKTsKKyAgICBib29sIHZpZGVvID0gaGFzTG9jYWxWaWRlb1RyYWNrKCk7
CiAgICAgcmV0dXJuIE1lZGlhSGludHM6OmNyZWF0ZShhdWRpbywgdmlkZW8pOwogfQogCi1QYXNz
UmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gUGVlckNvbm5lY3Rpb24wMDo6Y3JlYXRlT2ZmZXIo
KQorUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+IFBlZXJDb25uZWN0aW9uMDA6OmNyZWF0
ZU9mZmVyKEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIHJldHVybiBjcmVhdGVPZmZlcigiIik7
CisgICAgcmV0dXJuIGNyZWF0ZU9mZmVyKGNyZWF0ZU1lZGlhSGludHMoKSwgZWMpOwogfQogCi1Q
YXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gUGVlckNvbm5lY3Rpb24wMDo6Y3JlYXRlT2Zm
ZXIoY29uc3QgU3RyaW5nJiBtZWRpYUhpbnRzU3RyaW5nKQorUGFzc1JlZlB0cjxTZXNzaW9uRGVz
Y3JpcHRpb24+IFBlZXJDb25uZWN0aW9uMDA6OmNyZWF0ZU9mZmVyKGNvbnN0IERpY3Rpb25hcnkm
IGRpY3Rpb25hcnksIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIFJlZlB0cjxNZWRpYUhpbnRz
PiBtZWRpYUhpbnRzID0gcGFyc2VNZWRpYUhpbnRzKG1lZGlhSGludHNTdHJpbmcpOwotICAgIFJl
ZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBkZXNjcmlwdG9yID0gbV9wZWVySGFu
ZGxlci0+Y3JlYXRlT2ZmZXIobWVkaWFIaW50cy5yZWxlYXNlKCkpOwotICAgIGlmICghZGVzY3Jp
cHRvcikKKyAgICByZXR1cm4gY3JlYXRlT2ZmZXIoY3JlYXRlTWVkaWFIaW50cyhkaWN0aW9uYXJ5
KSwgZWMpOworfQorCitQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gUGVlckNvbm5lY3Rp
b24wMDo6Y3JlYXRlT2ZmZXIoUGFzc1JlZlB0cjxNZWRpYUhpbnRzPiBtZWRpYUhpbnRzLCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRv
cj4gZGVzY3JpcHRvciA9IG1fcGVlckhhbmRsZXItPmNyZWF0ZU9mZmVyKG1lZGlhSGludHMpOwor
ICAgIGlmICghZGVzY3JpcHRvcikgeworICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAg
IHJldHVybiAwOworICAgIH0KIAogICAgIHJldHVybiBTZXNzaW9uRGVzY3JpcHRpb246OmNyZWF0
ZShkZXNjcmlwdG9yLnJlbGVhc2UoKSk7CiB9CiAKLVBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0
aW9uPiBQZWVyQ29ubmVjdGlvbjAwOjpjcmVhdGVBbnN3ZXIoY29uc3QgU3RyaW5nJiBvZmZlcikK
K1Bhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBQZWVyQ29ubmVjdGlvbjAwOjpjcmVhdGVB
bnN3ZXIoY29uc3QgU3RyaW5nJiBvZmZlciwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgcmV0
dXJuIGNyZWF0ZUFuc3dlcihvZmZlciwgIiIpOworICAgIHJldHVybiBjcmVhdGVBbnN3ZXIob2Zm
ZXIsIGNyZWF0ZU1lZGlhSGludHMoKSwgZWMpOwogfQogCi1QYXNzUmVmUHRyPFNlc3Npb25EZXNj
cmlwdGlvbj4gUGVlckNvbm5lY3Rpb24wMDo6Y3JlYXRlQW5zd2VyKGNvbnN0IFN0cmluZyYgb2Zm
ZXIsIGNvbnN0IFN0cmluZyYgbWVkaWFIaW50c1N0cmluZykKK1Bhc3NSZWZQdHI8U2Vzc2lvbkRl
c2NyaXB0aW9uPiBQZWVyQ29ubmVjdGlvbjAwOjpjcmVhdGVBbnN3ZXIoY29uc3QgU3RyaW5nJiBv
ZmZlciwgY29uc3QgRGljdGlvbmFyeSYgZGljdGlvbmFyeSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7
Ci0gICAgUmVmUHRyPE1lZGlhSGludHM+IG1lZGlhSGludHMgPSBwYXJzZU1lZGlhSGludHMobWVk
aWFIaW50c1N0cmluZyk7Ci0gICAgUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+
IGRlc2NyaXB0b3IgPSBtX3BlZXJIYW5kbGVyLT5jcmVhdGVBbnN3ZXIob2ZmZXIsIG1lZGlhSGlu
dHMucmVsZWFzZSgpKTsKLSAgICBpZiAoIWRlc2NyaXB0b3IpCisgICAgcmV0dXJuIGNyZWF0ZUFu
c3dlcihvZmZlciwgY3JlYXRlTWVkaWFIaW50cyhkaWN0aW9uYXJ5KSwgZWMpOworfQorCitQYXNz
UmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gUGVlckNvbm5lY3Rpb24wMDo6Y3JlYXRlQW5zd2Vy
KGNvbnN0IFN0cmluZyYgb2ZmZXIsIFBhc3NSZWZQdHI8TWVkaWFIaW50cz4gaGludHMsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQoreworICAgIFJlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9y
PiBkZXNjcmlwdG9yID0gbV9wZWVySGFuZGxlci0+Y3JlYXRlQW5zd2VyKG9mZmVyLCBoaW50cyk7
CisgICAgaWYgKCFkZXNjcmlwdG9yKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAg
ICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgcmV0dXJuIFNlc3Npb25EZXNjcmlwdGlvbjo6Y3Jl
YXRlKGRlc2NyaXB0b3IucmVsZWFzZSgpKTsKIH0KQEAgLTIxNSwzMiArMjIzLDUzIEBAIFBhc3NS
ZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBQZWVyQ29ubmVjdGlvbjAwOjpyZW1vdGVEZXNjcmlw
dGlvbigpCiAgICAgcmV0dXJuIGRlc2MucmVsZWFzZSgpOwogfQogCi12b2lkIFBlZXJDb25uZWN0
aW9uMDA6OnN0YXJ0SWNlKEV4Y2VwdGlvbkNvZGUmIGVjKQorUGFzc1JlZlB0cjxJY2VPcHRpb25z
PiBQZWVyQ29ubmVjdGlvbjAwOjpjcmVhdGVJY2VPcHRpb25zKGNvbnN0IERpY3Rpb25hcnkmIGRp
Y3Rpb25hcnksIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIHN0YXJ0SWNlKCIiLCBlYyk7Ci19
Ci0KLXZvaWQgUGVlckNvbm5lY3Rpb24wMDo6c3RhcnRJY2UoY29uc3QgU3RyaW5nJiBvcHRpb25z
LCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAobV9yZWFkeVN0YXRlID09IENMT1NFRCkg
ewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAg
fQorICAgIFN0cmluZyB1c2VDYW5kaWRhdGVzOworICAgIGRpY3Rpb25hcnkuZ2V0KCJ1c2VfY2Fu
ZGlkYXRlcyIsIHVzZUNhbmRpZGF0ZXMpOwogCiAgICAgSWNlT3B0aW9uczo6VXNlQ2FuZGlkYXRl
c09wdGlvbiBvcHRpb247Ci0KLSAgICBpZiAob3B0aW9ucyA9PSAiIiB8fCBvcHRpb25zID09ICJh
bGwiKQorICAgIGlmICh1c2VDYW5kaWRhdGVzID09ICIiIHx8IHVzZUNhbmRpZGF0ZXMgPT0gImFs
bCIpCiAgICAgICAgIG9wdGlvbiA9IEljZU9wdGlvbnM6OkFMTDsKLSAgICBlbHNlIGlmIChvcHRp
b25zID09ICJub19yZWxheSIpCisgICAgZWxzZSBpZiAodXNlQ2FuZGlkYXRlcyA9PSAibm9fcmVs
YXkiKQogICAgICAgICBvcHRpb24gPSBJY2VPcHRpb25zOjpOT19SRUxBWTsKLSAgICBlbHNlIGlm
IChvcHRpb25zID09ICJvbmx5X3JlbGF5IikKKyAgICBlbHNlIGlmICh1c2VDYW5kaWRhdGVzID09
ICJvbmx5X3JlbGF5IikKICAgICAgICAgb3B0aW9uID0gSWNlT3B0aW9uczo6T05MWV9SRUxBWTsK
ICAgICBlbHNlIHsKICAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VSUjsKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgfQorCisgICAgcmV0dXJuIEljZU9wdGlvbnM6OmNyZWF0ZShvcHRpb24pOwor
fQorCitQYXNzUmVmUHRyPEljZU9wdGlvbnM+IFBlZXJDb25uZWN0aW9uMDA6OmNyZWF0ZUljZU9w
dGlvbnMoKQoreworICAgIHJldHVybiBJY2VPcHRpb25zOjpjcmVhdGUoSWNlT3B0aW9uczo6QUxM
KTsKK30KKwordm9pZCBQZWVyQ29ubmVjdGlvbjAwOjpzdGFydEljZShFeGNlcHRpb25Db2RlJiBl
YykKK3sKKyAgICBzdGFydEljZShjcmVhdGVJY2VPcHRpb25zKCksIGVjKTsKK30KKwordm9pZCBQ
ZWVyQ29ubmVjdGlvbjAwOjpzdGFydEljZShjb25zdCBEaWN0aW9uYXJ5JiBkaWN0aW9uYXJ5LCBF
eGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBSZWZQdHI8SWNlT3B0aW9ucz4gaWNlT3B0aW9ucyA9
IGNyZWF0ZUljZU9wdGlvbnMoZGljdGlvbmFyeSwgZWMpOworICAgIGlmICghZWMpCisgICAgICAg
IHJldHVybjsKKworICAgIHN0YXJ0SWNlKGljZU9wdGlvbnMucmVsZWFzZSgpLCBlYyk7Cit9CisK
K3ZvaWQgUGVlckNvbm5lY3Rpb24wMDo6c3RhcnRJY2UoUGFzc1JlZlB0cjxJY2VPcHRpb25zPiBp
Y2VPcHRpb25zLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAobV9yZWFkeVN0YXRlID09
IENMT1NFRCkgeworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgYm9vbCB2YWxpZCA9IG1fcGVlckhhbmRsZXItPnN0YXJ0SWNlKElj
ZU9wdGlvbnM6OmNyZWF0ZShvcHRpb24pKTsKKyAgICBib29sIHZhbGlkID0gbV9wZWVySGFuZGxl
ci0+c3RhcnRJY2UoaWNlT3B0aW9ucyk7CiAgICAgaWYgKCF2YWxpZCkKICAgICAgICAgZWMgPSBT
WU5UQVhfRVJSOwogfQpAQCAtMjczLDEzICszMDIsNyBAQCBQZWVyQ29ubmVjdGlvbjAwOjpJY2VT
dGF0ZSBQZWVyQ29ubmVjdGlvbjAwOjppY2VTdGF0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1faWNl
U3RhdGU7CiB9CiAKLXZvaWQgUGVlckNvbm5lY3Rpb24wMDo6YWRkU3RyZWFtKFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW0+IHN0cmVhbSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgU3RyaW5nIGVt
cHR5SGludHM7Ci0gICAgcmV0dXJuIGFkZFN0cmVhbShzdHJlYW0sIGVtcHR5SGludHMsIGVjKTsK
LX0KLQotdm9pZCBQZWVyQ29ubmVjdGlvbjAwOjphZGRTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbT4gcHJwU3RyZWFtLCBjb25zdCBTdHJpbmcmIG1lZGlhU3RyZWFtSGludHMsIEV4Y2VwdGlv
bkNvZGUmIGVjKQordm9pZCBQZWVyQ29ubmVjdGlvbjAwOjphZGRTdHJlYW0oUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbT4gcHJwU3RyZWFtLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBSZWZQdHI8
TWVkaWFTdHJlYW0+IHN0cmVhbSA9IHBycFN0cmVhbTsKICAgICBpZiAoIXN0cmVhbSkgewpAQCAt
Mjk3LDEwICszMjAsMTUgQEAgdm9pZCBQZWVyQ29ubmVjdGlvbjAwOjphZGRTdHJlYW0oUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbT4gcHJwU3RyZWFtLCBjb25zdCBTdHJpbmcKIAogICAgIG1fbG9jYWxT
dHJlYW1zLT5hcHBlbmQoc3RyZWFtKTsKIAotICAgIC8vIEZJWE1FOiBXaGVuIHRoZSBzcGVjIHNh
eXMgd2hhdCB0aGUgbWVkaWFTdHJlYW1IaW50cyBzaG91bGQgbG9vayBsaWtlIHNlbmQgaXQgZG93
bi4KICAgICBtX3BlZXJIYW5kbGVyLT5hZGRTdHJlYW0oc3RyZWFtLT5kZXNjcmlwdG9yKCkpOwog
fQogCit2b2lkIFBlZXJDb25uZWN0aW9uMDA6OmFkZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3Ry
ZWFtPiBzdHJlYW0sIGNvbnN0IERpY3Rpb25hcnkmIG1lZGlhU3RyZWFtSGludHMsIEV4Y2VwdGlv
bkNvZGUmIGVjKQoreworICAgIC8vIEZJWE1FOiBXaGVuIHRoZSBzcGVjIHNheXMgd2hhdCB0aGUg
bWVkaWFTdHJlYW1IaW50cyBzaG91bGQgbG9vayBsaWtlIHVzZSBpdC4KKyAgICBhZGRTdHJlYW0o
c3RyZWFtLCBlYyk7Cit9CisKIHZvaWQgUGVlckNvbm5lY3Rpb24wMDo6cmVtb3ZlU3RyZWFtKE1l
ZGlhU3RyZWFtKiBzdHJlYW0sIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmIChtX3JlYWR5
U3RhdGUgPT0gQ0xPU0VEKSB7CkBAIC00MzUsNyArNDYzLDcgQEAgdm9pZCBQZWVyQ29ubmVjdGlv
bjAwOjpjaGFuZ2VSZWFkeVN0YXRlKFJlYWR5U3RhdGUgcmVhZHlTdGF0ZSkKICAgICBtX3JlYWR5
U3RhdGUgPSByZWFkeVN0YXRlOwogCiAgICAgc3dpdGNoIChtX3JlYWR5U3RhdGUpIHsKLSAgICBj
YXNlIE5FR09USUFUSU5HOgorICAgIGNhc2UgT1BFTklORzoKICAgICAgICAgZGlzcGF0Y2hFdmVu
dChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jb25uZWN0aW5nRXZlbnQsIGZhbHNlLCBmYWxz
ZSkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEFDVElWRToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmgKaW5kZXggNTIw
ZDYxZDhkYjI4MmIzYTlmNzU2YTFmMjY2YjNlYjYyZmFiZTVkZS4uZGM3NjAxZjNlYjVjMDM3YmZh
YmE1NTk1ZTVlMGU3NjA2OTczYmFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisj
aW5jbHVkZSAiRGljdGlvbmFyeS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uQmFzZS5oIgogI2luY2x1ZGUgIkljZUNhbGxiYWNrLmgiCkBAIC00OSw2ICs1
MCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1lZGlhSGludHM7CitjbGFzcyBJ
Y2VPcHRpb25zOwogCiAvLyBOb3RlOgogLy8gU0RQIHN0YW5kcyBmb3IgU2Vzc2lvbiBEZXNjcmlw
dGlvbiBQcm90b2NvbCwgd2hpY2ggaXMgaW50ZW5kZWQgZm9yIGRlc2NyaWJpbmcKQEAgLTYzLDcg
KzY1LDcgQEAgY2xhc3MgUGVlckNvbm5lY3Rpb24wMCA6IHB1YmxpYyBSZWZDb3VudGVkPFBlZXJD
b25uZWN0aW9uMDA+LCBwdWJsaWMgUGVlckNvbm5lY3QKIHB1YmxpYzoKICAgICBlbnVtIFJlYWR5
U3RhdGUgewogICAgICAgICBORVcgPSAwLAotICAgICAgICBORUdPVElBVElORyA9IDEsCisgICAg
ICAgIE9QRU5JTkcgPSAxLAogICAgICAgICBBQ1RJVkUgPSAyLAogICAgICAgICBDTE9TRUQgPSAz
CiAgICAgfTsKQEAgLTg3LDEwICs4OSwxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8UGVlckNvbm5lY3Rpb24wMD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25z
dCBTdHJpbmcmIHNlcnZlckNvbmZpZ3VyYXRpb24sIFBhc3NSZWZQdHI8SWNlQ2FsbGJhY2s+KTsK
ICAgICB+UGVlckNvbm5lY3Rpb24wMCgpOwogCi0gICAgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3Jp
cHRpb24+IGNyZWF0ZU9mZmVyKCk7Ci0gICAgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+
IGNyZWF0ZU9mZmVyKGNvbnN0IFN0cmluZyYgbWVkaWFIaW50cyk7Ci0gICAgUGFzc1JlZlB0cjxT
ZXNzaW9uRGVzY3JpcHRpb24+IGNyZWF0ZUFuc3dlcihjb25zdCBTdHJpbmcmIG9mZmVyKTsKLSAg
ICBQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gY3JlYXRlQW5zd2VyKGNvbnN0IFN0cmlu
ZyYgb2ZmZXIsIGNvbnN0IFN0cmluZyYgbWVkaWFIaW50cyk7CisgICAgUGFzc1JlZlB0cjxTZXNz
aW9uRGVzY3JpcHRpb24+IGNyZWF0ZU9mZmVyKEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQYXNzUmVm
UHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gY3JlYXRlT2ZmZXIoY29uc3QgRGljdGlvbmFyeSYgbWVk
aWFIaW50cywgRXhjZXB0aW9uQ29kZSYpOworICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0
aW9uPiBjcmVhdGVBbnN3ZXIoY29uc3QgU3RyaW5nJiBvZmZlciwgRXhjZXB0aW9uQ29kZSYpOwor
ICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBjcmVhdGVBbnN3ZXIoY29uc3QgU3Ry
aW5nJiBvZmZlciwgY29uc3QgRGljdGlvbmFyeSYgbWVkaWFIaW50cywgRXhjZXB0aW9uQ29kZSYp
OwogCiAgICAgdm9pZCBzZXRMb2NhbERlc2NyaXB0aW9uKGludCBhY3Rpb24sIFBhc3NSZWZQdHI8
U2Vzc2lvbkRlc2NyaXB0aW9uPiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0UmVtb3Rl
RGVzY3JpcHRpb24oaW50IGFjdGlvbiwgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+LCBF
eGNlcHRpb25Db2RlJik7CkBAIC05OCwxNCArMTAwLDE0IEBAIHB1YmxpYzoKICAgICBQYXNzUmVm
UHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gcmVtb3RlRGVzY3JpcHRpb24oKTsKIAogICAgIHZvaWQg
c3RhcnRJY2UoRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgc3RhcnRJY2UoY29uc3QgU3RyaW5n
JiBvcHRpb25zLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBzdGFydEljZShjb25zdCBEaWN0
aW9uYXJ5JiBpY2VPcHRpb25zLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBwcm9jZXNzSWNl
TWVzc2FnZShQYXNzUmVmUHRyPEljZUNhbmRpZGF0ZT4sIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAg
IEljZVN0YXRlIGljZVN0YXRlKCkgY29uc3Q7CiAgICAgUmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkg
Y29uc3Q7CiAKICAgICB2b2lkIGFkZFN0cmVhbShjb25zdCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFt
PiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgYWRkU3RyZWFtKGNvbnN0IFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW0+LCBjb25zdCBTdHJpbmcmIG1lZGlhU3RyZWFtSGludHMsIEV4Y2VwdGlvbkNv
ZGUmKTsKKyAgICB2b2lkIGFkZFN0cmVhbShjb25zdCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiwg
Y29uc3QgRGljdGlvbmFyeSYgbWVkaWFTdHJlYW1IaW50cywgRXhjZXB0aW9uQ29kZSYpOwogICAg
IHZvaWQgcmVtb3ZlU3RyZWFtKE1lZGlhU3RyZWFtKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIE1l
ZGlhU3RyZWFtTGlzdCogbG9jYWxTdHJlYW1zKCkgY29uc3Q7CiAgICAgTWVkaWFTdHJlYW1MaXN0
KiByZW1vdGVTdHJlYW1zKCkgY29uc3Q7CkBAIC0xNDcsOSArMTQ5LDE2IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIGNoYW5nZVJlYWR5U3RhdGUoUmVhZHlTdGF0ZSk7CiAgICAgdm9pZCBjaGFuZ2VJ
Y2VTdGF0ZShJY2VTdGF0ZSk7CisKICAgICBib29sIGhhc0xvY2FsQXVkaW9UcmFjaygpOwogICAg
IGJvb2wgaGFzTG9jYWxWaWRlb1RyYWNrKCk7Ci0gICAgUGFzc1JlZlB0cjxNZWRpYUhpbnRzPiBw
YXJzZU1lZGlhSGludHMoY29uc3QgU3RyaW5nJiBtZWRpYUhpbnRzU3RyaW5nKTsKKyAgICBQYXNz
UmVmUHRyPE1lZGlhSGludHM+IGNyZWF0ZU1lZGlhSGludHMoY29uc3QgRGljdGlvbmFyeSYpOwor
ICAgIFBhc3NSZWZQdHI8TWVkaWFIaW50cz4gY3JlYXRlTWVkaWFIaW50cygpOworICAgIFBhc3NS
ZWZQdHI8SWNlT3B0aW9ucz4gY3JlYXRlSWNlT3B0aW9ucyhjb25zdCBEaWN0aW9uYXJ5JiwgRXhj
ZXB0aW9uQ29kZSYpOworICAgIFBhc3NSZWZQdHI8SWNlT3B0aW9ucz4gY3JlYXRlSWNlT3B0aW9u
cygpOworICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBjcmVhdGVPZmZlcihQYXNz
UmVmUHRyPE1lZGlhSGludHM+LCBFeGNlcHRpb25Db2RlJik7CisgICAgUGFzc1JlZlB0cjxTZXNz
aW9uRGVzY3JpcHRpb24+IGNyZWF0ZUFuc3dlcihjb25zdCBTdHJpbmcmIG9mZmVyLCBQYXNzUmVm
UHRyPE1lZGlhSGludHM+LCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBzdGFydEljZShQYXNz
UmVmUHRyPEljZU9wdGlvbnM+LCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBSZWZQdHI8SWNlQ2Fs
bGJhY2s+IG1faWNlQ2FsbGJhY2s7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAuaWRsCmluZGV4IGFkMmU1YTYzNjViMWMx
ZmViNzg2ODViM2MwYjQ2MzAzOWI2OWU4YTQuLmJiZmZlOWNkNGRjNWY0YWYzMDY4ZjI5MzkyZGUy
N2Y2ZTRmZjRhMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUGVlckNvbm5lY3Rpb24wMC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmlkbApAQCAtMzcsMTEgKzM3LDEwIEBAIG1vZHVsZSBw
MnAgewogICAgICAgICBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LAogICAgICAgICBF
dmVudFRhcmdldAogICAgIF0gUGVlckNvbm5lY3Rpb24wMCB7Ci0gICAgICAgIC8vIEZJWE1FOiBN
YWtlIG1lZGlhSGludHMgYW4gb2JqZWN0Ci0gICAgICAgIFNlc3Npb25EZXNjcmlwdGlvbiBjcmVh
dGVPZmZlcihpbiBbT3B0aW9uYWxdIERPTVN0cmluZyBtZWRpYUhpbnRzKTsKLQotICAgICAgICAv
LyBGSVhNRTogTWFrZSBtZWRpYUhpbnRzIGFuIG9iamVjdAotICAgICAgICBTZXNzaW9uRGVzY3Jp
cHRpb24gY3JlYXRlQW5zd2VyKGluIERPTVN0cmluZyBvZmZlciwgaW4gW09wdGlvbmFsXSBET01T
dHJpbmcgbWVkaWFIaW50cyk7CisgICAgICAgIFNlc3Npb25EZXNjcmlwdGlvbiBjcmVhdGVPZmZl
cihpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkgbWVkaWFIaW50cykKKyAgICAgICAgICAgIHJhaXNl
cyhET01FeGNlcHRpb24pOworICAgICAgICBTZXNzaW9uRGVzY3JpcHRpb24gY3JlYXRlQW5zd2Vy
KGluIERPTVN0cmluZyBvZmZlciwgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG1lZGlhSGludHMp
CisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICAvLyBBY3Rpb25z
LCBmb3Igc2V0TG9jYWxEZXNjcmlwdGlvbi9zZXRSZW1vdGVEZXNjcmlwdGlvbi4KICAgICAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgU0RQX09GRkVSID0gMHgxMDA7CkBAIC01MCwyMiArNDksMTkg
QEAgbW9kdWxlIHAycCB7CiAKICAgICAgICAgdm9pZCBzZXRMb2NhbERlc2NyaXB0aW9uKGluIHVu
c2lnbmVkIHNob3J0IGFjdGlvbiwgaW4gU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2MpCiAgICAgICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLQogICAgICAgICB2b2lkIHNldFJlbW90ZURlc2Ny
aXB0aW9uKGluIHVuc2lnbmVkIHNob3J0IGFjdGlvbiwgaW4gU2Vzc2lvbkRlc2NyaXB0aW9uIGRl
c2MpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgU2Vzc2lvbkRlc2NyaXB0aW9uIGxvY2FsRGVzY3JpcHRpb247Ci0KICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFNlc3Npb25EZXNjcmlwdGlvbiByZW1vdGVEZXNjcmlwdGlv
bjsKIAogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBORVcgPSAwOwotICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBORUdPVElBVElORyA9IDE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IE9QRU5JTkcgPSAxOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBBQ1RJVkUg
PSAyOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDTE9TRUQgPSAzOwogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcmVhZHlTdGF0ZTsKIAotICAgICAgICAv
LyBGSVhNRTogTWFrZSBpY2VPcHRpb25zIGFuIG9iamVjdAotICAgICAgICB2b2lkIHN0YXJ0SWNl
KGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIGljZU9wdGlvbnMpCisgICAgICAgIHZvaWQgc3RhcnRJ
Y2UoaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IGljZU9wdGlvbnMpCiAgICAgICAgICAgICByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICB2b2lkIHByb2Nlc3NJY2VNZXNzYWdlKGluIElj
ZUNhbmRpZGF0ZSBjYW5kaWRhdGUpCkBAIC04MCw4ICs3Niw3IEBAIG1vZHVsZSBwMnAgewogICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBJQ0VfQ0xPU0VEID0gMHg3MDA7CiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBpY2VTdGF0ZTsKIAotICAgICAgICAvLyBG
SVhNRTogTWFrZSBtZWRpYVN0cmVhbUhpbnRzIGFuIG9iamVjdAotICAgICAgICBbU3RyaWN0VHlw
ZUNoZWNraW5nXSB2b2lkIGFkZFN0cmVhbShpbiBNZWRpYVN0cmVhbSBzdHJlYW0sIGluIFtPcHRp
b25hbF0gRE9NU3RyaW5nIG1lZGlhU3RyZWFtSGludHMpCisgICAgICAgIFtTdHJpY3RUeXBlQ2hl
Y2tpbmddIHZvaWQgYWRkU3RyZWFtKGluIE1lZGlhU3RyZWFtIHN0cmVhbSwgaW4gW09wdGlvbmFs
XSBEaWN0aW9uYXJ5IG1lZGlhU3RyZWFtSGludHMpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKICAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCByZW1vdmVTdHJlYW0o
aW4gTWVkaWFTdHJlYW0gc3RyZWFtKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0Vu
dW1zLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMu
Y3BwCmluZGV4IDY5ZTU5NjIyOWY0M2QyZmRlNDVjZGI0YTA3MGM1ZDdkM2Q2MDhiZTkuLjU3NTI3
ZDQ2OGIzNDE2NjY2ODNjZmNkN2ViZjZjMzNlMDZmNWMzNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCkBAIC01NDcsNyArNTQ3
LDggQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJQZWVyQ29ubmVjdGlvbjAwSGFu
ZGxlcjo6QWN0aW9uU0RQUFJhbnN3ZXIsIFBlZXIKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXI6OkFjdGlvblNEUEFuc3dlciwgUGVlckNvbm5l
Y3Rpb24wMDo6U0RQX0FOU1dFUik7CiAKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
UGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQ6OlJlYWR5U3RhdGVOZXcsIFBlZXJDb25uZWN0
aW9uMDA6Ok5FVyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlBlZXJDb25uZWN0
aW9uMDBIYW5kbGVyQ2xpZW50OjpSZWFkeVN0YXRlTmVnb3RpYXRpbmcsIFBlZXJDb25uZWN0aW9u
MDA6Ok5FR09USUFUSU5HKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViUGVlckNv
bm5lY3Rpb24wMEhhbmRsZXJDbGllbnQ6OlJlYWR5U3RhdGVPcGVuaW5nLCBQZWVyQ29ubmVjdGlv
bjAwOjpPUEVOSU5HKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViUGVlckNvbm5l
Y3Rpb24wMEhhbmRsZXJDbGllbnQ6OlJlYWR5U3RhdGVOZWdvdGlhdGluZywgUGVlckNvbm5lY3Rp
b24wMDo6T1BFTklORyk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlBlZXJDb25u
ZWN0aW9uMDBIYW5kbGVyQ2xpZW50OjpSZWFkeVN0YXRlQWN0aXZlLCBQZWVyQ29ubmVjdGlvbjAw
OjpBQ1RJVkUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJQZWVyQ29ubmVjdGlv
bjAwSGFuZGxlckNsaWVudDo6UmVhZHlTdGF0ZUNsb3NlZCwgUGVlckNvbm5lY3Rpb24wMDo6Q0xP
U0VEKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDMzOTg5NTk4NDg2NzBhMDc3MmYxNWM4N2Y1NmEwNjYzOTRlYzgzYjMu
LmFlNGJjMjhlYTllYWQ2ZjU4NzkyMDJkZjNlMWFhMjJhODY3NjkyOWUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOSBAQAorMjAxMi0wNS0wMyAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNv
bT4KKworICAgICAgICBzdHlsZQorCisgICAgICAgIEdUSyBmaXgKKworICAgICAgICBDaGFuZ2VM
b2dzCisKKyAgICAgICAgRGljdGlvbmFyeSAmIGNvbXBsaWFuY2UKKworICAgICAgICBNZWRpYVN0
cmVhbSBBUEk6IE1ha2UgUGVlckNvbm5lY3Rpb24wMCdzIEFQSSBmdWxseSBjb21wbGlhbnQgd2l0
aCB0aGUgZHJhZnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg1NDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBmYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLUF0dHJpYnV0ZXMtZXhwZWN0ZWQu
dHh0OgorCisyMDEyLTA1LTAzICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29t
PgorCisgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogTWFrZSBQZWVyQ29ubmVjdGlvbjAwJ3MgQVBJ
IGZ1bGx5IGNvbXBsaWFudCB3aXRoIHRoZSBkcmFmdAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU0OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24t
QXR0cmlidXRlcy1leHBlY3RlZC50eHQ6CisKIDIwMTItMDUtMDMgIE1paG5lYSBPdmlkZW5pZSAg
PG1paG5lYUBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTU1JlZ2lvbnNdQ29ycmVjdCBmYXN0L3Jl
Z2lvbnMvcmVnaW9uLXN0eWxlLWlubGluZS1iYWNrZ3JvdW5kLWNvbG9yLmh0bWwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tQXR0cmlidXRl
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0
aW9uLUF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CmluZGV4IDRjYTc3MTE4OGRjNDQzNmY4OWE3NmU5
MWRiNGMxOWFhYmU3YzZkNTMuLmMwNWExOWU5OTBmYWRlMzdlYjRkZjBiNzcyZmRkN2ExMDJkMzZk
YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rp
b24tQXR0cmlidXRlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9wZWVyY29ubmVjdGlvbi1BdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtNyw3ICs3LDcg
QEAgUEFTUyB0eXBlb2YgcGMuYWRkU3RyZWFtID09PSAnZnVuY3Rpb24nIGlzIHRydWUKIFBBU1Mg
dHlwZW9mIHBjLnJlbW92ZVN0cmVhbSA9PT0gJ2Z1bmN0aW9uJyBpcyB0cnVlCiBQQVNTIHR5cGVv
ZiBwYy5jbG9zZSA9PT0gJ2Z1bmN0aW9uJyBpcyB0cnVlCiBQQVNTIHBjLk5FVyA9PT0gMCBpcyB0
cnVlCi1GQUlMIHBjLk9QRU5JTkcgPT09IDEgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK1BB
U1MgcGMuT1BFTklORyA9PT0gMSBpcyB0cnVlCiBQQVNTIHBjLkFDVElWRSA9PT0gMiBpcyB0cnVl
CiBQQVNTIHBjLkNMT1NFRCA9PT0gMyBpcyB0cnVlCiBQQVNTIHBjLklDRV9HQVRIRVJJTkcgPT09
IDB4MTAwIGlzIHRydWUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140188</attachid>
            <date>2012-05-04 04:14:32 -0700</date>
            <delta_ts>2012-05-04 10:54:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85491-20120504131429.patch</filename>
            <type>text/plain</type>
            <size>23523</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1OTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAwM2RiZTUyMGRmOWNj
Yjk1OTE3NzFiYTBjNjA3YzQ1NjI0NzE5ODUzLi40ZjJmYzk3ODhhN2RiNjhmNzIyZDdhMDM3MzMy
MmMyODNiNjk2MzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wNS0wNCAg
VG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBNZWRpYVN0
cmVhbSBBUEk6IE1ha2UgUGVlckNvbm5lY3Rpb24wMCdzIEFQSSBmdWxseSBjb21wbGlhbnQgd2l0
aCB0aGUgZHJhZnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg1NDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaDoK
KwogMjAxMi0wNS0wMiAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIERvbid0IG9jY2x1ZGUgcGl4ZWxzIGluIGEgc3VyZmFjZSB0aGF0IGFy
ZSBuZWVkZWQgZm9yIGEgYmFja2dyb3VuZCBmaWx0ZXIgYmx1cgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg4ZTdk
NmMwYzQ5MGQyYTY1OWM1NmQzMjU3NjAzMjc4ZDExNTI4OTkuLjVkNjkyMDczNjg2YmFmYTM5NzMz
NTMxODNmNzgxMGU3MTZlZWM0NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMi0w
NS0wNCAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBN
ZWRpYVN0cmVhbSBBUEk6IE1ha2UgUGVlckNvbm5lY3Rpb24wMCdzIEFQSSBmdWxseSBjb21wbGlh
bnQgd2l0aCB0aGUgZHJhZnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg1NDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTWFpbmx5IG1ha2luZyB0aGUgcmVsZXZhbnQgQVBJJ3MgdXNlIG9iamVjdHMgKGFr
YSBEaWN0aW9uYXJpZXMpIGluc3RlYWQgb2YgdGhlIHRlbXBvcmFyeSBzdHJpbmdzLAorICAgICAg
ICBidXQgYWxzbyBtYWtpbmcgYSBmZXcgQVBJJ3MgZXhjZXB0aW9uIGF3YXJlIGFuZCBjaGFuZ2lu
ZyB0aGUgbmFtZSBvZiBhIGZsYWcuCisKKyAgICAgICAgVGVzdDogZmFzdC9tZWRpYXN0cmVhbS9w
ZWVyY29ubmVjdGlvbi1pY2VvcHRpb25zLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb24wMC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVj
dGlvbjAwOjpjcmVhdGVNZWRpYUhpbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0
aW9uMDA6OmNyZWF0ZU9mZmVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVlckNvbm5lY3Rpb24wMDo6Y3JlYXRlQW5zd2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlBl
ZXJDb25uZWN0aW9uMDA6OmNyZWF0ZUljZU9wdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UGVl
ckNvbm5lY3Rpb24wMDo6Y3JlYXRlRGVmYXVsdEljZU9wdGlvbnMpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVlckNvbm5lY3Rpb24wMDo6c3RhcnRJY2UpOgorICAgICAgICAoV2ViQ29yZTo6UGVlckNv
bm5lY3Rpb24wMDo6YWRkU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9u
MDA6OmNoYW5nZVJlYWR5U3RhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUGVl
ckNvbm5lY3Rpb24wMC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChQZWVyQ29ubmVj
dGlvbjAwKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAu
aWRsOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1BlZXJDb25uZWN0
aW9uMDBIYW5kbGVySW50ZXJuYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rp
b24wMEhhbmRsZXJJbnRlcm5hbDo6c3RhcnRJY2UpOgorCiAyMDEyLTA1LTAzICBJbHlhIFRpa2hv
bm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBj
b21waWxlIHRpbWUgYW1iaWd1aXR5IGhhcHBlbnMgd2hlbiBJIHRyeSB0byBhc3NpZ24gYSBUeXBl
QnVpbGRlciBvYmplY3QgdG8gYW4gb3V0IGFyZ3VtZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCA2ZGQ3MjM1MmUzODM4NWQ1YjAxZjJjNjA0MjhhZjljODEwODM4YWZmLi41ZTMzZjk2
YmNhZDYwZTA0Zjk4ZjVhNzQwMTIzMTBhZmZjNjMyMGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA1LTA0ICBUb21teSBXaWRlbmZseWNodCAgPHRv
bW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogTWFrZSBQZWVyQ29u
bmVjdGlvbjAwJ3MgQVBJIGZ1bGx5IGNvbXBsaWFudCB3aXRoIHRoZSBkcmFmdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU0OTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcDoKKwogMjAxMi0wNS0wMyAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERvbid0IGFkZCBzbWFsbCBvcGFxdWUgYXJlYXMg
dG8gdGhlIG9jY2x1c2lvbiB0cmFja2VyJ3MgUmVnaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxh
dGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50Lmgg
Yi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlBlZXJDb25uZWN0aW9uMDBIYW5k
bGVyQ2xpZW50LmgKaW5kZXggYTZhYTcwODEwMWU2ZDk5NmU0ZWVmZTljNTk5ODljODQxZTAwNDBm
ZS4uYWI2MWZkOTg5MzdjZmIyZmMyNzk1YTQ3MmNjZTEwOTE4Y2EwZWE5OSAxMDA2NDQKLS0tIGEv
U291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxl
ckNsaWVudC5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViUGVlckNv
bm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaApAQCAtNDAsOSArNDAsMTIgQEAgY2xhc3MgV2ViUGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQgewogcHVibGljOgogICAgIGVudW0gUmVhZHlTdGF0
ZSB7CiAgICAgICAgIFJlYWR5U3RhdGVOZXcgPSAwLAotICAgICAgICBSZWFkeVN0YXRlTmVnb3Rp
YXRpbmcgPSAxLAorICAgICAgICBSZWFkeVN0YXRlT3BlbmluZyA9IDEsCiAgICAgICAgIFJlYWR5
U3RhdGVBY3RpdmUgPSAyLAotICAgICAgICBSZWFkeVN0YXRlQ2xvc2VkID0gMworICAgICAgICBS
ZWFkeVN0YXRlQ2xvc2VkID0gMywKKworICAgICAgICAvLyBERVBSRUNBVEVECisgICAgICAgIFJl
YWR5U3RhdGVOZWdvdGlhdGluZyA9IDEsCiAgICAgfTsKIAogICAgIGVudW0gSUNFU3RhdGUgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVj
dGlvbjAwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5l
Y3Rpb24wMC5jcHAKaW5kZXggNzZjMTk2NDRmZTNkNDE0NjNjMDEwZDIxYmRiMWM2MmZjOWU2NTFj
MS4uMWY4MjI1NTZmMzM3NzNiODViNzQ2MWNiMDNlNThkYjU2N2E4MTU1ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAu
Y3BwCkBAIC05MSw1MiArOTEsNjAgQEAgYm9vbCBQZWVyQ29ubmVjdGlvbjAwOjpoYXNMb2NhbFZp
ZGVvVHJhY2soKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotUGFzc1JlZlB0cjxNZWRpYUhpbnRz
PiBQZWVyQ29ubmVjdGlvbjAwOjpwYXJzZU1lZGlhSGludHMoY29uc3QgU3RyaW5nJiBtZWRpYUhp
bnRzKQorUGFzc1JlZlB0cjxNZWRpYUhpbnRzPiBQZWVyQ29ubmVjdGlvbjAwOjpjcmVhdGVNZWRp
YUhpbnRzKGNvbnN0IERpY3Rpb25hcnkmIGRpY3Rpb25hcnkpCiB7Ci0gICAgVmVjdG9yPFN0cmlu
Zz4gaGludHNMaXN0OwotICAgIG1lZGlhSGludHMuc3BsaXQoIiwiLCBoaW50c0xpc3QpOwogICAg
IGJvb2wgYXVkaW8gPSBoYXNMb2NhbEF1ZGlvVHJhY2soKTsKICAgICBib29sIHZpZGVvID0gaGFz
TG9jYWxWaWRlb1RyYWNrKCk7Ci0gICAgZm9yIChWZWN0b3I8U3RyaW5nPjo6aXRlcmF0b3IgaSA9
IGhpbnRzTGlzdC5iZWdpbigpOyBpICE9IGhpbnRzTGlzdC5lbmQoKTsgKytpKSB7Ci0gICAgICAg
IGlmICgqaSA9PSAiYXVkaW8iKQotICAgICAgICAgICAgYXVkaW8gPSB0cnVlOwotICAgICAgICBl
bHNlIGlmICgqaSA9PSAibm9fYXVkaW8iKQotICAgICAgICAgICAgYXVkaW8gPSBmYWxzZTsKLSAg
ICAgICAgZWxzZSBpZiAoKmkgPT0gInZpZGVvIikKLSAgICAgICAgICAgIHZpZGVvID0gdHJ1ZTsK
LSAgICAgICAgZWxzZSBpZiAoKmkgPT0gIm5vX3ZpZGVvIikKLSAgICAgICAgICAgIHZpZGVvID0g
ZmFsc2U7Ci0gICAgfQorICAgIGRpY3Rpb25hcnkuZ2V0KCJoYXNfYXVkaW8iLCBhdWRpbyk7Cisg
ICAgZGljdGlvbmFyeS5nZXQoImhhc192aWRlbyIsIGF1ZGlvKTsKKyAgICByZXR1cm4gTWVkaWFI
aW50czo6Y3JlYXRlKGF1ZGlvLCB2aWRlbyk7Cit9CiAKK1Bhc3NSZWZQdHI8TWVkaWFIaW50cz4g
UGVlckNvbm5lY3Rpb24wMDo6Y3JlYXRlTWVkaWFIaW50cygpCit7CisgICAgYm9vbCBhdWRpbyA9
IGhhc0xvY2FsQXVkaW9UcmFjaygpOworICAgIGJvb2wgdmlkZW8gPSBoYXNMb2NhbFZpZGVvVHJh
Y2soKTsKICAgICByZXR1cm4gTWVkaWFIaW50czo6Y3JlYXRlKGF1ZGlvLCB2aWRlbyk7CiB9CiAK
LVBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBQZWVyQ29ubmVjdGlvbjAwOjpjcmVhdGVP
ZmZlcigpCitQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gUGVlckNvbm5lY3Rpb24wMDo6
Y3JlYXRlT2ZmZXIoRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgcmV0dXJuIGNyZWF0ZU9mZmVy
KCIiKTsKKyAgICByZXR1cm4gY3JlYXRlT2ZmZXIoY3JlYXRlTWVkaWFIaW50cygpLCBlYyk7CiB9
CiAKLVBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBQZWVyQ29ubmVjdGlvbjAwOjpjcmVh
dGVPZmZlcihjb25zdCBTdHJpbmcmIG1lZGlhSGludHNTdHJpbmcpCitQYXNzUmVmUHRyPFNlc3Np
b25EZXNjcmlwdGlvbj4gUGVlckNvbm5lY3Rpb24wMDo6Y3JlYXRlT2ZmZXIoY29uc3QgRGljdGlv
bmFyeSYgZGljdGlvbmFyeSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgUmVmUHRyPE1lZGlh
SGludHM+IG1lZGlhSGludHMgPSBwYXJzZU1lZGlhSGludHMobWVkaWFIaW50c1N0cmluZyk7Ci0g
ICAgUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IGRlc2NyaXB0b3IgPSBtX3Bl
ZXJIYW5kbGVyLT5jcmVhdGVPZmZlcihtZWRpYUhpbnRzLnJlbGVhc2UoKSk7Ci0gICAgaWYgKCFk
ZXNjcmlwdG9yKQorICAgIHJldHVybiBjcmVhdGVPZmZlcihjcmVhdGVNZWRpYUhpbnRzKGRpY3Rp
b25hcnkpLCBlYyk7Cit9CisKK1Bhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBQZWVyQ29u
bmVjdGlvbjAwOjpjcmVhdGVPZmZlcihQYXNzUmVmUHRyPE1lZGlhSGludHM+IG1lZGlhSGludHMs
IEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIFJlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNj
cmlwdG9yPiBkZXNjcmlwdG9yID0gbV9wZWVySGFuZGxlci0+Y3JlYXRlT2ZmZXIobWVkaWFIaW50
cyk7CisgICAgaWYgKCFkZXNjcmlwdG9yKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAg
ICAgICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgcmV0dXJuIFNlc3Npb25EZXNjcmlwdGlvbjo6
Y3JlYXRlKGRlc2NyaXB0b3IucmVsZWFzZSgpKTsKIH0KIAotUGFzc1JlZlB0cjxTZXNzaW9uRGVz
Y3JpcHRpb24+IFBlZXJDb25uZWN0aW9uMDA6OmNyZWF0ZUFuc3dlcihjb25zdCBTdHJpbmcmIG9m
ZmVyKQorUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+IFBlZXJDb25uZWN0aW9uMDA6OmNy
ZWF0ZUFuc3dlcihjb25zdCBTdHJpbmcmIG9mZmVyLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAg
ICByZXR1cm4gY3JlYXRlQW5zd2VyKG9mZmVyLCAiIik7CisgICAgcmV0dXJuIGNyZWF0ZUFuc3dl
cihvZmZlciwgY3JlYXRlTWVkaWFIaW50cygpLCBlYyk7CiB9CiAKLVBhc3NSZWZQdHI8U2Vzc2lv
bkRlc2NyaXB0aW9uPiBQZWVyQ29ubmVjdGlvbjAwOjpjcmVhdGVBbnN3ZXIoY29uc3QgU3RyaW5n
JiBvZmZlciwgY29uc3QgU3RyaW5nJiBtZWRpYUhpbnRzU3RyaW5nKQorUGFzc1JlZlB0cjxTZXNz
aW9uRGVzY3JpcHRpb24+IFBlZXJDb25uZWN0aW9uMDA6OmNyZWF0ZUFuc3dlcihjb25zdCBTdHJp
bmcmIG9mZmVyLCBjb25zdCBEaWN0aW9uYXJ5JiBkaWN0aW9uYXJ5LCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKLSAgICBSZWZQdHI8TWVkaWFIaW50cz4gbWVkaWFIaW50cyA9IHBhcnNlTWVkaWFIaW50
cyhtZWRpYUhpbnRzU3RyaW5nKTsKLSAgICBSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3Jp
cHRvcj4gZGVzY3JpcHRvciA9IG1fcGVlckhhbmRsZXItPmNyZWF0ZUFuc3dlcihvZmZlciwgbWVk
aWFIaW50cy5yZWxlYXNlKCkpOwotICAgIGlmICghZGVzY3JpcHRvcikKKyAgICByZXR1cm4gY3Jl
YXRlQW5zd2VyKG9mZmVyLCBjcmVhdGVNZWRpYUhpbnRzKGRpY3Rpb25hcnkpLCBlYyk7Cit9CisK
K1Bhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBQZWVyQ29ubmVjdGlvbjAwOjpjcmVhdGVB
bnN3ZXIoY29uc3QgU3RyaW5nJiBvZmZlciwgUGFzc1JlZlB0cjxNZWRpYUhpbnRzPiBoaW50cywg
RXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRlc2Ny
aXB0b3I+IGRlc2NyaXB0b3IgPSBtX3BlZXJIYW5kbGVyLT5jcmVhdGVBbnN3ZXIob2ZmZXIsIGhp
bnRzKTsKKyAgICBpZiAoIWRlc2NyaXB0b3IpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwog
ICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAKICAgICByZXR1cm4gU2Vzc2lvbkRlc2NyaXB0aW9u
OjpjcmVhdGUoZGVzY3JpcHRvci5yZWxlYXNlKCkpOwogfQpAQCAtMjE1LDMyICsyMjMsNTMgQEAg
UGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+IFBlZXJDb25uZWN0aW9uMDA6OnJlbW90ZURl
c2NyaXB0aW9uKCkKICAgICByZXR1cm4gZGVzYy5yZWxlYXNlKCk7CiB9CiAKLXZvaWQgUGVlckNv
bm5lY3Rpb24wMDo6c3RhcnRJY2UoRXhjZXB0aW9uQ29kZSYgZWMpCitQYXNzUmVmUHRyPEljZU9w
dGlvbnM+IFBlZXJDb25uZWN0aW9uMDA6OmNyZWF0ZUljZU9wdGlvbnMoY29uc3QgRGljdGlvbmFy
eSYgZGljdGlvbmFyeSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgc3RhcnRJY2UoIiIsIGVj
KTsKLX0KLQotdm9pZCBQZWVyQ29ubmVjdGlvbjAwOjpzdGFydEljZShjb25zdCBTdHJpbmcmIG9w
dGlvbnMsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gQ0xP
U0VEKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9CisgICAgU3RyaW5nIHVzZUNhbmRpZGF0ZXMgPSAiIjsKKyAgICBkaWN0aW9uYXJ5Lmdl
dCgidXNlX2NhbmRpZGF0ZXMiLCB1c2VDYW5kaWRhdGVzKTsKIAogICAgIEljZU9wdGlvbnM6OlVz
ZUNhbmRpZGF0ZXNPcHRpb24gb3B0aW9uOwotCi0gICAgaWYgKG9wdGlvbnMgPT0gIiIgfHwgb3B0
aW9ucyA9PSAiYWxsIikKKyAgICBpZiAodXNlQ2FuZGlkYXRlcyA9PSAiIiB8fCB1c2VDYW5kaWRh
dGVzID09ICJhbGwiKQogICAgICAgICBvcHRpb24gPSBJY2VPcHRpb25zOjpBTEw7Ci0gICAgZWxz
ZSBpZiAob3B0aW9ucyA9PSAibm9fcmVsYXkiKQorICAgIGVsc2UgaWYgKHVzZUNhbmRpZGF0ZXMg
PT0gIm5vX3JlbGF5IikKICAgICAgICAgb3B0aW9uID0gSWNlT3B0aW9uczo6Tk9fUkVMQVk7Ci0g
ICAgZWxzZSBpZiAob3B0aW9ucyA9PSAib25seV9yZWxheSIpCisgICAgZWxzZSBpZiAodXNlQ2Fu
ZGlkYXRlcyA9PSAib25seV9yZWxheSIpCiAgICAgICAgIG9wdGlvbiA9IEljZU9wdGlvbnM6Ok9O
TFlfUkVMQVk7CiAgICAgZWxzZSB7CiAgICAgICAgIGVjID0gVFlQRV9NSVNNQVRDSF9FUlI7Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiBJY2VPcHRpb25zOjpjcmVhdGUo
b3B0aW9uKTsKK30KKworUGFzc1JlZlB0cjxJY2VPcHRpb25zPiBQZWVyQ29ubmVjdGlvbjAwOjpj
cmVhdGVEZWZhdWx0SWNlT3B0aW9ucygpCit7CisgICAgcmV0dXJuIEljZU9wdGlvbnM6OmNyZWF0
ZShJY2VPcHRpb25zOjpBTEwpOworfQorCit2b2lkIFBlZXJDb25uZWN0aW9uMDA6OnN0YXJ0SWNl
KEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIHN0YXJ0SWNlKGNyZWF0ZURlZmF1bHRJY2VPcHRp
b25zKCksIGVjKTsKK30KKwordm9pZCBQZWVyQ29ubmVjdGlvbjAwOjpzdGFydEljZShjb25zdCBE
aWN0aW9uYXJ5JiBkaWN0aW9uYXJ5LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBSZWZQdHI8
SWNlT3B0aW9ucz4gaWNlT3B0aW9ucyA9IGNyZWF0ZUljZU9wdGlvbnMoZGljdGlvbmFyeSwgZWMp
OworICAgIGlmIChlYykKKyAgICAgICAgcmV0dXJuOworCisgICAgc3RhcnRJY2UoaWNlT3B0aW9u
cy5yZWxlYXNlKCksIGVjKTsKK30KKwordm9pZCBQZWVyQ29ubmVjdGlvbjAwOjpzdGFydEljZShQ
YXNzUmVmUHRyPEljZU9wdGlvbnM+IGljZU9wdGlvbnMsIEV4Y2VwdGlvbkNvZGUmIGVjKQorewor
ICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gQ0xPU0VEKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9T
VEFURV9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBib29sIHZhbGlkID0gbV9w
ZWVySGFuZGxlci0+c3RhcnRJY2UoSWNlT3B0aW9uczo6Y3JlYXRlKG9wdGlvbikpOworICAgIGJv
b2wgdmFsaWQgPSBtX3BlZXJIYW5kbGVyLT5zdGFydEljZShpY2VPcHRpb25zKTsKICAgICBpZiAo
IXZhbGlkKQogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiB9CkBAIC0yNzMsMTMgKzMwMiw3IEBA
IFBlZXJDb25uZWN0aW9uMDA6OkljZVN0YXRlIFBlZXJDb25uZWN0aW9uMDA6OmljZVN0YXRlKCkg
Y29uc3QKICAgICByZXR1cm4gbV9pY2VTdGF0ZTsKIH0KIAotdm9pZCBQZWVyQ29ubmVjdGlvbjAw
OjphZGRTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtLCBFeGNlcHRpb25Db2Rl
JiBlYykKLXsKLSAgICBTdHJpbmcgZW1wdHlIaW50czsKLSAgICByZXR1cm4gYWRkU3RyZWFtKHN0
cmVhbSwgZW1wdHlIaW50cywgZWMpOwotfQotCi12b2lkIFBlZXJDb25uZWN0aW9uMDA6OmFkZFN0
cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBwcnBTdHJlYW0sIGNvbnN0IFN0cmluZyYgbWVk
aWFTdHJlYW1IaW50cywgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIFBlZXJDb25uZWN0aW9uMDA6
OmFkZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBwcnBTdHJlYW0sIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogewogICAgIFJlZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtID0gcHJwU3RyZWFtOwog
ICAgIGlmICghc3RyZWFtKSB7CkBAIC0yOTcsMTAgKzMyMCwxNSBAQCB2b2lkIFBlZXJDb25uZWN0
aW9uMDA6OmFkZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBwcnBTdHJlYW0sIGNvbnN0
IFN0cmluZwogCiAgICAgbV9sb2NhbFN0cmVhbXMtPmFwcGVuZChzdHJlYW0pOwogCi0gICAgLy8g
RklYTUU6IFdoZW4gdGhlIHNwZWMgc2F5cyB3aGF0IHRoZSBtZWRpYVN0cmVhbUhpbnRzIHNob3Vs
ZCBsb29rIGxpa2Ugc2VuZCBpdCBkb3duLgogICAgIG1fcGVlckhhbmRsZXItPmFkZFN0cmVhbShz
dHJlYW0tPmRlc2NyaXB0b3IoKSk7CiB9CiAKK3ZvaWQgUGVlckNvbm5lY3Rpb24wMDo6YWRkU3Ry
ZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IHN0cmVhbSwgY29uc3QgRGljdGlvbmFyeSYgbWVk
aWFTdHJlYW1IaW50cywgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgLy8gRklYTUU6IFdoZW4g
dGhlIHNwZWMgc2F5cyB3aGF0IHRoZSBtZWRpYVN0cmVhbUhpbnRzIHNob3VsZCBsb29rIGxpa2Ug
dXNlIGl0LgorICAgIGFkZFN0cmVhbShzdHJlYW0sIGVjKTsKK30KKwogdm9pZCBQZWVyQ29ubmVj
dGlvbjAwOjpyZW1vdmVTdHJlYW0oTWVkaWFTdHJlYW0qIHN0cmVhbSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CiAgICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBDTE9TRUQpIHsKQEAgLTQzNSw3ICs0NjMs
NyBAQCB2b2lkIFBlZXJDb25uZWN0aW9uMDA6OmNoYW5nZVJlYWR5U3RhdGUoUmVhZHlTdGF0ZSBy
ZWFkeVN0YXRlKQogICAgIG1fcmVhZHlTdGF0ZSA9IHJlYWR5U3RhdGU7CiAKICAgICBzd2l0Y2gg
KG1fcmVhZHlTdGF0ZSkgewotICAgIGNhc2UgTkVHT1RJQVRJTkc6CisgICAgY2FzZSBPUEVOSU5H
OgogICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNvbm5l
Y3RpbmdFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQUNU
SVZFOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVy
Q29ubmVjdGlvbjAwLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJD
b25uZWN0aW9uMDAuaAppbmRleCA1MjBkNjFkOGRiMjgyYjNhOWY3NTZhMWYyNjZiM2ViNjJmYWJl
NWRlLi42YjM0NTUzM2Y0Yjc4NWM2ZjhiNzg5YTQ1MGEyYzU3NDhlZTM4NGQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAu
aApAQCAtMzQsNiArMzQsNyBAQAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRl
ICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJEaWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAi
RXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25CYXNlLmgiCiAjaW5jbHVkZSAiSWNl
Q2FsbGJhY2suaCIKQEAgLTQ5LDYgKzUwLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgTWVkaWFIaW50czsKK2NsYXNzIEljZU9wdGlvbnM7CiAKIC8vIE5vdGU6CiAvLyBTRFAgc3Rh
bmRzIGZvciBTZXNzaW9uIERlc2NyaXB0aW9uIFByb3RvY29sLCB3aGljaCBpcyBpbnRlbmRlZCBm
b3IgZGVzY3JpYmluZwpAQCAtNjMsNyArNjUsNyBAQCBjbGFzcyBQZWVyQ29ubmVjdGlvbjAwIDog
cHVibGljIFJlZkNvdW50ZWQ8UGVlckNvbm5lY3Rpb24wMD4sIHB1YmxpYyBQZWVyQ29ubmVjdAog
cHVibGljOgogICAgIGVudW0gUmVhZHlTdGF0ZSB7CiAgICAgICAgIE5FVyA9IDAsCi0gICAgICAg
IE5FR09USUFUSU5HID0gMSwKKyAgICAgICAgT1BFTklORyA9IDEsCiAgICAgICAgIEFDVElWRSA9
IDIsCiAgICAgICAgIENMT1NFRCA9IDMKICAgICB9OwpAQCAtODcsMTAgKzg5LDEwIEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZWVyQ29ubmVjdGlvbjAwPiBjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgUGFz
c1JlZlB0cjxJY2VDYWxsYmFjaz4pOwogICAgIH5QZWVyQ29ubmVjdGlvbjAwKCk7CiAKLSAgICBQ
YXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gY3JlYXRlT2ZmZXIoKTsKLSAgICBQYXNzUmVm
UHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gY3JlYXRlT2ZmZXIoY29uc3QgU3RyaW5nJiBtZWRpYUhp
bnRzKTsKLSAgICBQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gY3JlYXRlQW5zd2VyKGNv
bnN0IFN0cmluZyYgb2ZmZXIpOwotICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBj
cmVhdGVBbnN3ZXIoY29uc3QgU3RyaW5nJiBvZmZlciwgY29uc3QgU3RyaW5nJiBtZWRpYUhpbnRz
KTsKKyAgICBQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbj4gY3JlYXRlT2ZmZXIoRXhjZXB0
aW9uQ29kZSYpOworICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiBjcmVhdGVPZmZl
cihjb25zdCBEaWN0aW9uYXJ5JiBtZWRpYUhpbnRzLCBFeGNlcHRpb25Db2RlJik7CisgICAgUGFz
c1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+IGNyZWF0ZUFuc3dlcihjb25zdCBTdHJpbmcmIG9m
ZmVyLCBFeGNlcHRpb25Db2RlJik7CisgICAgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+
IGNyZWF0ZUFuc3dlcihjb25zdCBTdHJpbmcmIG9mZmVyLCBjb25zdCBEaWN0aW9uYXJ5JiBtZWRp
YUhpbnRzLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICB2b2lkIHNldExvY2FsRGVzY3JpcHRpb24o
aW50IGFjdGlvbiwgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+LCBFeGNlcHRpb25Db2Rl
Jik7CiAgICAgdm9pZCBzZXRSZW1vdGVEZXNjcmlwdGlvbihpbnQgYWN0aW9uLCBQYXNzUmVmUHRy
PFNlc3Npb25EZXNjcmlwdGlvbj4sIEV4Y2VwdGlvbkNvZGUmKTsKQEAgLTk4LDE0ICsxMDAsMTQg
QEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uPiByZW1vdGVEZXNj
cmlwdGlvbigpOwogCiAgICAgdm9pZCBzdGFydEljZShFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9p
ZCBzdGFydEljZShjb25zdCBTdHJpbmcmIG9wdGlvbnMsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2
b2lkIHN0YXJ0SWNlKGNvbnN0IERpY3Rpb25hcnkmIGljZU9wdGlvbnMsIEV4Y2VwdGlvbkNvZGUm
KTsKICAgICB2b2lkIHByb2Nlc3NJY2VNZXNzYWdlKFBhc3NSZWZQdHI8SWNlQ2FuZGlkYXRlPiwg
RXhjZXB0aW9uQ29kZSYpOwogCiAgICAgSWNlU3RhdGUgaWNlU3RhdGUoKSBjb25zdDsKICAgICBS
ZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdDsKIAogICAgIHZvaWQgYWRkU3RyZWFtKGNvbnN0
IFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCBhZGRT
dHJlYW0oY29uc3QgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4sIGNvbnN0IFN0cmluZyYgbWVkaWFT
dHJlYW1IaW50cywgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgYWRkU3RyZWFtKGNvbnN0IFBh
c3NSZWZQdHI8TWVkaWFTdHJlYW0+LCBjb25zdCBEaWN0aW9uYXJ5JiBtZWRpYVN0cmVhbUhpbnRz
LCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCByZW1vdmVTdHJlYW0oTWVkaWFTdHJlYW0qLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgTWVkaWFTdHJlYW1MaXN0KiBsb2NhbFN0cmVhbXMoKSBjb25z
dDsKICAgICBNZWRpYVN0cmVhbUxpc3QqIHJlbW90ZVN0cmVhbXMoKSBjb25zdDsKQEAgLTE0Nyw5
ICsxNDksMTYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY2hhbmdlUmVhZHlTdGF0ZShSZWFkeVN0
YXRlKTsKICAgICB2b2lkIGNoYW5nZUljZVN0YXRlKEljZVN0YXRlKTsKKwogICAgIGJvb2wgaGFz
TG9jYWxBdWRpb1RyYWNrKCk7CiAgICAgYm9vbCBoYXNMb2NhbFZpZGVvVHJhY2soKTsKLSAgICBQ
YXNzUmVmUHRyPE1lZGlhSGludHM+IHBhcnNlTWVkaWFIaW50cyhjb25zdCBTdHJpbmcmIG1lZGlh
SGludHNTdHJpbmcpOworICAgIFBhc3NSZWZQdHI8TWVkaWFIaW50cz4gY3JlYXRlTWVkaWFIaW50
cyhjb25zdCBEaWN0aW9uYXJ5Jik7CisgICAgUGFzc1JlZlB0cjxNZWRpYUhpbnRzPiBjcmVhdGVN
ZWRpYUhpbnRzKCk7CisgICAgUGFzc1JlZlB0cjxJY2VPcHRpb25zPiBjcmVhdGVJY2VPcHRpb25z
KGNvbnN0IERpY3Rpb25hcnkmLCBFeGNlcHRpb25Db2RlJik7CisgICAgUGFzc1JlZlB0cjxJY2VP
cHRpb25zPiBjcmVhdGVEZWZhdWx0SWNlT3B0aW9ucygpOworICAgIFBhc3NSZWZQdHI8U2Vzc2lv
bkRlc2NyaXB0aW9uPiBjcmVhdGVPZmZlcihQYXNzUmVmUHRyPE1lZGlhSGludHM+LCBFeGNlcHRp
b25Db2RlJik7CisgICAgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb24+IGNyZWF0ZUFuc3dl
cihjb25zdCBTdHJpbmcmIG9mZmVyLCBQYXNzUmVmUHRyPE1lZGlhSGludHM+LCBFeGNlcHRpb25D
b2RlJik7CisgICAgdm9pZCBzdGFydEljZShQYXNzUmVmUHRyPEljZU9wdGlvbnM+LCBFeGNlcHRp
b25Db2RlJik7CiAKICAgICBSZWZQdHI8SWNlQ2FsbGJhY2s+IG1faWNlQ2FsbGJhY2s7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rp
b24wMC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0
aW9uMDAuaWRsCmluZGV4IGFkMmU1YTYzNjViMWMxZmViNzg2ODViM2MwYjQ2MzAzOWI2OWU4YTQu
LmJiZmZlOWNkNGRjNWY0YWYzMDY4ZjI5MzkyZGUyN2Y2ZTRmZjRhMDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMC5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmlk
bApAQCAtMzcsMTEgKzM3LDEwIEBAIG1vZHVsZSBwMnAgewogICAgICAgICBDYWxsV2l0aD1TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LAogICAgICAgICBFdmVudFRhcmdldAogICAgIF0gUGVlckNvbm5l
Y3Rpb24wMCB7Ci0gICAgICAgIC8vIEZJWE1FOiBNYWtlIG1lZGlhSGludHMgYW4gb2JqZWN0Ci0g
ICAgICAgIFNlc3Npb25EZXNjcmlwdGlvbiBjcmVhdGVPZmZlcihpbiBbT3B0aW9uYWxdIERPTVN0
cmluZyBtZWRpYUhpbnRzKTsKLQotICAgICAgICAvLyBGSVhNRTogTWFrZSBtZWRpYUhpbnRzIGFu
IG9iamVjdAotICAgICAgICBTZXNzaW9uRGVzY3JpcHRpb24gY3JlYXRlQW5zd2VyKGluIERPTVN0
cmluZyBvZmZlciwgaW4gW09wdGlvbmFsXSBET01TdHJpbmcgbWVkaWFIaW50cyk7CisgICAgICAg
IFNlc3Npb25EZXNjcmlwdGlvbiBjcmVhdGVPZmZlcihpbiBbT3B0aW9uYWxdIERpY3Rpb25hcnkg
bWVkaWFIaW50cykKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICBT
ZXNzaW9uRGVzY3JpcHRpb24gY3JlYXRlQW5zd2VyKGluIERPTVN0cmluZyBvZmZlciwgaW4gW09w
dGlvbmFsXSBEaWN0aW9uYXJ5IG1lZGlhSGludHMpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKIAogICAgICAgICAvLyBBY3Rpb25zLCBmb3Igc2V0TG9jYWxEZXNjcmlwdGlvbi9z
ZXRSZW1vdGVEZXNjcmlwdGlvbi4KICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU0RQX09G
RkVSID0gMHgxMDA7CkBAIC01MCwyMiArNDksMTkgQEAgbW9kdWxlIHAycCB7CiAKICAgICAgICAg
dm9pZCBzZXRMb2NhbERlc2NyaXB0aW9uKGluIHVuc2lnbmVkIHNob3J0IGFjdGlvbiwgaW4gU2Vz
c2lvbkRlc2NyaXB0aW9uIGRlc2MpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
LQogICAgICAgICB2b2lkIHNldFJlbW90ZURlc2NyaXB0aW9uKGluIHVuc2lnbmVkIHNob3J0IGFj
dGlvbiwgaW4gU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2MpCiAgICAgICAgICAgICByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU2Vzc2lvbkRlc2NyaXB0
aW9uIGxvY2FsRGVzY3JpcHRpb247Ci0KICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNlc3Np
b25EZXNjcmlwdGlvbiByZW1vdGVEZXNjcmlwdGlvbjsKIAogICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBORVcgPSAwOwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBORUdPVElBVElO
RyA9IDE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE9QRU5JTkcgPSAxOwogICAgICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBBQ1RJVkUgPSAyOwogICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBDTE9TRUQgPSAzOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
c2hvcnQgcmVhZHlTdGF0ZTsKIAotICAgICAgICAvLyBGSVhNRTogTWFrZSBpY2VPcHRpb25zIGFu
IG9iamVjdAotICAgICAgICB2b2lkIHN0YXJ0SWNlKGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIGlj
ZU9wdGlvbnMpCisgICAgICAgIHZvaWQgc3RhcnRJY2UoaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5
IGljZU9wdGlvbnMpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgICAg
ICB2b2lkIHByb2Nlc3NJY2VNZXNzYWdlKGluIEljZUNhbmRpZGF0ZSBjYW5kaWRhdGUpCkBAIC04
MCw4ICs3Niw3IEBAIG1vZHVsZSBwMnAgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBJ
Q0VfQ0xPU0VEID0gMHg3MDA7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBz
aG9ydCBpY2VTdGF0ZTsKIAotICAgICAgICAvLyBGSVhNRTogTWFrZSBtZWRpYVN0cmVhbUhpbnRz
IGFuIG9iamVjdAotICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkIGFkZFN0cmVhbShp
biBNZWRpYVN0cmVhbSBzdHJlYW0sIGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIG1lZGlhU3RyZWFt
SGludHMpCisgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgYWRkU3RyZWFtKGluIE1l
ZGlhU3RyZWFtIHN0cmVhbSwgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG1lZGlhU3RyZWFtSGlu
dHMpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgW1N0cmljdFR5
cGVDaGVja2luZ10gdm9pZCByZW1vdmVTdHJlYW0oaW4gTWVkaWFTdHJlYW0gc3RyZWFtKQogICAg
ICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlcklu
dGVybmFsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVt
L1BlZXJDb25uZWN0aW9uMDBIYW5kbGVySW50ZXJuYWwuY3BwCmluZGV4IGFhNzE5MGU5MWY1YjNk
NTVhNmNmNjkxMTczNzFjNzUwNjk1MWM1OGIuLjVhOTBiZjE4ZTk1MDE1ZDJiYTYwYTNhMTVjYTUw
OTE3OGEwN2Y0ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2Nocm9taXVtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVySW50ZXJuYWwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1BlZXJDb25uZWN0aW9u
MDBIYW5kbGVySW50ZXJuYWwuY3BwCkBAIC0xMTksNyArMTE5LDcgQEAgUGFzc1JlZlB0cjxTZXNz
aW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckludGVybmFs
OjpyZW1vdGUKIGJvb2wgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJJbnRlcm5hbDo6c3RhcnRJY2Uo
UGFzc1JlZlB0cjxJY2VPcHRpb25zPiBpY2VPcHRpb25zKQogewogICAgIGlmICghbV93ZWJIYW5k
bGVyKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAg
cmV0dXJuIG1fd2ViSGFuZGxlci0+c3RhcnRJY2UoaWNlT3B0aW9ucyk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmluZGV4IDY5
ZTU5NjIyOWY0M2QyZmRlNDVjZGI0YTA3MGM1ZDdkM2Q2MDhiZTkuLjU3NTI3ZDQ2OGIzNDE2NjY2
ODNjZmNkN2ViZjZjMzNlMDZmNWMzNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCkBAIC01NDcsNyArNTQ3LDggQEAgQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6QWN0aW9u
U0RQUFJhbnN3ZXIsIFBlZXIKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViUGVlckNv
bm5lY3Rpb24wMEhhbmRsZXI6OkFjdGlvblNEUEFuc3dlciwgUGVlckNvbm5lY3Rpb24wMDo6U0RQ
X0FOU1dFUik7CiAKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViUGVlckNvbm5lY3Rp
b24wMEhhbmRsZXJDbGllbnQ6OlJlYWR5U3RhdGVOZXcsIFBlZXJDb25uZWN0aW9uMDA6Ok5FVyk7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlBlZXJDb25uZWN0aW9uMDBIYW5kbGVy
Q2xpZW50OjpSZWFkeVN0YXRlTmVnb3RpYXRpbmcsIFBlZXJDb25uZWN0aW9uMDA6Ok5FR09USUFU
SU5HKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViUGVlckNvbm5lY3Rpb24wMEhh
bmRsZXJDbGllbnQ6OlJlYWR5U3RhdGVPcGVuaW5nLCBQZWVyQ29ubmVjdGlvbjAwOjpPUEVOSU5H
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRs
ZXJDbGllbnQ6OlJlYWR5U3RhdGVOZWdvdGlhdGluZywgUGVlckNvbm5lY3Rpb24wMDo6T1BFTklO
Ryk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlBlZXJDb25uZWN0aW9uMDBIYW5k
bGVyQ2xpZW50OjpSZWFkeVN0YXRlQWN0aXZlLCBQZWVyQ29ubmVjdGlvbjAwOjpBQ1RJVkUpOwog
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNs
aWVudDo6UmVhZHlTdGF0ZUNsb3NlZCwgUGVlckNvbm5lY3Rpb24wMDo6Q0xPU0VEKTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDMzOTg5NTk4NDg2NzBhMDc3MmYxNWM4N2Y1NmEwNjYzOTRlYzgzYjMuLmIxMjYwMDVhNjdj
MzI1NDkxNWRiNzUxMjAwOGZmOTQ2YWNlMDFmZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAx
Mi0wNS0wNCAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBNZWRpYVN0cmVhbSBBUEk6IE1ha2UgUGVlckNvbm5lY3Rpb24wMCdzIEFQSSBmdWxseSBjb21w
bGlhbnQgd2l0aCB0aGUgZHJhZnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg1NDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLUF0dHJpYnV0ZXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24t
aWNlb3B0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJl
YW0vcGVlcmNvbm5lY3Rpb24taWNlb3B0aW9ucy5odG1sOiBBZGRlZC4KKwogMjAxMi0wNS0wMyAg
TWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTUmVnaW9u
c11Db3JyZWN0IGZhc3QvcmVnaW9ucy9yZWdpb24tc3R5bGUtaW5saW5lLWJhY2tncm91bmQtY29s
b3IuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29u
bmVjdGlvbi1BdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vcGVlcmNvbm5lY3Rpb24tQXR0cmlidXRlcy1leHBlY3RlZC50eHQKaW5kZXggNGNhNzcx
MTg4ZGM0NDM2Zjg5YTc2ZTkxZGI0YzE5YWFiZTdjNmQ1My4uYzA1YTE5ZTk5MGZhZGUzN2ViNGRm
MGI3NzJmZGQ3YTEwMmQzNmRhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9wZWVyY29ubmVjdGlvbi1BdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLUF0dHJpYnV0ZXMtZXhwZWN0ZWQu
dHh0CkBAIC03LDcgKzcsNyBAQCBQQVNTIHR5cGVvZiBwYy5hZGRTdHJlYW0gPT09ICdmdW5jdGlv
bicgaXMgdHJ1ZQogUEFTUyB0eXBlb2YgcGMucmVtb3ZlU3RyZWFtID09PSAnZnVuY3Rpb24nIGlz
IHRydWUKIFBBU1MgdHlwZW9mIHBjLmNsb3NlID09PSAnZnVuY3Rpb24nIGlzIHRydWUKIFBBU1Mg
cGMuTkVXID09PSAwIGlzIHRydWUKLUZBSUwgcGMuT1BFTklORyA9PT0gMSBzaG91bGQgYmUgdHJ1
ZS4gV2FzIGZhbHNlLgorUEFTUyBwYy5PUEVOSU5HID09PSAxIGlzIHRydWUKIFBBU1MgcGMuQUNU
SVZFID09PSAyIGlzIHRydWUKIFBBU1MgcGMuQ0xPU0VEID09PSAzIGlzIHRydWUKIFBBU1MgcGMu
SUNFX0dBVEhFUklORyA9PT0gMHgxMDAgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1pY2VvcHRpb25zLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24taWNlb3B0aW9ucy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNlZmNlYWIwNGVhNWY4ODNhNTIzNTYwNzhmOGZmYTcw
OWM2OTY3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
cGVlcmNvbm5lY3Rpb24taWNlb3B0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAor
VGVzdHMgUGVlckNvbmVuY3Rpb24wMDo6c3RhcnRJY2UoKS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgcGMuc3RhcnRJY2UoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1MgcGMuc3RhcnRJY2UoNSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGFuIG9i
amVjdC4uCitQQVNTIHBjLnN0YXJ0SWNlKG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBwYy5zdGFydEljZSh1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFT
UyBwYy5zdGFydEljZSh7fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHBjLnN0YXJ0
SWNlKHsidXNlX2NhbmRpZGF0ZXMiOiJhbGwifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIHBjLnN0YXJ0SWNlKHsidXNlX2NhbmRpZGF0ZXMiOiJmb29iYXIifSkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLWljZW9wdGlvbnMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24taWNlb3B0aW9u
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA1NzJjNDI5MDQzZGQ3N2E3MzMxZWFhZmNkZjIwNDIxOWY4Y2Ux
MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJj
b25uZWN0aW9uLWljZW9wdGlvbnMuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIFBlZXJD
b25lbmN0aW9uMDA6OnN0YXJ0SWNlKCkuIik7CisKK2Z1bmN0aW9uIHNob3VsZE5vdFRocm93KGV4
cHJlc3Npb24pCit7CisgIHRyeSB7CisgICAgZXZhbChleHByZXNzaW9uKTsKKyAgICB0ZXN0UGFz
c2VkKGV4cHJlc3Npb24gKyAiIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLiIpOworICB9IGNhdGNo
KGUpIHsKKyAgICB0ZXN0RmFpbGVkKGV4cHJlc3Npb24gKyAiIHNob3VsZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLiBUaHJldyBleGNlcHRpb24gIiArIGUpOworICB9Cit9CisKK2Z1bmN0aW9uIHRlc3Qo
ZXhwcmVzc2lvbiwgZXhwcmVzc2lvblNob3VsZFRocm93LCBleHBlY3RlZEV4Y2VwdGlvbikgewor
ICAgIGlmIChleHByZXNzaW9uU2hvdWxkVGhyb3cpIHsKKyAgICAgICAgaWYgKGV4cGVjdGVkRXhj
ZXB0aW9uKQorICAgICAgICAgICAgc2hvdWxkVGhyb3coZXhwcmVzc2lvbiwgJyhmdW5jdGlvbigp
IHsgcmV0dXJuICInICsgZXhwZWN0ZWRFeGNlcHRpb24gKyAnIjsgfSkoKTsnKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgc2hvdWxkVGhyb3coZXhwcmVzc2lvbiwgJyhmdW5jdGlvbigpIHsg
cmV0dXJuICJFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTciOyB9KSgp
OycpOworICAgIH0gZWxzZSB7CisgICAgICAgIHNob3VsZE5vdFRocm93KGV4cHJlc3Npb24pOwor
ICAgIH0KK30KKwordmFyIHBjID0gbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIiIsIGZ1bmN0
aW9uKCkge30pOworCit0ZXN0KCdwYy5zdGFydEljZSgpJywgZmFsc2UpOwordGVzdCgncGMuc3Rh
cnRJY2UoNSknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgYW4gb2JqZWN0LicpOwordGVzdCgncGMu
c3RhcnRJY2UobnVsbCknLCBmYWxzZSk7Cit0ZXN0KCdwYy5zdGFydEljZSh1bmRlZmluZWQpJywg
ZmFsc2UpOwordGVzdCgncGMuc3RhcnRJY2Uoe30pJywgZmFsc2UpOwordGVzdCgncGMuc3RhcnRJ
Y2UoeyJ1c2VfY2FuZGlkYXRlcyI6ImFsbCJ9KScsIGZhbHNlKTsKK3Rlc3QoJ3BjLnN0YXJ0SWNl
KHsidXNlX2NhbmRpZGF0ZXMiOiJmb29iYXIifSknLCB0cnVlKTsKKword2luZG93LnN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>