<?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>103481</bug_id>
          
          <creation_ts>2012-11-27 22:21:00 -0800</creation_ts>
          <short_desc>[Shadow] Move Distribution requirements from ShadowRoot</short_desc>
          <delta_ts>2012-11-28 18:19:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>97279</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Shinya Kawanaka">shinyak</assigned_to>
          <cc>gtk-ews</cc>
    
    <cc>ojan</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>777534</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-27 22:21:00 -0800</bug_when>
    <thetext>We would like to make ShadowRoot as small as possible.
Currently ShadowRoot has several ContentDistribution stuffs which are used only for ShadowRoot having &lt;content&gt;, &lt;shadow&gt; or nested ShadowRoot.
We woud like to move them somewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777597</commentid>
    <comment_count>1</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-28 00:32:36 -0800</bug_when>
    <thetext>Apple folks seem to reduce memory footprint aggressively now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777601</commentid>
    <comment_count>2</comment_count>
      <attachid>176417</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-28 00:33:31 -0800</bug_when>
    <thetext>Created attachment 176417
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777642</commentid>
    <comment_count>3</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-28 01:49:09 -0800</bug_when>
    <thetext>Let&apos;s move DistributionData into ContentDistribution.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777672</commentid>
    <comment_count>4</comment_count>
      <attachid>176436</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-28 02:48:10 -0800</bug_when>
    <thetext>Created attachment 176436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777677</commentid>
    <comment_count>5</comment_count>
      <attachid>176436</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-28 03:03:45 -0800</bug_when>
    <thetext>Comment on attachment 176436
Patch

Attachment 176436 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15016356</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777691</commentid>
    <comment_count>6</comment_count>
      <attachid>176436</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-11-28 03:16:32 -0800</bug_when>
    <thetext>Comment on attachment 176436
Patch

Attachment 176436 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/15027358</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777698</commentid>
    <comment_count>7</comment_count>
      <attachid>176436</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-28 03:23:37 -0800</bug_when>
    <thetext>Comment on attachment 176436
Patch

Attachment 176436 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15031177</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777718</commentid>
    <comment_count>8</comment_count>
      <attachid>176450</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-28 03:57:32 -0800</bug_when>
    <thetext>Created attachment 176450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777838</commentid>
    <comment_count>9</comment_count>
      <attachid>176450</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-28 06:09:02 -0800</bug_when>
    <thetext>Comment on attachment 176450
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        Since &lt;input&gt; or &lt;textarea&gt; do not have such stuffs, the members consume a few amount of memory.

s/stuffs/stuff/

&gt; Source/WebCore/dom/ShadowRoot.cpp:352
&gt; +    return distributionData()-&gt;numberOfShadowElementChildren() &gt; 0;

hasXXX could be a method on ShadowRootContentDistributionData

&gt; Source/WebCore/dom/ShadowRoot.cpp:370
&gt; +    return distributionData()-&gt;numberOfContentElementChildren() &gt; 0;

Ditto.

&gt; Source/WebCore/dom/ShadowRoot.cpp:389
&gt; +    return distributionData()-&gt;numberOfElementShadowChildren() &gt; 0;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777937</commentid>
    <comment_count>10</comment_count>
      <attachid>176450</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-11-28 08:41:33 -0800</bug_when>
    <thetext>Comment on attachment 176450
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +        Since &lt;input&gt; or &lt;textarea&gt; do not have such stuffs, the members consume a few amount of memory.
&gt; 
&gt; s/stuffs/stuff/

s/stuffs/requirements/ &lt;/bikeshed&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778563</commentid>
    <comment_count>11</comment_count>
      <attachid>176617</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-28 17:58:13 -0800</bug_when>
    <thetext>Created attachment 176617
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778579</commentid>
    <comment_count>12</comment_count>
      <attachid>176617</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-28 18:19:10 -0800</bug_when>
    <thetext>Comment on attachment 176617
Patch for landing

Clearing flags on attachment: 176617

Committed r136081: &lt;http://trac.webkit.org/changeset/136081&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778580</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-28 18:19:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176417</attachid>
            <date>2012-11-28 00:33:31 -0800</date>
            <delta_ts>2012-11-28 02:48:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103481-20121128173106.patch</filename>
            <type>text/plain</type>
            <size>9406</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1OTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNlYzc1NTA1Y2QwZjQ5
NGM4MTJlN2ViYTc4M2FjZTNjMDU2NjJiMi4uNWNiYmM0YjJkNjk4ZmI4ZWIwZWNmNzFkYzljYWMy
YmIwNTU5YjIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTExLTI4ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBN
b3ZlIERpc3RyaWJ1dGlvbiBzdHVmZnMgZnJvbSBTaGFkb3dSb290CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM0ODEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSB3b3VsZCBsaWtlIHRvIHNocmluayB0
aGUgU2hhZG93Um9vdCBtZW1vcnkgc2l6ZSBpbiB0aGlzIHBhdGNoLiBTaGFkb3dSb290IGhhZCBz
ZXZlcmFsIGRpc3RyaWJ1dGlvbiByZWxhdGVkIG1lbWJlcnMsCisgICAgICAgIGhvd2V2ZXIgdGhl
eSB3ZXJlIHVzZWQgb25seSBpZiBTaGFkb3dSb290IGhhcyA8Y29udGVudD4sIDxzaGFkb3c+LCBv
ciBuZXN0ZWQgU2hhZG93Um9vdC4KKyAgICAgICAgU2luY2UgPGlucHV0PiBvciA8dGV4dGFyZWE+
IGRvIG5vdCBoYXZlIHN1Y2ggc3R1ZmZzLCB0aGUgbWVtYmVycyBjb25zdW1lIGEgZmV3IGFtb3Vu
dCBvZiBtZW1vcnkuCisKKyAgICAgICAgV2UgcmVtb3ZlIHRoZW0gZnJvbSBTaGFkb3dSb290IGFu
ZCBpbnRyb2R1Y2Ugc29tZSBSYXJlRGF0YS1saWtlIGRhdGEgc3RydWN0dXJlIGZvciBTaGFkb3dS
b290LgorICAgICAgICBUaGlzIHdpbGwgcmVkdWNlIG1lbW9yeSBmb290cHJpbnQgaW4gbW9zdCBj
YXNlcy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlZmFjdG9yaW5nLgorCisgICAgICAgICog
ZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAgICAoU2FtZVNpemVBc1NoYWRvd1Jvb3QpOiBSZWR1
Y2VkIDMgKiBzaXplb2YodW5zaWduZWQpIGJ5dGVzIGZyb20gU2hhZG93Um9vdC4KKyAgICAgICAg
KFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OkRpc3RyaWJ1dGlvbkRhdGE6OkRpc3RyaWJ1dGlvbkRhdGEp
OiBEaXN0cmlidXRpb24gcmVsYXRlZCBmaWVsZHMgYXJlIG1vdmVkIHRvIGhlcmUuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAgIChTaGFkb3dSb290KToKKyAgICAgICAgKERp
c3RyaWJ1dGlvbkRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6ZGlzdHJpYnV0
aW9uRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojphc3NpZ25lZFRvKTogV2hl
biBEaXN0cmlidXRpb25EYXRhIGRvZXMgbm90IGV4aXN0LCByZXR1cm4gdGhlIGRlZmF1bHQgdmFs
dWUuCisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpzZXRBc3NpZ25lZFRvKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OmVuc3VyZURpc3RyaWJ1dGlvbkRhdGEpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpyZWdpc3RlclNoYWRv
d0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6dW5yZWdpc3RlclNoYWRv
d0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6aGFzU2hhZG93SW5zZXJ0
aW9uUG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6cmVnaXN0ZXJDb250ZW50
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojp1bnJlZ2lzdGVyQ29udGVu
dEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6aGFzQ29udGVudEVsZW1l
bnQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6cmVnaXN0ZXJFbGVtZW50U2hhZG93
KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OnVucmVnaXN0ZXJFbGVtZW50U2hhZG93
KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6Omhhc0VsZW1lbnRTaGFkb3cpOgorICAg
ICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6Y291bnRFbGVtZW50U2hhZG93KToKKwogMjAxMi0x
MS0yNyAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQ29tcGls
ZSB0aW1lIHNpemUgYXNzZXJ0aW9ucyBmb3IgVHJlZVNjb3BlLCBTaGFkb3dSb290IGFuZCBFbGVt
ZW50QXR0cmlidXRlRGF0YS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAppbmRleCBiYmMyNmU1
NzhlYzlhNGIxYWZhYTg0OGE0MTA5YjZmMjYyNWM3YTA4Li4wODgyNjg4NTE5MTQxZDQ0ZmExZTJi
NjcxYzM1ZmJjZTViNDA0NDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93
Um9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCkBAIC01Nywy
MyArNTcsMjggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTYW1lU2l6ZUFzU2hhZG93
Um9vdCA6IHB1YmxpYyBEb2N1bWVudEZyYWdtZW50LCBwdWJsaWMgVHJlZVNjb3BlLCBwdWJsaWMg
RG91Ymx5TGlua2VkTGlzdE5vZGU8U2hhZG93Um9vdD4gewogICAgIHZvaWQqIHBvaW50ZXJzWzNd
OwotICAgIHVuc2lnbmVkIGNvdW50ZXJzQW5kRmxhZ3NbNF07CisgICAgdW5zaWduZWQgY291bnRl
cnNBbmRGbGFnc1sxXTsKIH07CiAKIENPTVBJTEVfQVNTRVJUKHNpemVvZihTaGFkb3dSb290KSA9
PSBzaXplb2YoU2FtZVNpemVBc1NoYWRvd1Jvb3QpLCBzaGFkb3dyb290X3Nob3VsZF9zdGF5X3Nt
YWxsKTsKIAorU2hhZG93Um9vdDo6RGlzdHJpYnV0aW9uRGF0YTo6RGlzdHJpYnV0aW9uRGF0YSgp
CisgICAgOiBtX2luc2VydGlvblBvaW50QXNzaWduZWRUbygwKQorICAgICwgbV9udW1iZXJPZlNo
YWRvd0VsZW1lbnRDaGlsZHJlbigwKQorICAgICwgbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hp
bGRyZW4oMCkKKyAgICAsIG1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4oMCkKK3sKK30K
KwogU2hhZG93Um9vdDo6U2hhZG93Um9vdChEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBEb2N1
bWVudEZyYWdtZW50KGRvY3VtZW50LCBDcmVhdGVTaGFkb3dSb290KQogICAgICwgVHJlZVNjb3Bl
KHRoaXMpCiAgICAgLCBtX3ByZXYoMCkKICAgICAsIG1fbmV4dCgwKQotICAgICwgbV9pbnNlcnRp
b25Qb2ludEFzc2lnbmVkVG8oMCkKLSAgICAsIG1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRy
ZW4oMCkKLSAgICAsIG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuKDApCi0gICAgLCBt
X251bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuKDApCiAgICAgLCBtX251bWJlck9mU3R5bGVz
KDApCiAgICAgLCBtX2FwcGx5QXV0aG9yU3R5bGVzKGZhbHNlKQogICAgICwgbV9yZXNldFN0eWxl
SW5oZXJpdGFuY2UoZmFsc2UpCisgICAgLCBtX2lzQXV0aG9yU2hhZG93Um9vdChmYWxzZSkKICAg
ICAsIG1fcmVnaXN0ZXJlZFdpdGhQYXJlbnRTaGFkb3dSb290KGZhbHNlKQogewogICAgIEFTU0VS
VChkb2N1bWVudCk7CkBAIC0zMjIsNyArMzI3LDcgQEAgdm9pZCBTaGFkb3dSb290OjpyZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAg
IFRyZWVTY29wZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgaW5m
by5hZGRNZW1iZXIobV9wcmV2KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX25leHQpOwotICAgIGlu
Zm8uYWRkTWVtYmVyKG1faW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvKTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX2Rpc3RyaWJ1dGlvbkRhdGEpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaApp
bmRleCAxZjNhZjlmMDUwNDJhZGM4MmQ1YzQ3ODJjMWRjNjliMzhlZTE4ZWFmLi5hODQxZjVmMzhh
NDY0NWM4N2YxY2IxODMyNDMwOGQxYjYyN2VhMjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2hhZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgK
QEAgLTkwLDE4ICs5MCwxOCBAQCBwdWJsaWM6CiAgICAgSW5zZXJ0aW9uUG9pbnQqIGFzc2lnbmVk
VG8oKSBjb25zdDsKICAgICB2b2lkIHNldEFzc2lnbmVkVG8oSW5zZXJ0aW9uUG9pbnQqKTsKIAot
ICAgIHZvaWQgcmVnaXN0ZXJTaGFkb3dFbGVtZW50KCkgeyArK21fbnVtYmVyT2ZTaGFkb3dFbGVt
ZW50Q2hpbGRyZW47IH0KLSAgICB2b2lkIHVucmVnaXN0ZXJTaGFkb3dFbGVtZW50KCkgeyAtLW1f
bnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW47IH0KLSAgICBib29sIGhhc1NoYWRvd0luc2Vy
dGlvblBvaW50KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJl
biA+IDA7IH0KKyAgICB2b2lkIHJlZ2lzdGVyU2hhZG93RWxlbWVudCgpOworICAgIHZvaWQgdW5y
ZWdpc3RlclNoYWRvd0VsZW1lbnQoKTsKKyAgICBib29sIGhhc1NoYWRvd0luc2VydGlvblBvaW50
KCkgY29uc3Q7CiAKLSAgICB2b2lkIHJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKSB7ICsrbV9udW1i
ZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW47IH0KLSAgICB2b2lkIHVucmVnaXN0ZXJDb250ZW50
RWxlbWVudCgpIHsgLS1tX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbjsgfQotICAgIGJv
b2wgaGFzQ29udGVudEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mQ29udGVudEVs
ZW1lbnRDaGlsZHJlbiA+IDA7IH0KKyAgICB2b2lkIHJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKTsK
KyAgICB2b2lkIHVucmVnaXN0ZXJDb250ZW50RWxlbWVudCgpOworICAgIGJvb2wgaGFzQ29udGVu
dEVsZW1lbnQoKSBjb25zdDsKIAotICAgIHZvaWQgcmVnaXN0ZXJFbGVtZW50U2hhZG93KCkgeyAr
K21fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW47IH0KLSAgICB2b2lkIHVucmVnaXN0ZXJF
bGVtZW50U2hhZG93KCkgeyBBU1NFUlQoaGFzRWxlbWVudFNoYWRvdygpKTsgLS1tX251bWJlck9m
RWxlbWVudFNoYWRvd0NoaWxkcmVuOyB9Ci0gICAgYm9vbCBoYXNFbGVtZW50U2hhZG93KCkgY29u
c3QgeyByZXR1cm4gbV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbiA+IDA7IH0KLSAgICB1
bnNpZ25lZCBjb3VudEVsZW1lbnRTaGFkb3coKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mRWxl
bWVudFNoYWRvd0NoaWxkcmVuOyB9CisgICAgdm9pZCByZWdpc3RlckVsZW1lbnRTaGFkb3coKTsK
KyAgICB2b2lkIHVucmVnaXN0ZXJFbGVtZW50U2hhZG93KCk7CisgICAgYm9vbCBoYXNFbGVtZW50
U2hhZG93KCkgY29uc3Q7CisgICAgdW5zaWduZWQgY291bnRFbGVtZW50U2hhZG93KCkgY29uc3Q7
CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBP
VkVSUklERTsKQEAgLTEyMywxMiArMTIzLDIyIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNldFR5
cGUoU2hhZG93Um9vdFR5cGUgdHlwZSkgeyBtX2lzQXV0aG9yU2hhZG93Um9vdCA9IHR5cGUgPT0g
QXV0aG9yU2hhZG93Um9vdDsgfQogCisgICAgc3RydWN0IERpc3RyaWJ1dGlvbkRhdGEgeworICAg
ICAgICBEaXN0cmlidXRpb25EYXRhKCk7CisKKyAgICAgICAgSW5zZXJ0aW9uUG9pbnQqIG1faW5z
ZXJ0aW9uUG9pbnRBc3NpZ25lZFRvOworICAgICAgICB1bnNpZ25lZCBtX251bWJlck9mU2hhZG93
RWxlbWVudENoaWxkcmVuOworICAgICAgICB1bnNpZ25lZCBtX251bWJlck9mQ29udGVudEVsZW1l
bnRDaGlsZHJlbjsKKyAgICAgICAgdW5zaWduZWQgbV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGls
ZHJlbjsKKyAgICB9OworCisgICAgRGlzdHJpYnV0aW9uRGF0YSogZGlzdHJpYnV0aW9uRGF0YSgp
IHsgcmV0dXJuIG1fZGlzdHJpYnV0aW9uRGF0YS5nZXQoKTsgfQorICAgIGNvbnN0IERpc3RyaWJ1
dGlvbkRhdGEqIGRpc3RyaWJ1dGlvbkRhdGEoKSBjb25zdCB7IHJldHVybiBtX2Rpc3RyaWJ1dGlv
bkRhdGEuZ2V0KCk7IH0KKyAgICBEaXN0cmlidXRpb25EYXRhKiBlbnN1cmVEaXN0cmlidXRpb25E
YXRhKCk7CisKICAgICBTaGFkb3dSb290KiBtX3ByZXY7CiAgICAgU2hhZG93Um9vdCogbV9uZXh0
OwotICAgIEluc2VydGlvblBvaW50KiBtX2luc2VydGlvblBvaW50QXNzaWduZWRUbzsKLSAgICB1
bnNpZ25lZCBtX251bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuOwotICAgIHVuc2lnbmVkIG1f
bnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuOwotICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZF
bGVtZW50U2hhZG93Q2hpbGRyZW47CisgICAgT3duUHRyPERpc3RyaWJ1dGlvbkRhdGE+IG1fZGlz
dHJpYnV0aW9uRGF0YTsKICAgICB1bnNpZ25lZCBtX251bWJlck9mU3R5bGVzIDogMjg7CiAgICAg
dW5zaWduZWQgbV9hcHBseUF1dGhvclN0eWxlcyA6IDE7CiAgICAgdW5zaWduZWQgbV9yZXNldFN0
eWxlSW5oZXJpdGFuY2UgOiAxOwpAQCAtMTQ4LDEzICsxNTgsMTYgQEAgaW5saW5lIHZvaWQgU2hh
ZG93Um9vdDo6c2V0SG9zdChFbGVtZW50KiBob3N0KQogCiBpbmxpbmUgSW5zZXJ0aW9uUG9pbnQq
IFNoYWRvd1Jvb3Q6OmFzc2lnbmVkVG8oKSBjb25zdAogewotICAgIHJldHVybiBtX2luc2VydGlv
blBvaW50QXNzaWduZWRUbzsKKyAgICBpZiAoIWRpc3RyaWJ1dGlvbkRhdGEoKSkKKyAgICAgICAg
cmV0dXJuIDA7CisKKyAgICByZXR1cm4gZGlzdHJpYnV0aW9uRGF0YSgpLT5tX2luc2VydGlvblBv
aW50QXNzaWduZWRUbzsKIH0KIAogaW5saW5lIHZvaWQgU2hhZG93Um9vdDo6c2V0QXNzaWduZWRU
byhJbnNlcnRpb25Qb2ludCogaW5zZXJ0aW9uUG9pbnQpCiB7Ci0gICAgQVNTRVJUKCFtX2luc2Vy
dGlvblBvaW50QXNzaWduZWRUbyB8fCAhaW5zZXJ0aW9uUG9pbnQpOwotICAgIG1faW5zZXJ0aW9u
UG9pbnRBc3NpZ25lZFRvID0gaW5zZXJ0aW9uUG9pbnQ7CisgICAgQVNTRVJUKCFhc3NpZ25lZFRv
KCkgfHwgIWluc2VydGlvblBvaW50KTsKKyAgICBlbnN1cmVEaXN0cmlidXRpb25EYXRhKCktPm1f
aW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvID0gaW5zZXJ0aW9uUG9pbnQ7CiB9CiAKIGlubGluZSBi
b29sIFNoYWRvd1Jvb3Q6OmlzVXNlZEZvclJlbmRlcmluZygpIGNvbnN0CkBAIC0xNjksNiArMTgy
LDc4IEBAIGlubGluZSBFbGVtZW50KiBTaGFkb3dSb290OjphY3RpdmVFbGVtZW50KCkgY29uc3QK
ICAgICByZXR1cm4gMDsKIH0KIAoraW5saW5lIFNoYWRvd1Jvb3Q6OkRpc3RyaWJ1dGlvbkRhdGEq
IFNoYWRvd1Jvb3Q6OmVuc3VyZURpc3RyaWJ1dGlvbkRhdGEoKQoreworICAgIGlmIChtX2Rpc3Ry
aWJ1dGlvbkRhdGEpCisgICAgICAgIHJldHVybiBtX2Rpc3RyaWJ1dGlvbkRhdGEuZ2V0KCk7CisK
KyAgICBtX2Rpc3RyaWJ1dGlvbkRhdGEgPSBhZG9wdFB0cihuZXcgRGlzdHJpYnV0aW9uRGF0YSk7
CisgICAgcmV0dXJuIG1fZGlzdHJpYnV0aW9uRGF0YS5nZXQoKTsKK30gICAKKworaW5saW5lIHZv
aWQgU2hhZG93Um9vdDo6cmVnaXN0ZXJTaGFkb3dFbGVtZW50KCkKK3sKKyAgICBlbnN1cmVEaXN0
cmlidXRpb25EYXRhKCktPm1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4rKzsKK30KKwor
aW5saW5lIHZvaWQgU2hhZG93Um9vdDo6dW5yZWdpc3RlclNoYWRvd0VsZW1lbnQoKQoreworICAg
IGRpc3RyaWJ1dGlvbkRhdGEoKS0+bV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbi0tOwor
fQorCitpbmxpbmUgYm9vbCBTaGFkb3dSb290OjpoYXNTaGFkb3dJbnNlcnRpb25Qb2ludCgpIGNv
bnN0Cit7CisgICAgaWYgKCFkaXN0cmlidXRpb25EYXRhKCkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIHJldHVybiBkaXN0cmlidXRpb25EYXRhKCktPm1fbnVtYmVyT2ZTaGFkb3dFbGVt
ZW50Q2hpbGRyZW4gPiAwOworfQorCitpbmxpbmUgdm9pZCBTaGFkb3dSb290OjpyZWdpc3RlckNv
bnRlbnRFbGVtZW50KCkKK3sKKyAgICBlbnN1cmVEaXN0cmlidXRpb25EYXRhKCktPm1fbnVtYmVy
T2ZDb250ZW50RWxlbWVudENoaWxkcmVuKys7ICAgIAorfQorCitpbmxpbmUgdm9pZCBTaGFkb3dS
b290Ojp1bnJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKQoreworICAgIGRpc3RyaWJ1dGlvbkRhdGEo
KS0+bV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW4tLTsKK30KKworaW5saW5lIGJvb2wg
U2hhZG93Um9vdDo6aGFzQ29udGVudEVsZW1lbnQoKSBjb25zdAoreworICAgIGlmICghZGlzdHJp
YnV0aW9uRGF0YSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gZGlzdHJp
YnV0aW9uRGF0YSgpLT5tX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbiA+IDA7Cit9CisK
K2lubGluZSB2b2lkIFNoYWRvd1Jvb3Q6OnJlZ2lzdGVyRWxlbWVudFNoYWRvdygpCit7CisgICAg
ZW5zdXJlRGlzdHJpYnV0aW9uRGF0YSgpLT5tX251bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVu
Kys7Cit9CisKK2lubGluZSB2b2lkIFNoYWRvd1Jvb3Q6OnVucmVnaXN0ZXJFbGVtZW50U2hhZG93
KCkKK3sKKyAgICBBU1NFUlQoaGFzRWxlbWVudFNoYWRvdygpKTsKKyAgICBkaXN0cmlidXRpb25E
YXRhKCktPm1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4tLTsKK30KKworaW5saW5lIGJv
b2wgU2hhZG93Um9vdDo6aGFzRWxlbWVudFNoYWRvdygpIGNvbnN0Cit7CisgICAgaWYgKCFkaXN0
cmlidXRpb25EYXRhKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBkaXN0
cmlidXRpb25EYXRhKCktPm1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4gPiAwOworfQor
CitpbmxpbmUgdW5zaWduZWQgU2hhZG93Um9vdDo6Y291bnRFbGVtZW50U2hhZG93KCkgY29uc3Qg
Cit7CisgICAgaWYgKCFkaXN0cmlidXRpb25EYXRhKCkpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgcmV0dXJuIGRpc3RyaWJ1dGlvbkRhdGEoKS0+bV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGls
ZHJlbjsKK30KKwogaW5saW5lIGNvbnN0IFNoYWRvd1Jvb3QqIHRvU2hhZG93Um9vdChjb25zdCBO
b2RlKiBub2RlKQogewogICAgIEFTU0VSVCghbm9kZSB8fCBub2RlLT5pc1NoYWRvd1Jvb3QoKSk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176436</attachid>
            <date>2012-11-28 02:48:10 -0800</date>
            <delta_ts>2012-11-28 03:57:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103481-20121128194545.patch</filename>
            <type>text/plain</type>
            <size>13741</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1OTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNlYzc1NTA1Y2QwZjQ5
NGM4MTJlN2ViYTc4M2FjZTNjMDU2NjJiMi4uNmFmMTg2ODdlYWI0Y2U4MDRiYzBiYWI5ZDE3NmMx
ZDA0OWEzMGU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEyLTExLTI4ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBN
b3ZlIERpc3RyaWJ1dGlvbiBzdHVmZnMgZnJvbSBTaGFkb3dSb290CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM0ODEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSB3b3VsZCBsaWtlIHRvIHNocmluayB0
aGUgU2hhZG93Um9vdCBtZW1vcnkgc2l6ZSBpbiB0aGlzIHBhdGNoLiBTaGFkb3dSb290IGhhZCBz
ZXZlcmFsIGRpc3RyaWJ1dGlvbiByZWxhdGVkIG1lbWJlcnMsCisgICAgICAgIGhvd2V2ZXIgdGhl
eSB3ZXJlIHVzZWQgb25seSBpZiBTaGFkb3dSb290IGhhcyA8Y29udGVudD4sIDxzaGFkb3c+LCBv
ciBuZXN0ZWQgU2hhZG93Um9vdC4KKyAgICAgICAgU2luY2UgPGlucHV0PiBvciA8dGV4dGFyZWE+
IGRvIG5vdCBoYXZlIHN1Y2ggc3R1ZmZzLCB0aGUgbWVtYmVycyBjb25zdW1lIGEgZmV3IGFtb3Vu
dCBvZiBtZW1vcnkuCisKKyAgICAgICAgV2UgcmVtb3ZlIHRoZW0gZnJvbSBTaGFkb3dSb290IGFu
ZCBpbnRyb2R1Y2Ugc29tZSBSYXJlRGF0YS1saWtlIGRhdGEgc3RydWN0dXJlIGZvciBTaGFkb3dS
b290LgorICAgICAgICBUaGlzIHdpbGwgcmVkdWNlIG1lbW9yeSBmb290cHJpbnQgaW4gbW9zdCBj
YXNlcy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlZmFjdG9yaW5nLgorCisgICAgICAgICog
ZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAgICAoU2FtZVNpemVBc1NoYWRvd1Jvb3QpOiBSZWR1
Y2VkIDMgKiBzaXplb2YodW5zaWduZWQpIGJ5dGVzIGZyb20gU2hhZG93Um9vdC4KKyAgICAgICAg
KFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3QpOiBEaXN0cmlidXRpb25EYXRhIGlzIGNy
ZWF0ZWQgb25seSB3aGVuIG5lY2Vzc2FyeS4gPGlucHV0PiBvciA8dGV4dGFyZWE+IHdvbid0Cisg
ICAgICAgIGNyZWF0ZSBzdWNoIGRhdGEuCisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojph
c3NpZ25lZFRvKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93
Um9vdDo6c2V0QXNzaWduZWRUbyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjplbnN1
cmVEaXN0cmlidXRpb25EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OnJlZ2lz
dGVyU2hhZG93RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojp1bnJlZ2lz
dGVyU2hhZG93RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpoYXNTaGFk
b3dJbnNlcnRpb25Qb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpyZWdpc3Rl
ckNvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OnVucmVnaXN0
ZXJDb250ZW50RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpoYXNDb250
ZW50RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpyZWdpc3RlckVsZW1l
bnRTaGFkb3cpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6dW5yZWdpc3RlckVsZW1l
bnRTaGFkb3cpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6aGFzRWxlbWVudFNoYWRv
dyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojpjb3VudEVsZW1lbnRTaGFkb3cpOgor
ICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFNoYWRv
d1Jvb3QpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6ZGlzdHJpYnV0aW9uRGF0YSk6
CisgICAgICAgICogaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YTo6U2hhZG93Um9vdENv
bnRlbnREaXN0cmlidXRpb25EYXRhKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGh0
bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5oOgorICAgICAgICAoU2hhZG93Um9vdENvbnRl
bnREaXN0cmlidXRpb25EYXRhKTogRGlzdHJpYnV0aW9uIHJlbGF0ZWQgZmllbGRzIGluIFNoYWRv
d1Jvb3QgYXJlIG1vdmVkIHRvIGhlcmUuCisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Q29u
dGVudERpc3RyaWJ1dGlvbkRhdGE6Omluc2VydGlvblBvaW50QXNzaWduZWRUbyk6CisgICAgICAg
IChXZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6OnNldEluc2VydGlv
blBvaW50QXNzaWduZWRUbyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERp
c3RyaWJ1dGlvbkRhdGE6OmluY3JlbWVudE51bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuKToK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YTo6ZGVj
cmVtZW50TnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6
U2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRhOjpudW1iZXJPZlNoYWRvd0VsZW1lbnRD
aGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlv
bkRhdGE6OmluY3JlbWVudE51bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbik6CisgICAgICAg
IChXZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6OmRlY3JlbWVudE51
bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dS
b290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6Om51bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJl
bik6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6
OmluY3JlbWVudE51bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuKToKKyAgICAgICAgKFdlYkNv
cmU6OlNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YTo6ZGVjcmVtZW50TnVtYmVyT2ZF
bGVtZW50U2hhZG93Q2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdENvbnRl
bnREaXN0cmlidXRpb25EYXRhOjpudW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbik6CisgICAg
ICAgIChXZWJDb3JlKToKKwogMjAxMi0xMS0yNyAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgQ29tcGlsZSB0aW1lIHNpemUgYXNzZXJ0aW9ucyBmb3IgVHJlZVNj
b3BlLCBTaGFkb3dSb290IGFuZCBFbGVtZW50QXR0cmlidXRlRGF0YS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFk
b3dSb290LmNwcAppbmRleCBiYmMyNmU1NzhlYzlhNGIxYWZhYTg0OGE0MTA5YjZmMjYyNWM3YTA4
Li4wZjAwN2M4YWYyODMwMGVhYzAzY2U2NzgzOTY0NThjYTQyYjhhYTIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NoYWRvd1Jvb3QuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgU2FtZVNpemVBc1NoYWRvd1Jvb3QgOiBwdWJsaWMgRG9jdW1lbnRGcmFnbWVudCwgcHVi
bGljIFRyZWVTY29wZSwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFNoYWRvd1Jvb3Q+IHsK
ICAgICB2b2lkKiBwb2ludGVyc1szXTsKLSAgICB1bnNpZ25lZCBjb3VudGVyc0FuZEZsYWdzWzRd
OworICAgIHVuc2lnbmVkIGNvdW50ZXJzQW5kRmxhZ3NbMV07CiB9OwogCiBDT01QSUxFX0FTU0VS
VChzaXplb2YoU2hhZG93Um9vdCkgPT0gc2l6ZW9mKFNhbWVTaXplQXNTaGFkb3dSb290KSwgc2hh
ZG93cm9vdF9zaG91bGRfc3RheV9zbWFsbCk7CkBAIC02NywxMyArNjcsMTAgQEAgU2hhZG93Um9v
dDo6U2hhZG93Um9vdChEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgLCBUcmVlU2NvcGUodGhpcykK
ICAgICAsIG1fcHJldigwKQogICAgICwgbV9uZXh0KDApCi0gICAgLCBtX2luc2VydGlvblBvaW50
QXNzaWduZWRUbygwKQotICAgICwgbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbigwKQot
ICAgICwgbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW4oMCkKLSAgICAsIG1fbnVtYmVy
T2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4oMCkKICAgICAsIG1fbnVtYmVyT2ZTdHlsZXMoMCkKICAg
ICAsIG1fYXBwbHlBdXRob3JTdHlsZXMoZmFsc2UpCiAgICAgLCBtX3Jlc2V0U3R5bGVJbmhlcml0
YW5jZShmYWxzZSkKKyAgICAsIG1faXNBdXRob3JTaGFkb3dSb290KGZhbHNlKQogICAgICwgbV9y
ZWdpc3RlcmVkV2l0aFBhcmVudFNoYWRvd1Jvb3QoZmFsc2UpCiB7CiAgICAgQVNTRVJUKGRvY3Vt
ZW50KTsKQEAgLTI5Myw2ICsyOTAsMjAgQEAgdm9pZCBTaGFkb3dSb290OjpyZW1vdmVkRnJvbShD
b250YWluZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKICAgICBEb2N1bWVudEZyYWdtZW50OjpyZW1v
dmVkRnJvbShpbnNlcnRpb25Qb2ludCk7CiB9CiAKK0luc2VydGlvblBvaW50KiBTaGFkb3dSb290
Ojphc3NpZ25lZFRvKCkgY29uc3QKK3sKKyAgICBpZiAoIWRpc3RyaWJ1dGlvbkRhdGEoKSkKKyAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gZGlzdHJpYnV0aW9uRGF0YSgpLT5pbnNlcnRp
b25Qb2ludEFzc2lnbmVkVG8oKTsKK30KKwordm9pZCBTaGFkb3dSb290OjpzZXRBc3NpZ25lZFRv
KEluc2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludCkKK3sKKyAgICBBU1NFUlQoIWFzc2lnbmVk
VG8oKSB8fCAhaW5zZXJ0aW9uUG9pbnQpOworICAgIGVuc3VyZURpc3RyaWJ1dGlvbkRhdGEoKS0+
c2V0SW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvKGluc2VydGlvblBvaW50KTsKK30KKwogdm9pZCBT
aGFkb3dSb290OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJl
Zm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCiB7CiAg
ICAgR3VhcmRPcnBoYW5TaGFkb3dSb290KHsgfSk7CkBAIC0zMTQsNiArMzI1LDc3IEBAIHZvaWQg
U2hhZG93Um9vdDo6dW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCkKICAgICBzZXRIYXNT
Y29wZWRIVE1MU3R5bGVDaGlsZChtX251bWJlck9mU3R5bGVzID4gMCk7CiB9CiAKK2lubGluZSBT
aGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGEqIFNoYWRvd1Jvb3Q6OmVuc3VyZURpc3Ry
aWJ1dGlvbkRhdGEoKQoreworICAgIGlmIChtX2Rpc3RyaWJ1dGlvbkRhdGEpCisgICAgICAgIHJl
dHVybiBtX2Rpc3RyaWJ1dGlvbkRhdGEuZ2V0KCk7CisKKyAgICBtX2Rpc3RyaWJ1dGlvbkRhdGEg
PSBhZG9wdFB0cihuZXcgU2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRhKTsKKyAgICBy
ZXR1cm4gbV9kaXN0cmlidXRpb25EYXRhLmdldCgpOworfSAgIAorCit2b2lkIFNoYWRvd1Jvb3Q6
OnJlZ2lzdGVyU2hhZG93RWxlbWVudCgpCit7CisgICAgZW5zdXJlRGlzdHJpYnV0aW9uRGF0YSgp
LT5pbmNyZW1lbnROdW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbigpOworfQorCit2b2lkIFNo
YWRvd1Jvb3Q6OnVucmVnaXN0ZXJTaGFkb3dFbGVtZW50KCkKK3sKKyAgICBkaXN0cmlidXRpb25E
YXRhKCktPmRlY3JlbWVudE51bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuKCk7Cit9CisKK2Jv
b2wgU2hhZG93Um9vdDo6aGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoKSBjb25zdAoreworICAgIGlm
ICghZGlzdHJpYnV0aW9uRGF0YSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1
cm4gZGlzdHJpYnV0aW9uRGF0YSgpLT5udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbigpID4g
MDsKK30KKwordm9pZCBTaGFkb3dSb290OjpyZWdpc3RlckNvbnRlbnRFbGVtZW50KCkKK3sKKyAg
ICBlbnN1cmVEaXN0cmlidXRpb25EYXRhKCktPmluY3JlbWVudE51bWJlck9mQ29udGVudEVsZW1l
bnRDaGlsZHJlbigpOworfQorCit2b2lkIFNoYWRvd1Jvb3Q6OnVucmVnaXN0ZXJDb250ZW50RWxl
bWVudCgpCit7CisgICAgZGlzdHJpYnV0aW9uRGF0YSgpLT5kZWNyZW1lbnROdW1iZXJPZkNvbnRl
bnRFbGVtZW50Q2hpbGRyZW4oKTsKK30KKworYm9vbCBTaGFkb3dSb290OjpoYXNDb250ZW50RWxl
bWVudCgpIGNvbnN0Cit7CisgICAgaWYgKCFkaXN0cmlidXRpb25EYXRhKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIHJldHVybiBkaXN0cmlidXRpb25EYXRhKCktPm51bWJlck9mQ29u
dGVudEVsZW1lbnRDaGlsZHJlbigpID4gMDsKK30KKwordm9pZCBTaGFkb3dSb290OjpyZWdpc3Rl
ckVsZW1lbnRTaGFkb3coKQoreworICAgIGVuc3VyZURpc3RyaWJ1dGlvbkRhdGEoKS0+aW5jcmVt
ZW50TnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4oKTsKK30KKwordm9pZCBTaGFkb3dSb290
Ojp1bnJlZ2lzdGVyRWxlbWVudFNoYWRvdygpCit7CisgICAgQVNTRVJUKGhhc0VsZW1lbnRTaGFk
b3coKSk7CisgICAgZGlzdHJpYnV0aW9uRGF0YSgpLT5kZWNyZW1lbnROdW1iZXJPZkVsZW1lbnRT
aGFkb3dDaGlsZHJlbigpOworfQorCitib29sIFNoYWRvd1Jvb3Q6Omhhc0VsZW1lbnRTaGFkb3co
KSBjb25zdAoreworICAgIGlmICghZGlzdHJpYnV0aW9uRGF0YSgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICByZXR1cm4gZGlzdHJpYnV0aW9uRGF0YSgpLT5udW1iZXJPZkVsZW1lbnRT
aGFkb3dDaGlsZHJlbigpID4gMDsKK30KKwordW5zaWduZWQgU2hhZG93Um9vdDo6Y291bnRFbGVt
ZW50U2hhZG93KCkgY29uc3QgCit7CisgICAgaWYgKCFkaXN0cmlidXRpb25EYXRhKCkpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIGRpc3RyaWJ1dGlvbkRhdGEoKS0+bnVtYmVyT2ZF
bGVtZW50U2hhZG93Q2hpbGRyZW4oKTsKK30KIAogdm9pZCBTaGFkb3dSb290OjpyZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewpAQCAt
MzIyLDcgKzQwNCw3IEBAIHZvaWQgU2hhZG93Um9vdDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBUcmVlU2NvcGU6OnJlcG9y
dE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkTWVtYmVyKG1fcHJl
dik7CiAgICAgaW5mby5hZGRNZW1iZXIobV9uZXh0KTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2lu
c2VydGlvblBvaW50QXNzaWduZWRUbyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9kaXN0cmlidXRp
b25EYXRhKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jv
b3QuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKaW5kZXggMWYzYWY5ZjA1MDQy
YWRjODJkNWM0NzgyYzFkYzY5YjM4ZWUxOGVhZi4uZGU5NThkMjNjOGFjNmRhOTQ4OWQ0NTVhZGNk
OWJmYWM4ZjE1MTAwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCkBAIC0zOSw4ICszOSw5IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBET01TZWxlY3Rp
b247Ci1jbGFzcyBJbnNlcnRpb25Qb2ludDsKIGNsYXNzIEVsZW1lbnRTaGFkb3c7CitjbGFzcyBJ
bnNlcnRpb25Qb2ludDsKK2NsYXNzIFNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YTsK
IAogY2xhc3MgU2hhZG93Um9vdCA6IHB1YmxpYyBEb2N1bWVudEZyYWdtZW50LCBwdWJsaWMgVHJl
ZVNjb3BlLCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8U2hhZG93Um9vdD4gewogICAgIGZy
aWVuZCBjbGFzcyBXVEY6OkRvdWJseUxpbmtlZExpc3ROb2RlPFNoYWRvd1Jvb3Q+OwpAQCAtOTAs
MTggKzkxLDE4IEBAIHB1YmxpYzoKICAgICBJbnNlcnRpb25Qb2ludCogYXNzaWduZWRUbygpIGNv
bnN0OwogICAgIHZvaWQgc2V0QXNzaWduZWRUbyhJbnNlcnRpb25Qb2ludCopOwogCi0gICAgdm9p
ZCByZWdpc3RlclNoYWRvd0VsZW1lbnQoKSB7ICsrbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGls
ZHJlbjsgfQotICAgIHZvaWQgdW5yZWdpc3RlclNoYWRvd0VsZW1lbnQoKSB7IC0tbV9udW1iZXJP
ZlNoYWRvd0VsZW1lbnRDaGlsZHJlbjsgfQotICAgIGJvb2wgaGFzU2hhZG93SW5zZXJ0aW9uUG9p
bnQoKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuID4gMDsg
fQorICAgIHZvaWQgcmVnaXN0ZXJTaGFkb3dFbGVtZW50KCk7CisgICAgdm9pZCB1bnJlZ2lzdGVy
U2hhZG93RWxlbWVudCgpOworICAgIGJvb2wgaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoKSBjb25z
dDsKIAotICAgIHZvaWQgcmVnaXN0ZXJDb250ZW50RWxlbWVudCgpIHsgKyttX251bWJlck9mQ29u
dGVudEVsZW1lbnRDaGlsZHJlbjsgfQotICAgIHZvaWQgdW5yZWdpc3RlckNvbnRlbnRFbGVtZW50
KCkgeyAtLW1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuOyB9Ci0gICAgYm9vbCBoYXND
b250ZW50RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENo
aWxkcmVuID4gMDsgfQorICAgIHZvaWQgcmVnaXN0ZXJDb250ZW50RWxlbWVudCgpOworICAgIHZv
aWQgdW5yZWdpc3RlckNvbnRlbnRFbGVtZW50KCk7CisgICAgYm9vbCBoYXNDb250ZW50RWxlbWVu
dCgpIGNvbnN0OwogCi0gICAgdm9pZCByZWdpc3RlckVsZW1lbnRTaGFkb3coKSB7ICsrbV9udW1i
ZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbjsgfQotICAgIHZvaWQgdW5yZWdpc3RlckVsZW1lbnRT
aGFkb3coKSB7IEFTU0VSVChoYXNFbGVtZW50U2hhZG93KCkpOyAtLW1fbnVtYmVyT2ZFbGVtZW50
U2hhZG93Q2hpbGRyZW47IH0KLSAgICBib29sIGhhc0VsZW1lbnRTaGFkb3coKSBjb25zdCB7IHJl
dHVybiBtX251bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuID4gMDsgfQotICAgIHVuc2lnbmVk
IGNvdW50RWxlbWVudFNoYWRvdygpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2ZFbGVtZW50U2hh
ZG93Q2hpbGRyZW47IH0KKyAgICB2b2lkIHJlZ2lzdGVyRWxlbWVudFNoYWRvdygpOworICAgIHZv
aWQgdW5yZWdpc3RlckVsZW1lbnRTaGFkb3coKTsKKyAgICBib29sIGhhc0VsZW1lbnRTaGFkb3co
KSBjb25zdDsKKyAgICB1bnNpZ25lZCBjb3VudEVsZW1lbnRTaGFkb3coKSBjb25zdDsKIAogICAg
IHZpcnR1YWwgdm9pZCByZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpIE9WRVJSSURF
OwpAQCAtMTIzLDEyICsxMjQsMTMgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0VHlwZShTaGFk
b3dSb290VHlwZSB0eXBlKSB7IG1faXNBdXRob3JTaGFkb3dSb290ID0gdHlwZSA9PSBBdXRob3JT
aGFkb3dSb290OyB9CiAKKyAgICBTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGEqIGRp
c3RyaWJ1dGlvbkRhdGEoKSB7IHJldHVybiBtX2Rpc3RyaWJ1dGlvbkRhdGEuZ2V0KCk7IH0KKyAg
ICBjb25zdCBTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGEqIGRpc3RyaWJ1dGlvbkRh
dGEoKSBjb25zdCB7IHJldHVybiBtX2Rpc3RyaWJ1dGlvbkRhdGEuZ2V0KCk7IH0KKyAgICBTaGFk
b3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGEqIGVuc3VyZURpc3RyaWJ1dGlvbkRhdGEoKTsK
KwogICAgIFNoYWRvd1Jvb3QqIG1fcHJldjsKICAgICBTaGFkb3dSb290KiBtX25leHQ7Ci0gICAg
SW5zZXJ0aW9uUG9pbnQqIG1faW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvOwotICAgIHVuc2lnbmVk
IG1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW47Ci0gICAgdW5zaWduZWQgbV9udW1iZXJP
ZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW47Ci0gICAgdW5zaWduZWQgbV9udW1iZXJPZkVsZW1lbnRT
aGFkb3dDaGlsZHJlbjsKKyAgICBPd25QdHI8U2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25E
YXRhPiBtX2Rpc3RyaWJ1dGlvbkRhdGE7CiAgICAgdW5zaWduZWQgbV9udW1iZXJPZlN0eWxlcyA6
IDI4OwogICAgIHVuc2lnbmVkIG1fYXBwbHlBdXRob3JTdHlsZXMgOiAxOwogICAgIHVuc2lnbmVk
IG1fcmVzZXRTdHlsZUluaGVyaXRhbmNlIDogMTsKQEAgLTE0NiwxNyArMTQ4LDYgQEAgaW5saW5l
IHZvaWQgU2hhZG93Um9vdDo6c2V0SG9zdChFbGVtZW50KiBob3N0KQogICAgIHNldFBhcmVudE9y
SG9zdE5vZGUoaG9zdCk7CiB9CiAKLWlubGluZSBJbnNlcnRpb25Qb2ludCogU2hhZG93Um9vdDo6
YXNzaWduZWRUbygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1faW5zZXJ0aW9uUG9pbnRBc3NpZ25l
ZFRvOwotfQotCi1pbmxpbmUgdm9pZCBTaGFkb3dSb290OjpzZXRBc3NpZ25lZFRvKEluc2VydGlv
blBvaW50KiBpbnNlcnRpb25Qb2ludCkKLXsKLSAgICBBU1NFUlQoIW1faW5zZXJ0aW9uUG9pbnRB
c3NpZ25lZFRvIHx8ICFpbnNlcnRpb25Qb2ludCk7Ci0gICAgbV9pbnNlcnRpb25Qb2ludEFzc2ln
bmVkVG8gPSBpbnNlcnRpb25Qb2ludDsKLX0KLQogaW5saW5lIGJvb2wgU2hhZG93Um9vdDo6aXNV
c2VkRm9yUmVuZGVyaW5nKCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNZb3VuZ2VzdCgpIHx8IGFz
c2lnbmVkVG8oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRl
bnREaXN0cmlidXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlz
dHJpYnV0b3IuY3BwCmluZGV4IGUzMjE2ODM5ZmRmN2E3ZjgyMjNlM2E1MDJmZjQ1ZmMxODEwMDZm
NTAuLmJjNjc2MTFhODFhYWZlMGNmMTQyY2E1MjI2N2Q5NWI1ZTc1MGYwYzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcApAQCAtNTgs
NiArNTgsMTUgQEAgc2l6ZV90IENvbnRlbnREaXN0cmlidXRpb246OmZpbmQoY29uc3QgTm9kZSog
bm9kZSkgY29uc3QKICAgICByZXR1cm4gaXQuZ2V0KCktPnZhbHVlOwogfQogCitTaGFkb3dSb290
Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6OlNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0
YSgpCisgICAgOiBtX2luc2VydGlvblBvaW50QXNzaWduZWRUbygwKQorICAgICwgbV9udW1iZXJP
ZlNoYWRvd0VsZW1lbnRDaGlsZHJlbigwKQorICAgICwgbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50
Q2hpbGRyZW4oMCkKKyAgICAsIG1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4oMCkKK3sK
K30KKworCiBDb250ZW50RGlzdHJpYnV0b3I6OkNvbnRlbnREaXN0cmlidXRvcigpCiAgICAgOiBt
X3ZhbGlkaXR5KFVuZGV0ZXJtaW5lZCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvQ29udGVudERpc3RyaWJ1dG9yLmgKaW5kZXggOTdjZmZiY2M3M2UxYzc5NTFlYzU4OTZkM2E1
YTQ5M2YzYjdjMTZmOS4uNzIzMTgxZTk5YmQ4Yzc0OTNlMzg0NGY1ZjYxNTFmYjAxYWU5YWI1MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmgK
QEAgLTY4LDYgKzY4LDMyIEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxjb25zdCBOb2RlKiwgc2l6
ZV90PiBtX2luZGljZXM7CiB9OwogCitjbGFzcyBTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlv
bkRhdGEgeworcHVibGljOgorICAgIFNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YSgp
OworCisgICAgSW5zZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50QXNzaWduZWRUbygpIGNvbnN0
IHsgcmV0dXJuIG1faW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvOyB9CisgICAgdm9pZCBzZXRJbnNl
cnRpb25Qb2ludEFzc2lnbmVkVG8oSW5zZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50KSB7IG1f
aW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvID0gaW5zZXJ0aW9uUG9pbnQ7IH0KKworICAgIHZvaWQg
aW5jcmVtZW50TnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4oKSB7ICsrbV9udW1iZXJPZlNo
YWRvd0VsZW1lbnRDaGlsZHJlbjsgfQorICAgIHZvaWQgZGVjcmVtZW50TnVtYmVyT2ZTaGFkb3dF
bGVtZW50Q2hpbGRyZW4oKSB7IEFTU0VSVChtX251bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVu
ID4gMCk7IC0tbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbjsgfQorICAgIHVuc2lnbmVk
IG51bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJP
ZlNoYWRvd0VsZW1lbnRDaGlsZHJlbjsgfQorCisgICAgdm9pZCBpbmNyZW1lbnROdW1iZXJPZkNv
bnRlbnRFbGVtZW50Q2hpbGRyZW4oKSB7ICsrbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRy
ZW47IH0KKyAgICB2b2lkIGRlY3JlbWVudE51bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbigp
IHsgQVNTRVJUKG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuID4gMCk7IC0tbV9udW1i
ZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW47IH0KKyAgICB1bnNpZ25lZCBudW1iZXJPZkNvbnRl
bnRFbGVtZW50Q2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mQ29udGVudEVsZW1l
bnRDaGlsZHJlbjsgfSAKKworICAgIHZvaWQgaW5jcmVtZW50TnVtYmVyT2ZFbGVtZW50U2hhZG93
Q2hpbGRyZW4oKSB7ICsrbV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbjsgfQorICAgIHZv
aWQgZGVjcmVtZW50TnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4oKSB7IEFTU0VSVChtX251
bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuID4gMCk7IC0tbV9udW1iZXJPZkVsZW1lbnRTaGFk
b3dDaGlsZHJlbjsgfQorICAgIHVuc2lnbmVkIG51bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVu
KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbjsgfQorCitw
cml2YXRlOgorICAgIEluc2VydGlvblBvaW50KiBtX2luc2VydGlvblBvaW50QXNzaWduZWRUbzsK
KyAgICB1bnNpZ25lZCBtX251bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuOworICAgIHVuc2ln
bmVkIG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuOworICAgIHVuc2lnbmVkIG1fbnVt
YmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW47Cit9OworCiBjbGFzcyBDb250ZW50RGlzdHJpYnV0
b3IgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnRlbnREaXN0cmlidXRvcik7CiBwdWJs
aWM6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176450</attachid>
            <date>2012-11-28 03:57:32 -0800</date>
            <delta_ts>2012-11-28 17:58:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103481-20121128205507.patch</filename>
            <type>text/plain</type>
            <size>18438</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1OTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNlYzc1NTA1Y2QwZjQ5
NGM4MTJlN2ViYTc4M2FjZTNjMDU2NjJiMi4uNjA0NjZkM2M5ODlmOTk2N2UyNGM1ODI2NzE4ZDE2
YTczOGY1N2E0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDEyLTExLTI4ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBN
b3ZlIERpc3RyaWJ1dGlvbiBzdHVmZnMgZnJvbSBTaGFkb3dSb290CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM0ODEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSB3b3VsZCBsaWtlIHRvIHNocmluayB0
aGUgU2hhZG93Um9vdCBtZW1vcnkgc2l6ZSBpbiB0aGlzIHBhdGNoLiBTaGFkb3dSb290IGhhZCBz
ZXZlcmFsIGRpc3RyaWJ1dGlvbiByZWxhdGVkIG1lbWJlcnMsCisgICAgICAgIGhvd2V2ZXIgdGhl
eSB3ZXJlIHVzZWQgb25seSBpZiBTaGFkb3dSb290IGhhcyA8Y29udGVudD4sIDxzaGFkb3c+LCBv
ciBuZXN0ZWQgU2hhZG93Um9vdC4KKyAgICAgICAgU2luY2UgPGlucHV0PiBvciA8dGV4dGFyZWE+
IGRvIG5vdCBoYXZlIHN1Y2ggc3R1ZmZzLCB0aGUgbWVtYmVycyBjb25zdW1lIGEgZmV3IGFtb3Vu
dCBvZiBtZW1vcnkuCisKKyAgICAgICAgV2UgcmVtb3ZlIHRoZW0gZnJvbSBTaGFkb3dSb290IGFu
ZCBpbnRyb2R1Y2Ugc29tZSBSYXJlRGF0YS1saWtlIGRhdGEgc3RydWN0dXJlIGZvciBTaGFkb3dS
b290LgorICAgICAgICBUaGlzIHdpbGwgcmVkdWNlIG1lbW9yeSBmb290cHJpbnQgaW4gbW9zdCBj
YXNlcy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlZmFjdG9yaW5nLgorCisgICAgICAgICog
V2ViQ29yZS5leHAuaW46CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAgICAo
U2FtZVNpemVBc1NoYWRvd1Jvb3QpOiBSZWR1Y2VkIDMgKiBzaXplb2YodW5zaWduZWQpIGJ5dGVz
IGZyb20gU2hhZG93Um9vdC4KKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OlNoYWRvd1Jv
b3QpOiBEaXN0cmlidXRpb25EYXRhIGlzIGNyZWF0ZWQgb25seSB3aGVuIG5lY2Vzc2FyeS4gPGlu
cHV0PiBvciA8dGV4dGFyZWE+IHdvbid0CisgICAgICAgIGNyZWF0ZSBzdWNoIGRhdGEuCisgICAg
ICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojphc3NpZ25lZFRvKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6c2V0QXNzaWduZWRUbyk6CisgICAgICAg
IChXZWJDb3JlOjpTaGFkb3dSb290OjplbnN1cmVEaXN0cmlidXRpb25EYXRhKToKKyAgICAgICAg
KFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OnJlZ2lzdGVyU2hhZG93RWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTaGFkb3dSb290Ojp1bnJlZ2lzdGVyU2hhZG93RWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTaGFkb3dSb290OjpoYXNTaGFkb3dJbnNlcnRpb25Qb2ludCk6CisgICAgICAgIChX
ZWJDb3JlOjpTaGFkb3dSb290OjpyZWdpc3RlckNvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OlNoYWRvd1Jvb3Q6OnVucmVnaXN0ZXJDb250ZW50RWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTaGFkb3dSb290OjpoYXNDb250ZW50RWxlbWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpTaGFkb3dSb290OjpyZWdpc3RlckVsZW1lbnRTaGFkb3cpOgorICAgICAgICAoV2ViQ29yZTo6
U2hhZG93Um9vdDo6dW5yZWdpc3RlckVsZW1lbnRTaGFkb3cpOgorICAgICAgICAoV2ViQ29yZTo6
U2hhZG93Um9vdDo6aGFzRWxlbWVudFNoYWRvdyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dS
b290Ojpjb3VudEVsZW1lbnRTaGFkb3cpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFNoYWRvd1Jvb3QpOgorICAgICAgICAoV2ViQ29yZTo6U2hh
ZG93Um9vdDo6ZGlzdHJpYnV0aW9uRGF0YSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvQ29udGVu
dERpc3RyaWJ1dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3RDb250ZW50RGlz
dHJpYnV0aW9uRGF0YTo6U2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRhKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5o
OgorICAgICAgICAoU2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRhKTogRGlzdHJpYnV0
aW9uIHJlbGF0ZWQgZmllbGRzIGluIFNoYWRvd1Jvb3QgYXJlIG1vdmVkIHRvIGhlcmUuCisgICAg
ICAgIChXZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6Omluc2VydGlv
blBvaW50QXNzaWduZWRUbyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERp
c3RyaWJ1dGlvbkRhdGE6OnNldEluc2VydGlvblBvaW50QXNzaWduZWRUbyk6CisgICAgICAgIChX
ZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6OmluY3JlbWVudE51bWJl
ck9mU2hhZG93RWxlbWVudENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3RD
b250ZW50RGlzdHJpYnV0aW9uRGF0YTo6ZGVjcmVtZW50TnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hp
bGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25E
YXRhOjpudW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpT
aGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6OmluY3JlbWVudE51bWJlck9mQ29udGVu
dEVsZW1lbnRDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERp
c3RyaWJ1dGlvbkRhdGE6OmRlY3JlbWVudE51bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbik6
CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6Om51
bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dS
b290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6OmluY3JlbWVudE51bWJlck9mRWxlbWVudFNoYWRv
d0NoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0
aW9uRGF0YTo6ZGVjcmVtZW50TnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4pOgorICAgICAg
ICAoV2ViQ29yZTo6U2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRhOjpudW1iZXJPZkVs
ZW1lbnRTaGFkb3dDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0xMS0yNyAg
QW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQ29tcGlsZSB0aW1l
IHNpemUgYXNzZXJ0aW9ucyBmb3IgVHJlZVNjb3BlLCBTaGFkb3dSb290IGFuZCBFbGVtZW50QXR0
cmlidXRlRGF0YS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlZjI4NDdiMmUwY2M2ZWQ5ZmE5YjM4NGJiNGNjM2Rk
MGFmZjE1MjA5Li4zZWNmNzZhZGEyMDJmZmU4NDI3MGVlNGNhNjY5M2RmOTI4NzZmZWU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTEtMjggIFNoaW55YSBLYXdhbmFrYSAgPHNo
aW55YWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtTaGFkb3ddIE1vdmUgRGlzdHJpYnV0aW9u
IHN0dWZmcyBmcm9tIFNoYWRvd1Jvb3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMzQ4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAqIHdpbi9XZWJLaXQy
Q0ZMaXRlLmRlZjoKKwogMjAxMi0xMS0yNyAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21w
YW55MTAwLm5ldD4KIAogICAgICAgICBDb29yZGluYXRlZCBHcmFwaGljczogUmVmYWN0b3IgY29k
ZSBtYW5hZ2luZyBhIGJhY2tpbmcgc3RvcmUgaW4gTGF5ZXJUcmVlUmVuZGVyZXIuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCmluZGV4IGM3Yjk1MzBjMzA1MzMwOTgzMzZiZjYyZmRmOWM4MzcwM2YwZmE5NjMu
LmViZjQwZTVjYTRlMTFjM2ZhMjUyNzQ1N2I2ZDhlYzQ1YjdjMjM4OGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCkBAIC04MSw2ICs4MSw5IEBAIF9fWk43V2ViQ29yZTEwU2Nyb2xsVmlldzIxc2V0RGVs
ZWdhdGVzU2Nyb2xsaW5nRWIKIF9fWk43V2ViQ29yZTEwU2Nyb2xsVmlldzIzc2V0U2Nyb2xsYmFy
c1N1cHByZXNzZWRFYmIKIF9fWk43V2ViQ29yZTEwU2Nyb2xsVmlldzI0d2luZG93UmVzaXplclJl
Y3RDaGFuZ2VkRXYKIF9fWk43V2ViQ29yZTEwU2Nyb2xsVmlldzhhZGRDaGlsZEVOM1dURjEwUGFz
c1JlZlB0cklOU182V2lkZ2V0RUVFCitfX1pOSzdXZWJDb3JlMTBTaGFkb3dSb290MTdoYXNDb250
ZW50RWxlbWVudEV2CitfX1pOSzdXZWJDb3JlMTBTaGFkb3dSb290MThjb3VudEVsZW1lbnRTaGFk
b3dFdgorX19aTks3V2ViQ29yZTEwU2hhZG93Um9vdDIzaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnRF
dgogX19aTjdXZWJDb3JlMTBTaGFkb3dSb290NmNyZWF0ZUVQTlNfN0VsZW1lbnRFUmkKIF9fWk43
V2ViQ29yZTEwZGVsZXRlRmlsZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEwc2V0Q29v
a2llc0VQTlNfOERvY3VtZW50RVJLTlNfNEtVUkxFUktOM1dURjZTdHJpbmdFCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2hhZG93Um9vdC5jcHAKaW5kZXggYmJjMjZlNTc4ZWM5YTRiMWFmYWE4NDhhNDEwOWI2ZjI2MjVj
N2EwOC4uMGYwMDdjOGFmMjgzMDBlYWMwM2NlNjc4Mzk2NDU4Y2E0MmI4YWEyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TaGFkb3dSb290LmNwcApAQCAtNTcsNyArNTcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIFNhbWVTaXplQXNTaGFkb3dSb290IDogcHVibGljIERvY3VtZW50RnJhZ21lbnQs
IHB1YmxpYyBUcmVlU2NvcGUsIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxTaGFkb3dSb290
PiB7CiAgICAgdm9pZCogcG9pbnRlcnNbM107Ci0gICAgdW5zaWduZWQgY291bnRlcnNBbmRGbGFn
c1s0XTsKKyAgICB1bnNpZ25lZCBjb3VudGVyc0FuZEZsYWdzWzFdOwogfTsKIAogQ09NUElMRV9B
U1NFUlQoc2l6ZW9mKFNoYWRvd1Jvb3QpID09IHNpemVvZihTYW1lU2l6ZUFzU2hhZG93Um9vdCks
IHNoYWRvd3Jvb3Rfc2hvdWxkX3N0YXlfc21hbGwpOwpAQCAtNjcsMTMgKzY3LDEwIEBAIFNoYWRv
d1Jvb3Q6OlNoYWRvd1Jvb3QoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICwgVHJlZVNjb3BlKHRo
aXMpCiAgICAgLCBtX3ByZXYoMCkKICAgICAsIG1fbmV4dCgwKQotICAgICwgbV9pbnNlcnRpb25Q
b2ludEFzc2lnbmVkVG8oMCkKLSAgICAsIG1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4o
MCkKLSAgICAsIG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuKDApCi0gICAgLCBtX251
bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuKDApCiAgICAgLCBtX251bWJlck9mU3R5bGVzKDAp
CiAgICAgLCBtX2FwcGx5QXV0aG9yU3R5bGVzKGZhbHNlKQogICAgICwgbV9yZXNldFN0eWxlSW5o
ZXJpdGFuY2UoZmFsc2UpCisgICAgLCBtX2lzQXV0aG9yU2hhZG93Um9vdChmYWxzZSkKICAgICAs
IG1fcmVnaXN0ZXJlZFdpdGhQYXJlbnRTaGFkb3dSb290KGZhbHNlKQogewogICAgIEFTU0VSVChk
b2N1bWVudCk7CkBAIC0yOTMsNiArMjkwLDIwIEBAIHZvaWQgU2hhZG93Um9vdDo6cmVtb3ZlZEZy
b20oQ29udGFpbmVyTm9kZSogaW5zZXJ0aW9uUG9pbnQpCiAgICAgRG9jdW1lbnRGcmFnbWVudDo6
cmVtb3ZlZEZyb20oaW5zZXJ0aW9uUG9pbnQpOwogfQogCitJbnNlcnRpb25Qb2ludCogU2hhZG93
Um9vdDo6YXNzaWduZWRUbygpIGNvbnN0Cit7CisgICAgaWYgKCFkaXN0cmlidXRpb25EYXRhKCkp
CisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIGRpc3RyaWJ1dGlvbkRhdGEoKS0+aW5z
ZXJ0aW9uUG9pbnRBc3NpZ25lZFRvKCk7Cit9CisKK3ZvaWQgU2hhZG93Um9vdDo6c2V0QXNzaWdu
ZWRUbyhJbnNlcnRpb25Qb2ludCogaW5zZXJ0aW9uUG9pbnQpCit7CisgICAgQVNTRVJUKCFhc3Np
Z25lZFRvKCkgfHwgIWluc2VydGlvblBvaW50KTsKKyAgICBlbnN1cmVEaXN0cmlidXRpb25EYXRh
KCktPnNldEluc2VydGlvblBvaW50QXNzaWduZWRUbyhpbnNlcnRpb25Qb2ludCk7Cit9CisKIHZv
aWQgU2hhZG93Um9vdDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2Rl
KiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQog
ewogICAgIEd1YXJkT3JwaGFuU2hhZG93Um9vdCh7IH0pOwpAQCAtMzE0LDYgKzMyNSw3NyBAQCB2
b2lkIFNoYWRvd1Jvb3Q6OnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpCiAgICAgc2V0
SGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQobV9udW1iZXJPZlN0eWxlcyA+IDApOwogfQogCitpbmxp
bmUgU2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRhKiBTaGFkb3dSb290OjplbnN1cmVE
aXN0cmlidXRpb25EYXRhKCkKK3sKKyAgICBpZiAobV9kaXN0cmlidXRpb25EYXRhKQorICAgICAg
ICByZXR1cm4gbV9kaXN0cmlidXRpb25EYXRhLmdldCgpOworCisgICAgbV9kaXN0cmlidXRpb25E
YXRhID0gYWRvcHRQdHIobmV3IFNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YSk7Cisg
ICAgcmV0dXJuIG1fZGlzdHJpYnV0aW9uRGF0YS5nZXQoKTsKK30gICAKKwordm9pZCBTaGFkb3dS
b290OjpyZWdpc3RlclNoYWRvd0VsZW1lbnQoKQoreworICAgIGVuc3VyZURpc3RyaWJ1dGlvbkRh
dGEoKS0+aW5jcmVtZW50TnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4oKTsKK30KKwordm9p
ZCBTaGFkb3dSb290Ojp1bnJlZ2lzdGVyU2hhZG93RWxlbWVudCgpCit7CisgICAgZGlzdHJpYnV0
aW9uRGF0YSgpLT5kZWNyZW1lbnROdW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbigpOworfQor
Citib29sIFNoYWRvd1Jvb3Q6Omhhc1NoYWRvd0luc2VydGlvblBvaW50KCkgY29uc3QKK3sKKyAg
ICBpZiAoIWRpc3RyaWJ1dGlvbkRhdGEoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
cmV0dXJuIGRpc3RyaWJ1dGlvbkRhdGEoKS0+bnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4o
KSA+IDA7Cit9CisKK3ZvaWQgU2hhZG93Um9vdDo6cmVnaXN0ZXJDb250ZW50RWxlbWVudCgpCit7
CisgICAgZW5zdXJlRGlzdHJpYnV0aW9uRGF0YSgpLT5pbmNyZW1lbnROdW1iZXJPZkNvbnRlbnRF
bGVtZW50Q2hpbGRyZW4oKTsKK30KKwordm9pZCBTaGFkb3dSb290Ojp1bnJlZ2lzdGVyQ29udGVu
dEVsZW1lbnQoKQoreworICAgIGRpc3RyaWJ1dGlvbkRhdGEoKS0+ZGVjcmVtZW50TnVtYmVyT2ZD
b250ZW50RWxlbWVudENoaWxkcmVuKCk7Cit9CisKK2Jvb2wgU2hhZG93Um9vdDo6aGFzQ29udGVu
dEVsZW1lbnQoKSBjb25zdAoreworICAgIGlmICghZGlzdHJpYnV0aW9uRGF0YSgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gZGlzdHJpYnV0aW9uRGF0YSgpLT5udW1iZXJP
ZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW4oKSA+IDA7Cit9CisKK3ZvaWQgU2hhZG93Um9vdDo6cmVn
aXN0ZXJFbGVtZW50U2hhZG93KCkKK3sKKyAgICBlbnN1cmVEaXN0cmlidXRpb25EYXRhKCktPmlu
Y3JlbWVudE51bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuKCk7Cit9CisKK3ZvaWQgU2hhZG93
Um9vdDo6dW5yZWdpc3RlckVsZW1lbnRTaGFkb3coKQoreworICAgIEFTU0VSVChoYXNFbGVtZW50
U2hhZG93KCkpOworICAgIGRpc3RyaWJ1dGlvbkRhdGEoKS0+ZGVjcmVtZW50TnVtYmVyT2ZFbGVt
ZW50U2hhZG93Q2hpbGRyZW4oKTsKK30KKworYm9vbCBTaGFkb3dSb290OjpoYXNFbGVtZW50U2hh
ZG93KCkgY29uc3QKK3sKKyAgICBpZiAoIWRpc3RyaWJ1dGlvbkRhdGEoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGRpc3RyaWJ1dGlvbkRhdGEoKS0+bnVtYmVyT2ZFbGVt
ZW50U2hhZG93Q2hpbGRyZW4oKSA+IDA7Cit9CisKK3Vuc2lnbmVkIFNoYWRvd1Jvb3Q6OmNvdW50
RWxlbWVudFNoYWRvdygpIGNvbnN0IAoreworICAgIGlmICghZGlzdHJpYnV0aW9uRGF0YSgpKQor
ICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBkaXN0cmlidXRpb25EYXRhKCktPm51bWJl
ck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuKCk7Cit9CiAKIHZvaWQgU2hhZG93Um9vdDo6cmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsK
QEAgLTMyMiw3ICs0MDQsNyBAQCB2b2lkIFNoYWRvd1Jvb3Q6OnJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgVHJlZVNjb3BlOjpy
ZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZE1lbWJlciht
X3ByZXYpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fbmV4dCk7Ci0gICAgaW5mby5hZGRNZW1iZXIo
bV9pbnNlcnRpb25Qb2ludEFzc2lnbmVkVG8pOworICAgIGluZm8uYWRkTWVtYmVyKG1fZGlzdHJp
YnV0aW9uRGF0YSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFk
b3dSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCmluZGV4IDFmM2FmOWYw
NTA0MmFkYzgyZDVjNDc4MmMxZGM2OWIzOGVlMThlYWYuLmRlOTU4ZDIzYzhhYzZkYTk0ODlkNDU1
YWRjZDliZmFjOGYxNTEwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaApAQCAtMzksOCArMzks
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRE9NU2Vs
ZWN0aW9uOwotY2xhc3MgSW5zZXJ0aW9uUG9pbnQ7CiBjbGFzcyBFbGVtZW50U2hhZG93OworY2xh
c3MgSW5zZXJ0aW9uUG9pbnQ7CitjbGFzcyBTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRh
dGE7CiAKIGNsYXNzIFNoYWRvd1Jvb3QgOiBwdWJsaWMgRG9jdW1lbnRGcmFnbWVudCwgcHVibGlj
IFRyZWVTY29wZSwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFNoYWRvd1Jvb3Q+IHsKICAg
ICBmcmllbmQgY2xhc3MgV1RGOjpEb3VibHlMaW5rZWRMaXN0Tm9kZTxTaGFkb3dSb290PjsKQEAg
LTkwLDE4ICs5MSwxOCBAQCBwdWJsaWM6CiAgICAgSW5zZXJ0aW9uUG9pbnQqIGFzc2lnbmVkVG8o
KSBjb25zdDsKICAgICB2b2lkIHNldEFzc2lnbmVkVG8oSW5zZXJ0aW9uUG9pbnQqKTsKIAotICAg
IHZvaWQgcmVnaXN0ZXJTaGFkb3dFbGVtZW50KCkgeyArK21fbnVtYmVyT2ZTaGFkb3dFbGVtZW50
Q2hpbGRyZW47IH0KLSAgICB2b2lkIHVucmVnaXN0ZXJTaGFkb3dFbGVtZW50KCkgeyAtLW1fbnVt
YmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW47IH0KLSAgICBib29sIGhhc1NoYWRvd0luc2VydGlv
blBvaW50KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbiA+
IDA7IH0KKyAgICB2b2lkIHJlZ2lzdGVyU2hhZG93RWxlbWVudCgpOworICAgIHZvaWQgdW5yZWdp
c3RlclNoYWRvd0VsZW1lbnQoKTsKKyAgICBib29sIGhhc1NoYWRvd0luc2VydGlvblBvaW50KCkg
Y29uc3Q7CiAKLSAgICB2b2lkIHJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKSB7ICsrbV9udW1iZXJP
ZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW47IH0KLSAgICB2b2lkIHVucmVnaXN0ZXJDb250ZW50RWxl
bWVudCgpIHsgLS1tX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbjsgfQotICAgIGJvb2wg
aGFzQ29udGVudEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mQ29udGVudEVsZW1l
bnRDaGlsZHJlbiA+IDA7IH0KKyAgICB2b2lkIHJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKTsKKyAg
ICB2b2lkIHVucmVnaXN0ZXJDb250ZW50RWxlbWVudCgpOworICAgIGJvb2wgaGFzQ29udGVudEVs
ZW1lbnQoKSBjb25zdDsKIAotICAgIHZvaWQgcmVnaXN0ZXJFbGVtZW50U2hhZG93KCkgeyArK21f
bnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW47IH0KLSAgICB2b2lkIHVucmVnaXN0ZXJFbGVt
ZW50U2hhZG93KCkgeyBBU1NFUlQoaGFzRWxlbWVudFNoYWRvdygpKTsgLS1tX251bWJlck9mRWxl
bWVudFNoYWRvd0NoaWxkcmVuOyB9Ci0gICAgYm9vbCBoYXNFbGVtZW50U2hhZG93KCkgY29uc3Qg
eyByZXR1cm4gbV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbiA+IDA7IH0KLSAgICB1bnNp
Z25lZCBjb3VudEVsZW1lbnRTaGFkb3coKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mRWxlbWVu
dFNoYWRvd0NoaWxkcmVuOyB9CisgICAgdm9pZCByZWdpc3RlckVsZW1lbnRTaGFkb3coKTsKKyAg
ICB2b2lkIHVucmVnaXN0ZXJFbGVtZW50U2hhZG93KCk7CisgICAgYm9vbCBoYXNFbGVtZW50U2hh
ZG93KCkgY29uc3Q7CisgICAgdW5zaWduZWQgY291bnRFbGVtZW50U2hhZG93KCkgY29uc3Q7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBPVkVS
UklERTsKQEAgLTEyMywxMiArMTI0LDEzIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNldFR5cGUo
U2hhZG93Um9vdFR5cGUgdHlwZSkgeyBtX2lzQXV0aG9yU2hhZG93Um9vdCA9IHR5cGUgPT0gQXV0
aG9yU2hhZG93Um9vdDsgfQogCisgICAgU2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRh
KiBkaXN0cmlidXRpb25EYXRhKCkgeyByZXR1cm4gbV9kaXN0cmlidXRpb25EYXRhLmdldCgpOyB9
CisgICAgY29uc3QgU2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRhKiBkaXN0cmlidXRp
b25EYXRhKCkgY29uc3QgeyByZXR1cm4gbV9kaXN0cmlidXRpb25EYXRhLmdldCgpOyB9CisgICAg
U2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRhKiBlbnN1cmVEaXN0cmlidXRpb25EYXRh
KCk7CisKICAgICBTaGFkb3dSb290KiBtX3ByZXY7CiAgICAgU2hhZG93Um9vdCogbV9uZXh0Owot
ICAgIEluc2VydGlvblBvaW50KiBtX2luc2VydGlvblBvaW50QXNzaWduZWRUbzsKLSAgICB1bnNp
Z25lZCBtX251bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuOwotICAgIHVuc2lnbmVkIG1fbnVt
YmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuOwotICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZFbGVt
ZW50U2hhZG93Q2hpbGRyZW47CisgICAgT3duUHRyPFNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0
aW9uRGF0YT4gbV9kaXN0cmlidXRpb25EYXRhOwogICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZTdHls
ZXMgOiAyODsKICAgICB1bnNpZ25lZCBtX2FwcGx5QXV0aG9yU3R5bGVzIDogMTsKICAgICB1bnNp
Z25lZCBtX3Jlc2V0U3R5bGVJbmhlcml0YW5jZSA6IDE7CkBAIC0xNDYsMTcgKzE0OCw2IEBAIGlu
bGluZSB2b2lkIFNoYWRvd1Jvb3Q6OnNldEhvc3QoRWxlbWVudCogaG9zdCkKICAgICBzZXRQYXJl
bnRPckhvc3ROb2RlKGhvc3QpOwogfQogCi1pbmxpbmUgSW5zZXJ0aW9uUG9pbnQqIFNoYWRvd1Jv
b3Q6OmFzc2lnbmVkVG8oKSBjb25zdAotewotICAgIHJldHVybiBtX2luc2VydGlvblBvaW50QXNz
aWduZWRUbzsKLX0KLQotaW5saW5lIHZvaWQgU2hhZG93Um9vdDo6c2V0QXNzaWduZWRUbyhJbnNl
cnRpb25Qb2ludCogaW5zZXJ0aW9uUG9pbnQpCi17Ci0gICAgQVNTRVJUKCFtX2luc2VydGlvblBv
aW50QXNzaWduZWRUbyB8fCAhaW5zZXJ0aW9uUG9pbnQpOwotICAgIG1faW5zZXJ0aW9uUG9pbnRB
c3NpZ25lZFRvID0gaW5zZXJ0aW9uUG9pbnQ7Ci19Ci0KIGlubGluZSBib29sIFNoYWRvd1Jvb3Q6
OmlzVXNlZEZvclJlbmRlcmluZygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzWW91bmdlc3QoKSB8
fCBhc3NpZ25lZFRvKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9D
b250ZW50RGlzdHJpYnV0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVu
dERpc3RyaWJ1dG9yLmNwcAppbmRleCBlMzIxNjgzOWZkZjdhN2Y4MjIzZTNhNTAyZmY0NWZjMTgx
MDA2ZjUwLi5iYzY3NjExYTgxYWFmZTBjZjE0MmNhNTIyNjdkOTViNWU3NTBmMGMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAKQEAg
LTU4LDYgKzU4LDE1IEBAIHNpemVfdCBDb250ZW50RGlzdHJpYnV0aW9uOjpmaW5kKGNvbnN0IE5v
ZGUqIG5vZGUpIGNvbnN0CiAgICAgcmV0dXJuIGl0LmdldCgpLT52YWx1ZTsKIH0KIAorU2hhZG93
Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRhOjpTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlv
bkRhdGEoKQorICAgIDogbV9pbnNlcnRpb25Qb2ludEFzc2lnbmVkVG8oMCkKKyAgICAsIG1fbnVt
YmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4oMCkKKyAgICAsIG1fbnVtYmVyT2ZDb250ZW50RWxl
bWVudENoaWxkcmVuKDApCisgICAgLCBtX251bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuKDAp
Cit7Cit9CisKKwogQ29udGVudERpc3RyaWJ1dG9yOjpDb250ZW50RGlzdHJpYnV0b3IoKQogICAg
IDogbV92YWxpZGl0eShVbmRldGVybWluZWQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5oCmluZGV4IDk3Y2ZmYmNjNzNlMWM3OTUxZWM1ODk2
ZDNhNWE0OTNmM2I3YzE2ZjkuLjcyMzE4MWU5OWJkOGM3NDkzZTM4NDRmNWY2MTUxZmIwMWFlOWFi
NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmli
dXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRv
ci5oCkBAIC02OCw2ICs2OCwzMiBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8Y29uc3QgTm9kZSos
IHNpemVfdD4gbV9pbmRpY2VzOwogfTsKIAorY2xhc3MgU2hhZG93Um9vdENvbnRlbnREaXN0cmli
dXRpb25EYXRhIHsKK3B1YmxpYzoKKyAgICBTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRh
dGEoKTsKKworICAgIEluc2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludEFzc2lnbmVkVG8oKSBj
b25zdCB7IHJldHVybiBtX2luc2VydGlvblBvaW50QXNzaWduZWRUbzsgfQorICAgIHZvaWQgc2V0
SW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvKEluc2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludCkg
eyBtX2luc2VydGlvblBvaW50QXNzaWduZWRUbyA9IGluc2VydGlvblBvaW50OyB9CisKKyAgICB2
b2lkIGluY3JlbWVudE51bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuKCkgeyArK21fbnVtYmVy
T2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW47IH0KKyAgICB2b2lkIGRlY3JlbWVudE51bWJlck9mU2hh
ZG93RWxlbWVudENoaWxkcmVuKCkgeyBBU1NFUlQobV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGls
ZHJlbiA+IDApOyAtLW1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW47IH0KKyAgICB1bnNp
Z25lZCBudW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fbnVt
YmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW47IH0KKworICAgIHZvaWQgaW5jcmVtZW50TnVtYmVy
T2ZDb250ZW50RWxlbWVudENoaWxkcmVuKCkgeyArK21fbnVtYmVyT2ZDb250ZW50RWxlbWVudENo
aWxkcmVuOyB9CisgICAgdm9pZCBkZWNyZW1lbnROdW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRy
ZW4oKSB7IEFTU0VSVChtX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbiA+IDApOyAtLW1f
bnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuOyB9CisgICAgdW5zaWduZWQgbnVtYmVyT2ZD
b250ZW50RWxlbWVudENoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZkNvbnRlbnRF
bGVtZW50Q2hpbGRyZW47IH0gCisKKyAgICB2b2lkIGluY3JlbWVudE51bWJlck9mRWxlbWVudFNo
YWRvd0NoaWxkcmVuKCkgeyArK21fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW47IH0KKyAg
ICB2b2lkIGRlY3JlbWVudE51bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuKCkgeyBBU1NFUlQo
bV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbiA+IDApOyAtLW1fbnVtYmVyT2ZFbGVtZW50
U2hhZG93Q2hpbGRyZW47IH0KKyAgICB1bnNpZ25lZCBudW1iZXJPZkVsZW1lbnRTaGFkb3dDaGls
ZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW47IH0K
KworcHJpdmF0ZToKKyAgICBJbnNlcnRpb25Qb2ludCogbV9pbnNlcnRpb25Qb2ludEFzc2lnbmVk
VG87CisgICAgdW5zaWduZWQgbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbjsKKyAgICB1
bnNpZ25lZCBtX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbjsKKyAgICB1bnNpZ25lZCBt
X251bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuOworfTsKKwogY2xhc3MgQ29udGVudERpc3Ry
aWJ1dG9yIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50RGlzdHJpYnV0b3IpOwog
cHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IDg0MTZiOTEwMTlhOTc2OTYyY2Y5ZmZj
MDM4ZDZmODhjNTI3Y2UwMTUuLjM2MGI1MjIwZDEyZjk1ODU4ZWZlZDM0NzgzZDFmMDNlNGRiNWE1
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTE5Myw2ICsxOTMsOSBAQCBFWFBPUlRTCiAg
ICAgICAgID9nZXRIaWdobGlnaHRASW5zcGVjdG9yQ29udHJvbGxlckBXZWJDb3JlQEBRQkVYUEFV
SGlnaGxpZ2h0QDJAQFoKICAgICAgICAgP2dldExvY2F0aW9uQW5kTGVuZ3RoRnJvbVJhbmdlQFRl
eHRJdGVyYXRvckBXZWJDb3JlQEBTQV9OUEFWRWxlbWVudEAyQFBCVlJhbmdlQDJAQUFJMkBaCiAg
ICAgICAgID9nZXRSZWZlcmVuY2VkRmlsZVBhdGhzQEZvcm1Db250cm9sbGVyQFdlYkNvcmVAQFNB
P0FWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBBQlYzNEBAWgorICAgICAgICA/Y291
bnRFbGVtZW50U2hhZG93QFNoYWRvd1Jvb3RAV2ViQ29yZUBAUUJFSVhaCisgICAgICAgID9oYXNT
aGFkb3dJbnNlcnRpb25Qb2ludEBTaGFkb3dSb290QFdlYkNvcmVAQFFCRV9OWFoKKyAgICAgICAg
P2hhc0NvbnRlbnRFbGVtZW50QFNoYWRvd1Jvb3RAV2ViQ29yZUBAUUJFX05YWgogICAgICAgICA/
aW5wdXRUYWdASFRNTE5hbWVzQFdlYkNvcmVAQDNWUXVhbGlmaWVkTmFtZUAyQEIKICAgICAgICAg
P2luc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlQEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkBXZWJD
b3JlQEBDQVBBVkluc3RydW1lbnRpbmdBZ2VudHNAMkBQQVZQYWdlQDJAQFoKICAgICAgICAgP2lz
QWN0aXZlSW5zZXJ0aW9uUG9pbnRAV2ViQ29yZUBAWUFfTlBCVk5vZGVAMUBAWgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmIGIvU291cmNlL1dlYktpdDIv
d2luL1dlYktpdDJDRkxpdGUuZGVmCmluZGV4IDAwM2ZjOGI2ZDI0ZTdhZTQxNGM0N2UyZTVhNzNm
YWM5MGU3ZGU1N2MuLmFkYzY4Zjk1NDkwNGNiNDIwYWQ0NTlkMTNmYzE0YjY1ZjE5MzVhZTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKQEAgLTE4Niw2ICsxODYsOSBAQCBFWFBP
UlRTCiAgICAgICAgID9nZXRIaWdobGlnaHRASW5zcGVjdG9yQ29udHJvbGxlckBXZWJDb3JlQEBR
QkVYUEFVSGlnaGxpZ2h0QDJAQFoKICAgICAgICAgP2dldExvY2F0aW9uQW5kTGVuZ3RoRnJvbVJh
bmdlQFRleHRJdGVyYXRvckBXZWJDb3JlQEBTQV9OUEFWRWxlbWVudEAyQFBCVlJhbmdlQDJAQUFJ
MkBaCiAgICAgICAgID9nZXRSZWZlcmVuY2VkRmlsZVBhdGhzQEZvcm1Db250cm9sbGVyQFdlYkNv
cmVAQFNBP0FWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBBQlYzNEBAWgorICAgICAg
ICA/Y291bnRFbGVtZW50U2hhZG93QFNoYWRvd1Jvb3RAV2ViQ29yZUBAUUJFSVhaCisgICAgICAg
ID9oYXNTaGFkb3dJbnNlcnRpb25Qb2ludEBTaGFkb3dSb290QFdlYkNvcmVAQFFCRV9OWFoKKyAg
ICAgICAgP2hhc0NvbnRlbnRFbGVtZW50QFNoYWRvd1Jvb3RAV2ViQ29yZUBAUUJFX05YWgogICAg
ICAgICA/aW5wdXRUYWdASFRNTE5hbWVzQFdlYkNvcmVAQDNWUXVhbGlmaWVkTmFtZUAyQEIKICAg
ICAgICAgP2luc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlQEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bkBXZWJDb3JlQEBDQVBBVkluc3RydW1lbnRpbmdBZ2VudHNAMkBQQVZQYWdlQDJAQFoKICAgICAg
ICAgP2lzQWN0aXZlSW5zZXJ0aW9uUG9pbnRAV2ViQ29yZUBAWUFfTlBCVk5vZGVAMUBAWgpkaWZm
IC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9v
bHMvc3ltYm9scy5maWx0ZXIKaW5kZXggYzE4NzQ1YzQ2MjliZTliNjdhODkzN2IxZjkyMTFkZWEy
ZTA3MmE5NS4uODk1ZmUyZTk2NDIxODQ4MDQwYzIzYTBjZDI0ZGUwNmM5NTQxZDI4MyAxMDA2NDQK
LS0tIGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyCkBAIC00Nyw2ICs0Nyw5IEBAIF9aTjdXZWJDb3JlMTBKU0RvY3Vt
ZW50NnNfaW5mb0U7CiBfWk43V2ViQ29yZTEwdG9Eb2N1bWVudEVOM0pTQzdKU1ZhbHVlRTsKIF9a
TjdXZWJDb3JlMTBDbGllbnRSZWN0QzFFdjsKIF9aTjdXZWJDb3JlMTBDbGllbnRSZWN0QzFFUktO
U183SW50UmVjdEU7CitfWk5LN1dlYkNvcmUxMFNoYWRvd1Jvb3QxN2hhc0NvbnRlbnRFbGVtZW50
RXY7CitfWk5LN1dlYkNvcmUxMFNoYWRvd1Jvb3QxOGNvdW50RWxlbWVudFNoYWRvd0V2OworX1pO
SzdXZWJDb3JlMTBTaGFkb3dSb290MjNoYXNTaGFkb3dJbnNlcnRpb25Qb2ludEV2OwogX1pON1dl
YkNvcmUxMFNoYWRvd1Jvb3Q2Y3JlYXRlRVBOU183RWxlbWVudEVSaTsKIF9aTjdXZWJDb3JlMTFF
dmVudFRhcmdldDE3dG9HZW5lcmF0ZWRTdHJlYW1FdjsKIF9aTjdXZWJDb3JlMTFFdmVudFRhcmdl
dDh0b1N0cmVhbUV2OwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDI4
Yzc5N2NkZDJmZTNkNjBhMDBlOGY4OGNhMzQxYWNhZTA0ZWJkZmEuLjk2NGY3YTNkZTZkMmU2N2I0
ZGI1ZDMxNzdiMDg4YzEyYjJhMjFjMjEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0xMS0yOCAgU2hpbnlhIEthd2FuYWthICA8c2hp
bnlha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1NoYWRvd10gTW92ZSBEaXN0cmlidXRpb24g
c3R1ZmZzIGZyb20gU2hhZG93Um9vdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAzNDgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgorCiAyMDEy
LTExLTI2ICBIYWx0b24gSHVvICA8aGFsdG9uLmh1b0BpbnRlbC5jb20+CiAKICAgICAgICAgW0VG
TF0gQ01ha2Ugc2hvd3MgRU5BQkxFXzNEX1JFTkRFUklORyBhbmQgRU5BQkxFX1dFQkdMIGlzIHN0
aWxsIE9GRiB3aGVuIEFDIGlzIGVuYWJsZWQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176617</attachid>
            <date>2012-11-28 17:58:13 -0800</date>
            <delta_ts>2012-11-28 18:19:10 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-103481-20121129105547.patch</filename>
            <type>text/plain</type>
            <size>18441</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg3ZDNhZDhhODg5N2M2
NzEyMTdlZTE3ZTNhYmQwMzE0MGM5NmIzMS4uYmMwYThmODhhZmUzYzM1NDc1OTU1NDcwZDAyNzg3
N2JlZjVjZjZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDEyLTExLTI4ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBN
b3ZlIERpc3RyaWJ1dGlvbiByZXF1aXJlbWVudHMgZnJvbSBTaGFkb3dSb290CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM0ODEKKworICAgICAgICBS
ZXZpZXdlZCBieSBIYWppbWUgTW9yaXRhLgorCisgICAgICAgIFdlIHdvdWxkIGxpa2UgdG8gc2hy
aW5rIHRoZSBTaGFkb3dSb290IG1lbW9yeSBzaXplIGluIHRoaXMgcGF0Y2guIFNoYWRvd1Jvb3Qg
aGFkIHNldmVyYWwgZGlzdHJpYnV0aW9uIHJlbGF0ZWQgbWVtYmVycywKKyAgICAgICAgaG93ZXZl
ciB0aGV5IHdlcmUgdXNlZCBvbmx5IGlmIFNoYWRvd1Jvb3QgaGFzIDxjb250ZW50PiwgPHNoYWRv
dz4sIG9yIG5lc3RlZCBTaGFkb3dSb290LgorICAgICAgICBTaW5jZSA8aW5wdXQ+IG9yIDx0ZXh0
YXJlYT4gZG8gbm90IGhhdmUgc3VjaCByZXF1aXJlbWVudHMsIHRoZSBtZW1iZXJzIGNvbnN1bWUg
YSBmZXcgYW1vdW50IG9mIG1lbW9yeS4KKworICAgICAgICBXZSByZW1vdmUgdGhlbSBmcm9tIFNo
YWRvd1Jvb3QgYW5kIGludHJvZHVjZSBzb21lIFJhcmVEYXRhLWxpa2UgZGF0YSBzdHJ1Y3R1cmUg
Zm9yIFNoYWRvd1Jvb3QuCisgICAgICAgIFRoaXMgd2lsbCByZWR1Y2UgbWVtb3J5IGZvb3Rwcmlu
dCBpbiBtb3N0IGNhc2VzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmVmYWN0b3JpbmcuCisK
KyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5jcHA6
CisgICAgICAgIChTYW1lU2l6ZUFzU2hhZG93Um9vdCk6IFJlZHVjZWQgMyAqIHNpemVvZih1bnNp
Z25lZCkgYnl0ZXMgZnJvbSBTaGFkb3dSb290LgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9v
dDo6U2hhZG93Um9vdCk6IERpc3RyaWJ1dGlvbkRhdGEgaXMgY3JlYXRlZCBvbmx5IHdoZW4gbmVj
ZXNzYXJ5LiA8aW5wdXQ+IG9yIDx0ZXh0YXJlYT4gd29uJ3QKKyAgICAgICAgY3JlYXRlIHN1Y2gg
ZGF0YS4KKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OmFzc2lnbmVkVG8pOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpzZXRBc3NpZ25lZFRv
KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OmVuc3VyZURpc3RyaWJ1dGlvbkRhdGEp
OgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6cmVnaXN0ZXJTaGFkb3dFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OnVucmVnaXN0ZXJTaGFkb3dFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6Omhhc1NoYWRvd0luc2VydGlvblBvaW50KToK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OnJlZ2lzdGVyQ29udGVudEVsZW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6dW5yZWdpc3RlckNvbnRlbnRFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6Omhhc0NvbnRlbnRFbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OnJlZ2lzdGVyRWxlbWVudFNoYWRvdyk6CisgICAgICAg
IChXZWJDb3JlOjpTaGFkb3dSb290Ojp1bnJlZ2lzdGVyRWxlbWVudFNoYWRvdyk6CisgICAgICAg
IChXZWJDb3JlOjpTaGFkb3dSb290OjpoYXNFbGVtZW50U2hhZG93KToKKyAgICAgICAgKFdlYkNv
cmU6OlNoYWRvd1Jvb3Q6OmNvdW50RWxlbWVudFNoYWRvdyk6CisgICAgICAgIChXZWJDb3JlOjpT
aGFkb3dSb290OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3Qu
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU2hhZG93Um9vdCk6CisgICAgICAgIChX
ZWJDb3JlOjpTaGFkb3dSb290OjpkaXN0cmlidXRpb25EYXRhKToKKyAgICAgICAgKiBodG1sL3No
YWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9v
dENvbnRlbnREaXN0cmlidXRpb25EYXRhOjpTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRh
dGEpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvQ29udGVudERp
c3RyaWJ1dG9yLmg6CisgICAgICAgIChTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGEp
OiBEaXN0cmlidXRpb24gcmVsYXRlZCBmaWVsZHMgaW4gU2hhZG93Um9vdCBhcmUgbW92ZWQgdG8g
aGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0
YTo6aW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jv
b3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YTo6c2V0SW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvKToK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YTo6aW5j
cmVtZW50TnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6
U2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRhOjpkZWNyZW1lbnROdW1iZXJPZlNoYWRv
d0VsZW1lbnRDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERp
c3RyaWJ1dGlvbkRhdGE6Om51bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuKToKKyAgICAgICAg
KFdlYkNvcmU6OlNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YTo6aW5jcmVtZW50TnVt
YmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jv
b3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YTo6ZGVjcmVtZW50TnVtYmVyT2ZDb250ZW50RWxlbWVu
dENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0
aW9uRGF0YTo6bnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNv
cmU6OlNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YTo6aW5jcmVtZW50TnVtYmVyT2ZF
bGVtZW50U2hhZG93Q2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdENvbnRl
bnREaXN0cmlidXRpb25EYXRhOjpkZWNyZW1lbnROdW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJl
bik6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6
Om51bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmUpOgorCiAy
MDEyLTExLTI4ICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBjaGVja0FjY2VwdENoaWxkKCkgbmVlZHMgZmV3ZXIgdmlydHVhbCBjYWxscwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IGZjZDU5OTE3NTE0MzNmYzE5Y2RjNGIzODU1MmUxNTZlZDljYjFlYWMuLjA2YmNlYjRjMzFh
MWE4NGZmOWQzNmRmNzhiMzJlOWI1YWM3YTNiNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxMi0xMS0yOCAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgW1NoYWRvd10gTW92ZSBEaXN0cmlidXRpb24gc3R1ZmZzIGZyb20gU2hhZG93Um9v
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzNDgx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSGFqaW1lIE1vcml0YS4KKworICAgICAgICAqIHdpbi9X
ZWJLaXQyLmRlZjoKKyAgICAgICAgKiB3aW4vV2ViS2l0MkNGTGl0ZS5kZWY6CisKIDIwMTItMTEt
MjggIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW21h
Y10gRGljdGlvbmFyeSBsb29rdXAgYnViYmxlIGxvc2VzIGludHJhcmFuZ2UgZm9ybWF0dGluZwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgppbmRleCBiOWIyMTlhODM0MWMyOTYxOTk4MGZiMjc2NTc2OTI0ZjJk
N2M0NTU1Li5mM2YyNTQ5ZWUzMTVjMzMyNjM2NDZjNzNkZTI0ZmRlNDBiOTllODkzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgpAQCAtODEsNiArODEsOSBAQCBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcy
MXNldERlbGVnYXRlc1Njcm9sbGluZ0ViCiBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcyM3NldFNj
cm9sbGJhcnNTdXBwcmVzc2VkRWJiCiBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcyNHdpbmRvd1Jl
c2l6ZXJSZWN0Q2hhbmdlZEV2CiBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXc4YWRkQ2hpbGRFTjNX
VEYxMFBhc3NSZWZQdHJJTlNfNldpZGdldEVFRQorX19aTks3V2ViQ29yZTEwU2hhZG93Um9vdDE3
aGFzQ29udGVudEVsZW1lbnRFdgorX19aTks3V2ViQ29yZTEwU2hhZG93Um9vdDE4Y291bnRFbGVt
ZW50U2hhZG93RXYKK19fWk5LN1dlYkNvcmUxMFNoYWRvd1Jvb3QyM2hhc1NoYWRvd0luc2VydGlv
blBvaW50RXYKIF9fWk43V2ViQ29yZTEwU2hhZG93Um9vdDZjcmVhdGVFUE5TXzdFbGVtZW50RVJp
CiBfX1pON1dlYkNvcmUxMGRlbGV0ZUZpbGVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUx
MHNldENvb2tpZXNFUE5TXzhEb2N1bWVudEVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NoYWRvd1Jvb3QuY3BwCmluZGV4IDdmNWI5YWQ3OThlNjI3ODcwNDdhYWM2NTliYjAw
MDM0NTU2MDNkZWEuLjZjMjRhZDg5N2Y4MWMwZTVmMzVmZjJjZjM4NTE4MWEzMGMzZThlMWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBzdHJ1Y3QgU2FtZVNpemVBc1NoYWRvd1Jvb3QgOiBwdWJsaWMgRG9jdW1lbnRG
cmFnbWVudCwgcHVibGljIFRyZWVTY29wZSwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFNo
YWRvd1Jvb3Q+IHsKICAgICB2b2lkKiBwb2ludGVyc1szXTsKLSAgICB1bnNpZ25lZCBjb3VudGVy
c0FuZEZsYWdzWzRdOworICAgIHVuc2lnbmVkIGNvdW50ZXJzQW5kRmxhZ3NbMV07CiB9OwogCiBD
T01QSUxFX0FTU0VSVChzaXplb2YoU2hhZG93Um9vdCkgPT0gc2l6ZW9mKFNhbWVTaXplQXNTaGFk
b3dSb290KSwgc2hhZG93cm9vdF9zaG91bGRfc3RheV9zbWFsbCk7CkBAIC02NywxMyArNjcsMTAg
QEAgU2hhZG93Um9vdDo6U2hhZG93Um9vdChEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgLCBUcmVl
U2NvcGUodGhpcykKICAgICAsIG1fcHJldigwKQogICAgICwgbV9uZXh0KDApCi0gICAgLCBtX2lu
c2VydGlvblBvaW50QXNzaWduZWRUbygwKQotICAgICwgbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRD
aGlsZHJlbigwKQotICAgICwgbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW4oMCkKLSAg
ICAsIG1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4oMCkKICAgICAsIG1fbnVtYmVyT2ZT
dHlsZXMoMCkKICAgICAsIG1fYXBwbHlBdXRob3JTdHlsZXMoZmFsc2UpCiAgICAgLCBtX3Jlc2V0
U3R5bGVJbmhlcml0YW5jZShmYWxzZSkKKyAgICAsIG1faXNBdXRob3JTaGFkb3dSb290KGZhbHNl
KQogICAgICwgbV9yZWdpc3RlcmVkV2l0aFBhcmVudFNoYWRvd1Jvb3QoZmFsc2UpCiB7CiAgICAg
QVNTRVJUKGRvY3VtZW50KTsKQEAgLTI5Myw2ICsyOTAsMjAgQEAgdm9pZCBTaGFkb3dSb290Ojpy
ZW1vdmVkRnJvbShDb250YWluZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKICAgICBEb2N1bWVudEZy
YWdtZW50OjpyZW1vdmVkRnJvbShpbnNlcnRpb25Qb2ludCk7CiB9CiAKK0luc2VydGlvblBvaW50
KiBTaGFkb3dSb290Ojphc3NpZ25lZFRvKCkgY29uc3QKK3sKKyAgICBpZiAoIWRpc3RyaWJ1dGlv
bkRhdGEoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gZGlzdHJpYnV0aW9uRGF0
YSgpLT5pbnNlcnRpb25Qb2ludEFzc2lnbmVkVG8oKTsKK30KKwordm9pZCBTaGFkb3dSb290Ojpz
ZXRBc3NpZ25lZFRvKEluc2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludCkKK3sKKyAgICBBU1NF
UlQoIWFzc2lnbmVkVG8oKSB8fCAhaW5zZXJ0aW9uUG9pbnQpOworICAgIGVuc3VyZURpc3RyaWJ1
dGlvbkRhdGEoKS0+c2V0SW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvKGluc2VydGlvblBvaW50KTsK
K30KKwogdm9pZCBTaGFkb3dSb290OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJz
ZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50
RGVsdGEpCiB7CiAgICAgR3VhcmRPcnBoYW5TaGFkb3dSb290KHsgfSk7CkBAIC0zMTQsNiArMzI1
LDc3IEBAIHZvaWQgU2hhZG93Um9vdDo6dW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCkK
ICAgICBzZXRIYXNTY29wZWRIVE1MU3R5bGVDaGlsZChtX251bWJlck9mU3R5bGVzID4gMCk7CiB9
CiAKK2lubGluZSBTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGEqIFNoYWRvd1Jvb3Q6
OmVuc3VyZURpc3RyaWJ1dGlvbkRhdGEoKQoreworICAgIGlmIChtX2Rpc3RyaWJ1dGlvbkRhdGEp
CisgICAgICAgIHJldHVybiBtX2Rpc3RyaWJ1dGlvbkRhdGEuZ2V0KCk7CisKKyAgICBtX2Rpc3Ry
aWJ1dGlvbkRhdGEgPSBhZG9wdFB0cihuZXcgU2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25E
YXRhKTsKKyAgICByZXR1cm4gbV9kaXN0cmlidXRpb25EYXRhLmdldCgpOworfSAgIAorCit2b2lk
IFNoYWRvd1Jvb3Q6OnJlZ2lzdGVyU2hhZG93RWxlbWVudCgpCit7CisgICAgZW5zdXJlRGlzdHJp
YnV0aW9uRGF0YSgpLT5pbmNyZW1lbnROdW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbigpOwor
fQorCit2b2lkIFNoYWRvd1Jvb3Q6OnVucmVnaXN0ZXJTaGFkb3dFbGVtZW50KCkKK3sKKyAgICBk
aXN0cmlidXRpb25EYXRhKCktPmRlY3JlbWVudE51bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVu
KCk7Cit9CisKK2Jvb2wgU2hhZG93Um9vdDo6aGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoKSBjb25z
dAoreworICAgIGlmICghZGlzdHJpYnV0aW9uRGF0YSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICByZXR1cm4gZGlzdHJpYnV0aW9uRGF0YSgpLT5oYXNTaGFkb3dFbGVtZW50Q2hpbGRy
ZW4oKTsKK30KKwordm9pZCBTaGFkb3dSb290OjpyZWdpc3RlckNvbnRlbnRFbGVtZW50KCkKK3sK
KyAgICBlbnN1cmVEaXN0cmlidXRpb25EYXRhKCktPmluY3JlbWVudE51bWJlck9mQ29udGVudEVs
ZW1lbnRDaGlsZHJlbigpOworfQorCit2b2lkIFNoYWRvd1Jvb3Q6OnVucmVnaXN0ZXJDb250ZW50
RWxlbWVudCgpCit7CisgICAgZGlzdHJpYnV0aW9uRGF0YSgpLT5kZWNyZW1lbnROdW1iZXJPZkNv
bnRlbnRFbGVtZW50Q2hpbGRyZW4oKTsKK30KKworYm9vbCBTaGFkb3dSb290OjpoYXNDb250ZW50
RWxlbWVudCgpIGNvbnN0Cit7CisgICAgaWYgKCFkaXN0cmlidXRpb25EYXRhKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBkaXN0cmlidXRpb25EYXRhKCktPmhhc0NvbnRl
bnRFbGVtZW50Q2hpbGRyZW4oKTsKK30KKwordm9pZCBTaGFkb3dSb290OjpyZWdpc3RlckVsZW1l
bnRTaGFkb3coKQoreworICAgIGVuc3VyZURpc3RyaWJ1dGlvbkRhdGEoKS0+aW5jcmVtZW50TnVt
YmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4oKTsKK30KKwordm9pZCBTaGFkb3dSb290Ojp1bnJl
Z2lzdGVyRWxlbWVudFNoYWRvdygpCit7CisgICAgQVNTRVJUKGhhc0VsZW1lbnRTaGFkb3coKSk7
CisgICAgZGlzdHJpYnV0aW9uRGF0YSgpLT5kZWNyZW1lbnROdW1iZXJPZkVsZW1lbnRTaGFkb3dD
aGlsZHJlbigpOworfQorCitib29sIFNoYWRvd1Jvb3Q6Omhhc0VsZW1lbnRTaGFkb3coKSBjb25z
dAoreworICAgIGlmICghZGlzdHJpYnV0aW9uRGF0YSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICByZXR1cm4gZGlzdHJpYnV0aW9uRGF0YSgpLT5oYXNFbGVtZW50U2hhZG93Q2hpbGRy
ZW4oKTsKK30KKwordW5zaWduZWQgU2hhZG93Um9vdDo6Y291bnRFbGVtZW50U2hhZG93KCkgY29u
c3QgCit7CisgICAgaWYgKCFkaXN0cmlidXRpb25EYXRhKCkpCisgICAgICAgIHJldHVybiAwOwor
CisgICAgcmV0dXJuIGRpc3RyaWJ1dGlvbkRhdGEoKS0+bnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hp
bGRyZW4oKTsKK30KIAogdm9pZCBTaGFkb3dSb290OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewpAQCAtMzIyLDcgKzQwNCw3IEBA
IHZvaWQgU2hhZG93Um9vdDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBUcmVlU2NvcGU6OnJlcG9ydE1lbW9yeVVzYWdlKG1l
bW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkTWVtYmVyKG1fcHJldik7CiAgICAgaW5mby5h
ZGRNZW1iZXIobV9uZXh0KTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2luc2VydGlvblBvaW50QXNz
aWduZWRUbyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9kaXN0cmlidXRpb25EYXRhKTsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKaW5kZXggMWYzYWY5ZjA1MDQyYWRjODJkNWM0NzgyYzFk
YzY5YjM4ZWUxOGVhZi4uZGU5NThkMjNjOGFjNmRhOTQ4OWQ0NTVhZGNkOWJmYWM4ZjE1MTAwYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCkBAIC0zOSw4ICszOSw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBET01TZWxlY3Rpb247Ci1jbGFzcyBJbnNl
cnRpb25Qb2ludDsKIGNsYXNzIEVsZW1lbnRTaGFkb3c7CitjbGFzcyBJbnNlcnRpb25Qb2ludDsK
K2NsYXNzIFNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YTsKIAogY2xhc3MgU2hhZG93
Um9vdCA6IHB1YmxpYyBEb2N1bWVudEZyYWdtZW50LCBwdWJsaWMgVHJlZVNjb3BlLCBwdWJsaWMg
RG91Ymx5TGlua2VkTGlzdE5vZGU8U2hhZG93Um9vdD4gewogICAgIGZyaWVuZCBjbGFzcyBXVEY6
OkRvdWJseUxpbmtlZExpc3ROb2RlPFNoYWRvd1Jvb3Q+OwpAQCAtOTAsMTggKzkxLDE4IEBAIHB1
YmxpYzoKICAgICBJbnNlcnRpb25Qb2ludCogYXNzaWduZWRUbygpIGNvbnN0OwogICAgIHZvaWQg
c2V0QXNzaWduZWRUbyhJbnNlcnRpb25Qb2ludCopOwogCi0gICAgdm9pZCByZWdpc3RlclNoYWRv
d0VsZW1lbnQoKSB7ICsrbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbjsgfQotICAgIHZv
aWQgdW5yZWdpc3RlclNoYWRvd0VsZW1lbnQoKSB7IC0tbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRD
aGlsZHJlbjsgfQotICAgIGJvb2wgaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoKSBjb25zdCB7IHJl
dHVybiBtX251bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuID4gMDsgfQorICAgIHZvaWQgcmVn
aXN0ZXJTaGFkb3dFbGVtZW50KCk7CisgICAgdm9pZCB1bnJlZ2lzdGVyU2hhZG93RWxlbWVudCgp
OworICAgIGJvb2wgaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoKSBjb25zdDsKIAotICAgIHZvaWQg
cmVnaXN0ZXJDb250ZW50RWxlbWVudCgpIHsgKyttX251bWJlck9mQ29udGVudEVsZW1lbnRDaGls
ZHJlbjsgfQotICAgIHZvaWQgdW5yZWdpc3RlckNvbnRlbnRFbGVtZW50KCkgeyAtLW1fbnVtYmVy
T2ZDb250ZW50RWxlbWVudENoaWxkcmVuOyB9Ci0gICAgYm9vbCBoYXNDb250ZW50RWxlbWVudCgp
IGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuID4gMDsgfQor
ICAgIHZvaWQgcmVnaXN0ZXJDb250ZW50RWxlbWVudCgpOworICAgIHZvaWQgdW5yZWdpc3RlckNv
bnRlbnRFbGVtZW50KCk7CisgICAgYm9vbCBoYXNDb250ZW50RWxlbWVudCgpIGNvbnN0OwogCi0g
ICAgdm9pZCByZWdpc3RlckVsZW1lbnRTaGFkb3coKSB7ICsrbV9udW1iZXJPZkVsZW1lbnRTaGFk
b3dDaGlsZHJlbjsgfQotICAgIHZvaWQgdW5yZWdpc3RlckVsZW1lbnRTaGFkb3coKSB7IEFTU0VS
VChoYXNFbGVtZW50U2hhZG93KCkpOyAtLW1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW47
IH0KLSAgICBib29sIGhhc0VsZW1lbnRTaGFkb3coKSBjb25zdCB7IHJldHVybiBtX251bWJlck9m
RWxlbWVudFNoYWRvd0NoaWxkcmVuID4gMDsgfQotICAgIHVuc2lnbmVkIGNvdW50RWxlbWVudFNo
YWRvdygpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW47IH0K
KyAgICB2b2lkIHJlZ2lzdGVyRWxlbWVudFNoYWRvdygpOworICAgIHZvaWQgdW5yZWdpc3RlckVs
ZW1lbnRTaGFkb3coKTsKKyAgICBib29sIGhhc0VsZW1lbnRTaGFkb3coKSBjb25zdDsKKyAgICB1
bnNpZ25lZCBjb3VudEVsZW1lbnRTaGFkb3coKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBy
ZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lk
IHVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpIE9WRVJSSURFOwpAQCAtMTIzLDEyICsx
MjQsMTMgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0VHlwZShTaGFkb3dSb290VHlwZSB0eXBl
KSB7IG1faXNBdXRob3JTaGFkb3dSb290ID0gdHlwZSA9PSBBdXRob3JTaGFkb3dSb290OyB9CiAK
KyAgICBTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGEqIGRpc3RyaWJ1dGlvbkRhdGEo
KSB7IHJldHVybiBtX2Rpc3RyaWJ1dGlvbkRhdGEuZ2V0KCk7IH0KKyAgICBjb25zdCBTaGFkb3dS
b290Q29udGVudERpc3RyaWJ1dGlvbkRhdGEqIGRpc3RyaWJ1dGlvbkRhdGEoKSBjb25zdCB7IHJl
dHVybiBtX2Rpc3RyaWJ1dGlvbkRhdGEuZ2V0KCk7IH0KKyAgICBTaGFkb3dSb290Q29udGVudERp
c3RyaWJ1dGlvbkRhdGEqIGVuc3VyZURpc3RyaWJ1dGlvbkRhdGEoKTsKKwogICAgIFNoYWRvd1Jv
b3QqIG1fcHJldjsKICAgICBTaGFkb3dSb290KiBtX25leHQ7Ci0gICAgSW5zZXJ0aW9uUG9pbnQq
IG1faW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvOwotICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZTaGFk
b3dFbGVtZW50Q2hpbGRyZW47Ci0gICAgdW5zaWduZWQgbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50
Q2hpbGRyZW47Ci0gICAgdW5zaWduZWQgbV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbjsK
KyAgICBPd25QdHI8U2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRhPiBtX2Rpc3RyaWJ1
dGlvbkRhdGE7CiAgICAgdW5zaWduZWQgbV9udW1iZXJPZlN0eWxlcyA6IDI4OwogICAgIHVuc2ln
bmVkIG1fYXBwbHlBdXRob3JTdHlsZXMgOiAxOwogICAgIHVuc2lnbmVkIG1fcmVzZXRTdHlsZUlu
aGVyaXRhbmNlIDogMTsKQEAgLTE0NiwxNyArMTQ4LDYgQEAgaW5saW5lIHZvaWQgU2hhZG93Um9v
dDo6c2V0SG9zdChFbGVtZW50KiBob3N0KQogICAgIHNldFBhcmVudE9ySG9zdE5vZGUoaG9zdCk7
CiB9CiAKLWlubGluZSBJbnNlcnRpb25Qb2ludCogU2hhZG93Um9vdDo6YXNzaWduZWRUbygpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIG1faW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvOwotfQotCi1pbmxp
bmUgdm9pZCBTaGFkb3dSb290OjpzZXRBc3NpZ25lZFRvKEluc2VydGlvblBvaW50KiBpbnNlcnRp
b25Qb2ludCkKLXsKLSAgICBBU1NFUlQoIW1faW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvIHx8ICFp
bnNlcnRpb25Qb2ludCk7Ci0gICAgbV9pbnNlcnRpb25Qb2ludEFzc2lnbmVkVG8gPSBpbnNlcnRp
b25Qb2ludDsKLX0KLQogaW5saW5lIGJvb2wgU2hhZG93Um9vdDo6aXNVc2VkRm9yUmVuZGVyaW5n
KCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNZb3VuZ2VzdCgpIHx8IGFzc2lnbmVkVG8oKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwCmlu
ZGV4IGUzMjE2ODM5ZmRmN2E3ZjgyMjNlM2E1MDJmZjQ1ZmMxODEwMDZmNTAuLmJjNjc2MTFhODFh
YWZlMGNmMTQyY2E1MjI2N2Q5NWI1ZTc1MGYwYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcApAQCAtNTgsNiArNTgsMTUgQEAgc2l6
ZV90IENvbnRlbnREaXN0cmlidXRpb246OmZpbmQoY29uc3QgTm9kZSogbm9kZSkgY29uc3QKICAg
ICByZXR1cm4gaXQuZ2V0KCktPnZhbHVlOwogfQogCitTaGFkb3dSb290Q29udGVudERpc3RyaWJ1
dGlvbkRhdGE6OlNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YSgpCisgICAgOiBtX2lu
c2VydGlvblBvaW50QXNzaWduZWRUbygwKQorICAgICwgbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRD
aGlsZHJlbigwKQorICAgICwgbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW4oMCkKKyAg
ICAsIG1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4oMCkKK3sKK30KKworCiBDb250ZW50
RGlzdHJpYnV0b3I6OkNvbnRlbnREaXN0cmlidXRvcigpCiAgICAgOiBtX3ZhbGlkaXR5KFVuZGV0
ZXJtaW5lZCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRl
bnREaXN0cmlidXRvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3Ry
aWJ1dG9yLmgKaW5kZXggOTdjZmZiY2M3M2UxYzc5NTFlYzU4OTZkM2E1YTQ5M2YzYjdjMTZmOS4u
Y2I1MjgwMjBkYmFkNDU0Yzc3MThhZWNiYTMyOTk3YWMzZGFlN2FiNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmgKQEAgLTY4LDYgKzY4LDMz
IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxjb25zdCBOb2RlKiwgc2l6ZV90PiBtX2luZGljZXM7
CiB9OwogCitjbGFzcyBTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGEgeworcHVibGlj
OgorICAgIFNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YSgpOworCisgICAgSW5zZXJ0
aW9uUG9pbnQqIGluc2VydGlvblBvaW50QXNzaWduZWRUbygpIGNvbnN0IHsgcmV0dXJuIG1faW5z
ZXJ0aW9uUG9pbnRBc3NpZ25lZFRvOyB9CisgICAgdm9pZCBzZXRJbnNlcnRpb25Qb2ludEFzc2ln
bmVkVG8oSW5zZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50KSB7IG1faW5zZXJ0aW9uUG9pbnRB
c3NpZ25lZFRvID0gaW5zZXJ0aW9uUG9pbnQ7IH0KKworICAgIHZvaWQgaW5jcmVtZW50TnVtYmVy
T2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4oKSB7ICsrbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGls
ZHJlbjsgfQorICAgIHZvaWQgZGVjcmVtZW50TnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4o
KSB7IEFTU0VSVChtX251bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuID4gMCk7IC0tbV9udW1i
ZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbjsgfQorICAgIGJvb2wgaGFzU2hhZG93RWxlbWVudENo
aWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbiA+
IDA7IH0KKworICAgIHZvaWQgaW5jcmVtZW50TnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVu
KCkgeyArK21fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuOyB9CisgICAgdm9pZCBkZWNy
ZW1lbnROdW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW4oKSB7IEFTU0VSVChtX251bWJlck9m
Q29udGVudEVsZW1lbnRDaGlsZHJlbiA+IDApOyAtLW1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENo
aWxkcmVuOyB9CisgICAgYm9vbCBoYXNDb250ZW50RWxlbWVudENoaWxkcmVuKCkgY29uc3QgeyBy
ZXR1cm4gbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW4gPiAwOyB9CisKKyAgICB2b2lk
IGluY3JlbWVudE51bWJlck9mRWxlbWVudFNoYWRvd0NoaWxkcmVuKCkgeyArK21fbnVtYmVyT2ZF
bGVtZW50U2hhZG93Q2hpbGRyZW47IH0KKyAgICB2b2lkIGRlY3JlbWVudE51bWJlck9mRWxlbWVu
dFNoYWRvd0NoaWxkcmVuKCkgeyBBU1NFUlQobV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJl
biA+IDApOyAtLW1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW47IH0KKyAgICB1bnNpZ25l
ZCBudW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVy
T2ZFbGVtZW50U2hhZG93Q2hpbGRyZW47IH0KKyAgICBib29sIGhhc0VsZW1lbnRTaGFkb3dDaGls
ZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4gPiAw
OyB9CisKK3ByaXZhdGU6CisgICAgSW5zZXJ0aW9uUG9pbnQqIG1faW5zZXJ0aW9uUG9pbnRBc3Np
Z25lZFRvOworICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW47Cisg
ICAgdW5zaWduZWQgbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW47CisgICAgdW5zaWdu
ZWQgbV9udW1iZXJPZkVsZW1lbnRTaGFkb3dDaGlsZHJlbjsKK307CisKIGNsYXNzIENvbnRlbnRE
aXN0cmlidXRvciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGVudERpc3RyaWJ1dG9y
KTsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBi
L1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCA2ODk1NWI3NDkxZmJlYjVlYjc4
ZDMzNDVmZTkzODQ5ZmZjMDhmZWFmLi45ZmZhNjUzN2NmN2JmOWZkZTJmYTg1YjhkNWU5ZWIxMTNi
OWUyNzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0xOTMsNiArMTkzLDkgQEAgRVhQT1JU
UwogICAgICAgICA/Z2V0SGlnaGxpZ2h0QEluc3BlY3RvckNvbnRyb2xsZXJAV2ViQ29yZUBAUUJF
WFBBVUhpZ2hsaWdodEAyQEBaCiAgICAgICAgID9nZXRMb2NhdGlvbkFuZExlbmd0aEZyb21SYW5n
ZUBUZXh0SXRlcmF0b3JAV2ViQ29yZUBAU0FfTlBBVkVsZW1lbnRAMkBQQlZSYW5nZUAyQEFBSTJA
WgogICAgICAgICA/Z2V0UmVmZXJlbmNlZEZpbGVQYXRoc0BGb3JtQ29udHJvbGxlckBXZWJDb3Jl
QEBTQT9BVj8kVmVjdG9yQFZTdHJpbmdAV1RGQEAkMEFAQFdURkBAQUJWMzRAQFoKKyAgICAgICAg
P2NvdW50RWxlbWVudFNoYWRvd0BTaGFkb3dSb290QFdlYkNvcmVAQFFCRUlYWgorICAgICAgICA/
aGFzU2hhZG93SW5zZXJ0aW9uUG9pbnRAU2hhZG93Um9vdEBXZWJDb3JlQEBRQkVfTlhaCisgICAg
ICAgID9oYXNDb250ZW50RWxlbWVudEBTaGFkb3dSb290QFdlYkNvcmVAQFFCRV9OWFoKICAgICAg
ICAgP2lucHV0VGFnQEhUTUxOYW1lc0BXZWJDb3JlQEAzVlF1YWxpZmllZE5hbWVAMkBCCiAgICAg
ICAgID9pbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZUBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25A
V2ViQ29yZUBAQ0FQQVZJbnN0cnVtZW50aW5nQWdlbnRzQDJAUEFWUGFnZUAyQEBaCiAgICAgICAg
ID9pc0FjdGl2ZUluc2VydGlvblBvaW50QFdlYkNvcmVAQFlBX05QQlZOb2RlQDFAQFoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJL
aXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgppbmRleCBlMzE3YThkMjdiODk4YzZiZDA3NjhjYWQ1
OTAyN2ZjMTU2MzMzOGJkLi41YTcyNGNlODkxOWU4ZmU3MGQ5ZjVhOGE0YmRmYTk4ZjJmYWQ0MzZh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xODYsNiArMTg2LDkgQEAg
RVhQT1JUUwogICAgICAgICA/Z2V0SGlnaGxpZ2h0QEluc3BlY3RvckNvbnRyb2xsZXJAV2ViQ29y
ZUBAUUJFWFBBVUhpZ2hsaWdodEAyQEBaCiAgICAgICAgID9nZXRMb2NhdGlvbkFuZExlbmd0aEZy
b21SYW5nZUBUZXh0SXRlcmF0b3JAV2ViQ29yZUBAU0FfTlBBVkVsZW1lbnRAMkBQQlZSYW5nZUAy
QEFBSTJAWgogICAgICAgICA/Z2V0UmVmZXJlbmNlZEZpbGVQYXRoc0BGb3JtQ29udHJvbGxlckBX
ZWJDb3JlQEBTQT9BVj8kVmVjdG9yQFZTdHJpbmdAV1RGQEAkMEFAQFdURkBAQUJWMzRAQFoKKyAg
ICAgICAgP2NvdW50RWxlbWVudFNoYWRvd0BTaGFkb3dSb290QFdlYkNvcmVAQFFCRUlYWgorICAg
ICAgICA/aGFzU2hhZG93SW5zZXJ0aW9uUG9pbnRAU2hhZG93Um9vdEBXZWJDb3JlQEBRQkVfTlha
CisgICAgICAgID9oYXNDb250ZW50RWxlbWVudEBTaGFkb3dSb290QFdlYkNvcmVAQFFCRV9OWFoK
ICAgICAgICAgP2lucHV0VGFnQEhUTUxOYW1lc0BXZWJDb3JlQEAzVlF1YWxpZmllZE5hbWVAMkBC
CiAgICAgICAgID9pbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZUBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25AV2ViQ29yZUBAQ0FQQVZJbnN0cnVtZW50aW5nQWdlbnRzQDJAUEFWUGFnZUAyQEBaCiAg
ICAgICAgID9pc0FjdGl2ZUluc2VydGlvblBvaW50QFdlYkNvcmVAQFlBX05QQlZOb2RlQDFAQFoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IGMxODc0NWM0NjI5YmU5YjY3YTg5MzdiMWY5MjEx
ZGVhMmUwNzJhOTUuLjg5NWZlMmU5NjQyMTg0ODA0MGMyM2EwY2QyNGRlMDZjOTU0MWQyODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1
dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNDcsNiArNDcsOSBAQCBfWk43V2ViQ29yZTEwSlNE
b2N1bWVudDZzX2luZm9FOwogX1pON1dlYkNvcmUxMHRvRG9jdW1lbnRFTjNKU0M3SlNWYWx1ZUU7
CiBfWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMxRXY7CiBfWk43V2ViQ29yZTEwQ2xpZW50UmVjdEMx
RVJLTlNfN0ludFJlY3RFOworX1pOSzdXZWJDb3JlMTBTaGFkb3dSb290MTdoYXNDb250ZW50RWxl
bWVudEV2OworX1pOSzdXZWJDb3JlMTBTaGFkb3dSb290MThjb3VudEVsZW1lbnRTaGFkb3dFdjsK
K19aTks3V2ViQ29yZTEwU2hhZG93Um9vdDIzaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnRFdjsKIF9a
TjdXZWJDb3JlMTBTaGFkb3dSb290NmNyZWF0ZUVQTlNfN0VsZW1lbnRFUmk7CiBfWk43V2ViQ29y
ZTExRXZlbnRUYXJnZXQxN3RvR2VuZXJhdGVkU3RyZWFtRXY7CiBfWk43V2ViQ29yZTExRXZlbnRU
YXJnZXQ4dG9TdHJlYW1FdjsKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRl
eCAyOGM3OTdjZGQyZmUzZDYwYTAwZThmODhjYTM0MWFjYWUwNGViZGZhLi5iZmQ5NmY0MzUzNjFm
NWVjZjY5NDgxYjU2OTY0YjNkZWQwM2U1YTc2IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMTEtMjggIFNoaW55YSBLYXdhbmFrYSAg
PHNoaW55YWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtTaGFkb3ddIE1vdmUgRGlzdHJpYnV0
aW9uIHN0dWZmcyBmcm9tIFNoYWRvd1Jvb3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMzQ4MQorCisgICAgICAgIFJldmlld2VkIGJ5IEhhamltZSBN
b3JpdGEuCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgorCiAy
MDEyLTExLTI2ICBIYWx0b24gSHVvICA8aGFsdG9uLmh1b0BpbnRlbC5jb20+CiAKICAgICAgICAg
W0VGTF0gQ01ha2Ugc2hvd3MgRU5BQkxFXzNEX1JFTkRFUklORyBhbmQgRU5BQkxFX1dFQkdMIGlz
IHN0aWxsIE9GRiB3aGVuIEFDIGlzIGVuYWJsZWQK
</data>

          </attachment>
      

    </bug>

</bugzilla>