<?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>89962</bug_id>
          
          <creation_ts>2012-06-26 02:31:58 -0700</creation_ts>
          <short_desc>Change the timing of form state restore</short_desc>
          <delta_ts>2012-07-13 04:00:24 -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>Forms</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>23346</blocked>
    
    <blocked>91209</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>beidson</cc>
    
    <cc>jonlee</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>sullivan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>657434</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-26 02:31:58 -0700</bug_when>
    <thetext>See https://bugs.webkit.org/show_bug.cgi?id=23346#c45.

At this moment, we restore form control state when we have finished parsing HTML source of the control.
I&apos;d like to change it so that restoring just after &apos;load&apos; event of the document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658380</commentid>
    <comment_count>1</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-06-26 23:29:34 -0700</bug_when>
    <thetext>Do we have an idea of how other browsers behave?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658383</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-06-26 23:30:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/11757271&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658634</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-06-27 08:42:28 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; I&apos;d like to change it so that restoring just after &apos;load&apos; event of the document.

What do relevant specs say?  What do all other browsers do?

I understand it would be quite convenient to make this change, but convenience doesn&apos;t always get to drive our decisions!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659031</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-27 17:58:41 -0700</bug_when>
    <thetext>I don&apos;t think there are relevant spec.

Behavior of other browsers:

Firefox:
A value was restored before &apos;load&apos; event of the document, and the restoring dispatched &apos;input&apos; event for the control.  (I tested with an &lt;input&gt;)

IE:
A value was restored before &apos;load&apos; event of the document, and the restoring didn&apos;t dispatch &apos;input&apos; or &apos;change&apos; event.

Opera:
It seems Opera doesn&apos;t restore form values.


Hmm, so restoring after &apos;load&apos; might be risky. Let me reconsider.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668622</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-12 22:59:52 -0700</bug_when>
    <thetext>I&apos;d like to change the timing so that:
 - Restoring in finishParsingChildren of owner form for form controls with an owner
 - Restoring in finishParsingChildren of form control itself for form control without any owner (no change)

Because
 - Restoring after &apos;load&apos; event is not compatibile with other browsers
 - &apos;load&apos; event may be too late.  It can be dispatched several seconds later after starting the document loading
 - In order to fix a case of http://code.google.com/p/chromium/issues/detail?id=34351#c10, we need to take a look at the &lt;form&gt; content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668707</commentid>
    <comment_count>6</comment_count>
      <attachid>152178</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-13 01:03:50 -0700</bug_when>
    <thetext>Created attachment 152178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668771</commentid>
    <comment_count>7</comment_count>
      <attachid>152178</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-07-13 02:30:50 -0700</bug_when>
    <thetext>Comment on attachment 152178
Patch

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

I hope that the restoring policy be clarified or documented somehow.
For example, Can we add kind of &quot;dirty bit&quot; for each state to prevent accidental duplication?

&gt; Source/WebCore/ChangeLog:8
&gt; +        For a preparation to fix a form identification problem, restore controls

Could you point the bug id here?

&gt; Source/WebCore/ChangeLog:35
&gt; +        Add isFormControlElementWithState() for FormController::restoreControlStateIn().

Nit: Added

&gt; Source/WebCore/ChangeLog:38
&gt; +        Some code is moved to FormController:restoreControlStateFor().

Nit: s/is/was/

&gt; Source/WebCore/html/FormController.cpp:34
&gt; +    // Assume contorl with form attribute have no owners because we restores

s/contorl/controls/
s/restores/restore/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668790</commentid>
    <comment_count>8</comment_count>
      <attachid>152178</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-13 02:52:34 -0700</bug_when>
    <thetext>Comment on attachment 152178
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt; +        For a preparation to fix a form identification problem, restore controls
&gt; 
&gt; Could you point the bug id here?

Sure.  I have fined Bug 91209, and will add it to ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668792</commentid>
    <comment_count>9</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-13 02:54:20 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I hope that the restoring policy be clarified or documented somehow.

I&apos;ll make a wiki page later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668793</commentid>
    <comment_count>10</comment_count>
      <attachid>152199</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-13 02:57:46 -0700</bug_when>
    <thetext>Created attachment 152199
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668832</commentid>
    <comment_count>11</comment_count>
      <attachid>152199</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 04:00:18 -0700</bug_when>
    <thetext>Comment on attachment 152199
Patch for landing

Clearing flags on attachment: 152199

Committed r122559: &lt;http://trac.webkit.org/changeset/122559&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668833</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-13 04:00:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152178</attachid>
            <date>2012-07-13 01:03:50 -0700</date>
            <delta_ts>2012-07-13 02:57:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89962-20120713170348.patch</filename>
            <type>text/plain</type>
            <size>11359</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTU3NWQyMzI0YTMzOTBk
MmFmMTEyMWExOTg0MzJlNzA0ZTBmN2QwOS4uZjFkNTQ2YzIwYTVmZTkwNzc4YjJhMGZiN2UwM2I5
MjA1YTM0ZTVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA3LTEzICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBDaGFuZ2UgdGhlIHRpbWlu
ZyBvZiBmb3JtIHN0YXRlIHJlc3RvcmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg5OTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRm9yIGEgcHJlcGFyYXRpb24gdG8gZml4IGEgZm9ybSBpZGVudGlmaWNh
dGlvbiBwcm9ibGVtLCByZXN0b3JlIGNvbnRyb2xzCisgICAgICAgIHN0YXRlcyB3aGVuIHRoZSBw
YXJzaW5nIG9mIHRoZWlyIG93bmVyIGZvcm1zIGlzIGNvbXBsZXRlZC4gRm9yIGNvbnRyb2xzCisg
ICAgICAgIHdpdGhvdXQgb3duZXJzLCB0aGVpciBzdGF0ZXMgYXJlIHJlc3RvcmVkIHdoZW4gdGhl
aXIgcGFyc2luZyBpcworICAgICAgICBjb21wbGV0ZWQgYXMgZXZlci4KKworICAgICAgICBObyBu
ZXcgdGVzdHMuIFRoaXMgZG9lc24ndCBjaGFuZ2Ugb2JzZXJ2YWJsZSBiZWhhdmlvci4KKworICAg
ICAgICAqIGh0bWwvRm9ybUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3duZXJG
b3JtRm9yU3RhdGUpOgorICAgICAgICBBZGRlZC4gVGhpcyBjb2RlIHdhcyB1c2VkIGluIGZvcm1L
ZXkoKSwgYW5kIHJlc3RvcmVDb250cm9sU3RhdGUqKCkgdXNlIGl0LgorICAgICAgICAoV2ViQ29y
ZTo6Rm9ybUtleUdlbmVyYXRvcjo6Zm9ybUtleSk6IFVzZSBvd25lckZvcm1Gb3JTdGF0ZSgpLiBO
byBiZWhhdmlvciBjaGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpGb3JtQ29udHJvbGxlcjo6cmVz
dG9yZUNvbnRyb2xTdGF0ZUZvcik6CisgICAgICAgIE1vdmVkIHNvbWUgY29kZSBmcm9tIEhUTUxG
b3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpLgorICAg
ICAgICBUaGUgZGlmZmVyZW5jZSBpcyB3ZSBkb24ndCByZXNvdHJlIHN0YXRlIGlmIHRoaXMgY29u
dHJvbCBpcyBvd25lZCBieSBhIGZvcm0uCisgICAgICAgIChXZWJDb3JlOjpGb3JtQ29udHJvbGxl
cjo6cmVzdG9yZUNvbnRyb2xTdGF0ZUluKToKKyAgICAgICAgUmVzdG9yZSBzdGF0ZXMgb2YgYXNz
b2NpYXRlZCBjb250cm9scy4gVGhpcyBpcyBjYWxsZWQgZnJvbQorICAgICAgICBmaW5pc2hQYXJz
aW5nQ2hpbGRyZW4oKSBmb3IgPGZvcm0+LgorICAgICAgICAqIGh0bWwvRm9ybUNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKEZvcm1Db250cm9sbGVyKToKKyAgICAgICAgLSBEZWNsYXJlIHJlc3RvcmVD
b250cm9sU3RhdGVGb3IoKSBhbmQgcmVzdG9yZUNvbnRyb2xTdGF0ZUluKCkuCisgICAgICAgIC0g
TWFrZSB0YWtlU3RhdGVGb3JGb3JtRWxlbWVudCgpIHByaXZhdGUuCisKKyAgICAgICAgKiBodG1s
L0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb3JtQXNzb2Np
YXRlZEVsZW1lbnQ6OmlzRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlKToKKyAgICAgICAgQWRk
ZWQuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHJldHVybnMgZmFsc2UuCisgICAgICAgICog
aHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuaDoKKyAgICAgICAgKEZvcm1Bc3NvY2lhdGVkRWxl
bWVudCk6CisgICAgICAgIEFkZCBpc0Zvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZSgpIGZvciBG
b3JtQ29udHJvbGxlcjo6cmVzdG9yZUNvbnRyb2xTdGF0ZUluKCkuCisgICAgICAgICogaHRtbC9I
VE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbik6Cisg
ICAgICAgIFNvbWUgY29kZSBpcyBtb3ZlZCB0byBGb3JtQ29udHJvbGxlcjpyZXN0b3JlQ29udHJv
bFN0YXRlRm9yKCkuCisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0
aFN0YXRlOjppc0Zvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZSk6CisgICAgICAgIEFkZGVkLiBS
ZXR1cm5zIHRydWUuCisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0
YXRlLmg6CisgICAgICAgIChIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlKTogRGVjbGFy
ZSBpc0Zvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZSgpLgorICAgICAgICAqIGh0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6ZmluaXNo
UGFyc2luZ0NoaWxkcmVuKToKKyAgICAgICAgQWRkZWQuIENhbGxzIEZvcm1Db250cm9sbGVyOjpy
ZXN0b3JlQ29udHJvbFN0YXRlSW4oKS4KKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5o
OgorICAgICAgICAoSFRNTEZvcm1FbGVtZW50KTogRGVjbGFyZSBmaW5pc2hQYXJzaW5nQ2hpbGRy
ZW4oKS4KKwogMjAxMi0wNy0xMiAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgSW5jb3JyZWN0IGJlaGF2aW91ciBjYWxsaW5nIFJhbmdlIHNldFN0YXJ0IG9yIHNldEVu
ZCB3aXRoIGJvdW5kYXJ5IGluIGRpZmZlcmVudCBkb2N1bWVudApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwCmluZGV4IDIxNzkxZjA5NjBhZTQ3YzhmMThl
OWJmMzBiMTFjZDdhNjdmNjg0NTMuLjIwNDU3NDBiYTA1MjRhZjJiY2VkNTVjODczYzNiNDllMGJj
OTYxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5j
cHAKQEAgLTIyNyw2ICsyMjcsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBGb3JtQXNzb2NpYXRl
ZEVsZW1lbnQ6Om5hbWUoKSBjb25zdAogICAgIHJldHVybiBuYW1lLmlzTnVsbCgpID8gZW1wdHlB
dG9tIDogbmFtZTsKIH0KIAorYm9vbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OmlzRm9ybUNvbnRy
b2xFbGVtZW50V2l0aFN0YXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGNv
bnN0IEhUTUxFbGVtZW50KiB0b0hUTUxFbGVtZW50KGNvbnN0IEZvcm1Bc3NvY2lhdGVkRWxlbWVu
dCogYXNzb2NpYXRlZEVsZW1lbnQpCiB7CiAgICAgaWYgKGFzc29jaWF0ZWRFbGVtZW50LT5pc0Zv
cm1Db250cm9sRWxlbWVudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3Jt
QXNzb2NpYXRlZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRF
bGVtZW50LmgKaW5kZXggNWE0N2VhMDc2ZGIyYTc0ZWY1MGU5NDU2NWFlN2NiNGYwYmE1MDIxMS4u
NGVlOWZhNjExY2RhYjQyNjQ2MjY2ZDFkMDAzOTZmZThhZTJmMzZlNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oCkBAIC00Niw2ICs0Niw3IEBAIHB1Ymxp
YzoKICAgICBWYWxpZGl0eVN0YXRlKiB2YWxpZGl0eSgpOwogCiAgICAgdmlydHVhbCBib29sIGlz
Rm9ybUNvbnRyb2xFbGVtZW50KCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBpc0Zvcm1D
b250cm9sRWxlbWVudFdpdGhTdGF0ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc0VudW1l
cmF0YWJsZSgpIGNvbnN0ID0gMDsKIAogICAgIC8vIFJldHVybnMgdGhlICduYW1lJyBhdHRyaWJ1
dGUgdmFsdWUuIElmIHRoaXMgZWxlbWVudCBoYXMgbm8gbmFtZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9Gb3JtQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zv
cm1Db250cm9sbGVyLmNwcAppbmRleCA5NDEwN2E2NmY0ZjE4OTgzYzI5YWZhODdmMTIyOWY4Mzhh
ZmE1OTgxLi4yYWQ4NmYyZjg3MGY4MGExY2QzNmVlMTI4ZmRkMDJlOWY2OTMxMDg4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0Zvcm1Db250cm9sbGVyLmNwcApAQCAtMjksNiArMjksMTQgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCitzdGF0aWMgaW5s
aW5lIEhUTUxGb3JtRWxlbWVudCogb3duZXJGb3JtRm9yU3RhdGUoY29uc3QgSFRNTEZvcm1Db250
cm9sRWxlbWVudFdpdGhTdGF0ZSYgY29udHJvbCkKK3sKKyAgICAvLyBBc3N1bWUgY29udG9ybCB3
aXRoIGZvcm0gYXR0cmlidXRlIGhhdmUgbm8gb3duZXJzIGJlY2F1c2Ugd2UgcmVzdG9yZXMKKyAg
ICAvLyBzdGF0ZSBkdXJpbmcgcGFyc2luZyBhbmQgZm9ybSBvd25lcnMgb2Ygc3VjaCBjb250cm9s
cyBtaWdodCBiZQorICAgIC8vIGluZGV0ZXJtaW5hdGUuCisgICAgcmV0dXJuIGNvbnRyb2wuZmFz
dEhhc0F0dHJpYnV0ZShmb3JtQXR0cikgPyAwIDogY29udHJvbC5mb3JtKCk7Cit9CisKIC8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIAogLy8gU2VyaWxpemVkIGZvcm0gb2YgRm9ybUNvbnRyb2xTdGF0
ZToKQEAgLTEwMywxMCArMTExLDcgQEAgc3RhdGljIGlubGluZSBBdG9taWNTdHJpbmcgY3JlYXRl
S2V5KEhUTUxGb3JtRWxlbWVudCogZm9ybSwgdW5zaWduZWQgaW5kZXgpCiAKIEF0b21pY1N0cmlu
ZyBGb3JtS2V5R2VuZXJhdG9yOjpmb3JtS2V5KGNvbnN0IEhUTUxGb3JtQ29udHJvbEVsZW1lbnRX
aXRoU3RhdGUmIGNvbnRyb2wpCiB7Ci0gICAgLy8gQXNzdW1lIGNvbnRvcmwgd2l0aCBmb3JtIGF0
dHJpYnV0ZSBoYXZlIG5vIG93bmVycyBiZWNhdXNlIHdlIHJlc3RvcmVzCi0gICAgLy8gc3RhdGUg
ZHVyaW5nIHBhcnNpbmcgYW5kIGZvcm0gb3duZXJzIG9mIHN1Y2ggY29udHJvbHMgbWlnaHQgYmUK
LSAgICAvLyBpbmRldGVybWluYXRlLgotICAgIEhUTUxGb3JtRWxlbWVudCogZm9ybSA9IGNvbnRy
b2wuZmFzdEhhc0F0dHJpYnV0ZShmb3JtQXR0cikgPyAwIDogY29udHJvbC5mb3JtKCk7CisgICAg
SFRNTEZvcm1FbGVtZW50KiBmb3JtID0gb3duZXJGb3JtRm9yU3RhdGUoY29udHJvbCk7CiAgICAg
aWYgKCFmb3JtKSB7CiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBm
b3JtS2V5Rm9yTm9Pd25lciwgKCJObyBvd25lciIpKTsKICAgICAgICAgcmV0dXJuIGZvcm1LZXlG
b3JOb093bmVyOwpAQCAtMjQwLDYgKzI0NSwzNyBAQCB2b2lkIEZvcm1Db250cm9sbGVyOjp3aWxs
RGVsZXRlRm9ybShIVE1MRm9ybUVsZW1lbnQqIGZvcm0pCiAgICAgICAgIG1fZm9ybUtleUdlbmVy
YXRvci0+d2lsbERlbGV0ZUZvcm0oZm9ybSk7CiB9CiAKK3ZvaWQgRm9ybUNvbnRyb2xsZXI6OnJl
c3RvcmVDb250cm9sU3RhdGVGb3IoSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZSYgY29u
dHJvbCkKK3sKKyAgICAvLyBXZSBkb24ndCBzYXZlIHN0YXRlIG9mIGEgY29udHJvbCB3aXRoIHNo
b3VsZFNhdmVBbmRSZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZSgpCisgICAgLy8gPT0gZmFsc2UuIEJ1
dCB3ZSBuZWVkIHRvIHNraXAgcmVzdG9yaW5nIHByb2Nlc3MgdG9vIGJlY2F1c2UgYSBjb250cm9s
IGluCisgICAgLy8gYW5vdGhlciBmb3JtIG1pZ2h0IGhhdmUgdGhlIHNhbWUgcGFpciBvZiBuYW1l
IGFuZCB0eXBlIGFuZCBzYXZlZCBpdHMgc3RhdGUuCisgICAgaWYgKCFjb250cm9sLnNob3VsZFNh
dmVBbmRSZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYg
KG93bmVyRm9ybUZvclN0YXRlKGNvbnRyb2wpKQorICAgICAgICByZXR1cm47CisgICAgRm9ybUNv
bnRyb2xTdGF0ZSBzdGF0ZSA9IHRha2VTdGF0ZUZvckZvcm1FbGVtZW50KGNvbnRyb2wpOworICAg
IGlmIChzdGF0ZS52YWx1ZVNpemUoKSA+IDApCisgICAgICAgIGNvbnRyb2wucmVzdG9yZUZvcm1D
b250cm9sU3RhdGUoc3RhdGUpOworfQorCit2b2lkIEZvcm1Db250cm9sbGVyOjpyZXN0b3JlQ29u
dHJvbFN0YXRlSW4oSFRNTEZvcm1FbGVtZW50JiBmb3JtKQoreworICAgIGNvbnN0IFZlY3RvcjxG
b3JtQXNzb2NpYXRlZEVsZW1lbnQqPiYgZWxlbWVudHMgPSBmb3JtLmFzc29jaWF0ZWRFbGVtZW50
cygpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZWxlbWVudHMuc2l6ZSgpOyArK2kpIHsK
KyAgICAgICAgaWYgKCFlbGVtZW50c1tpXS0+aXNGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUo
KSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50
V2l0aFN0YXRlKiBjb250cm9sID0gc3RhdGljX2Nhc3Q8SFRNTEZvcm1Db250cm9sRWxlbWVudFdp
dGhTdGF0ZSo+KGVsZW1lbnRzW2ldKTsKKyAgICAgICAgaWYgKCFjb250cm9sLT5zaG91bGRTYXZl
QW5kUmVzdG9yZUZvcm1Db250cm9sU3RhdGUoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICBpZiAob3duZXJGb3JtRm9yU3RhdGUoKmNvbnRyb2wpICE9ICZmb3JtKQorICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIEZvcm1Db250cm9sU3RhdGUgc3RhdGUgPSB0YWtlU3RhdGVG
b3JGb3JtRWxlbWVudCgqY29udHJvbCk7CisgICAgICAgIGlmIChzdGF0ZS52YWx1ZVNpemUoKSA+
IDApCisgICAgICAgICAgICBjb250cm9sLT5yZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZShzdGF0ZSk7
CisgICAgfQorfQorCiB2b2lkIEZvcm1Db250cm9sbGVyOjpyZWdpc3RlckZvcm1FbGVtZW50V2l0
aEZvcm1BdHRyaWJ1dGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50KiBlbGVtZW50KQogewogICAgIEFT
U0VSVCh0b0hUTUxFbGVtZW50KGVsZW1lbnQpLT5mYXN0SGFzQXR0cmlidXRlKGZvcm1BdHRyKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Db250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0Zvcm1Db250cm9sbGVyLmgKaW5kZXggZTE1YzFkYzI0YTk4MGY2NDQ3
YTk4YjJlMzI2ZDE5NmQ2ZTM2MzJhMi4uZTU4YjViZThiNGM4MjAyM2ViOTk3NzU3NDg1MmE0MDQ0
NDFiMDI4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQ29udHJvbGxlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRyb2xsZXIuaApAQCAtMTI5LDggKzEy
OSw5IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8U3RyaW5nPiBmb3JtRWxlbWVudHNTdGF0ZSgpIGNv
bnN0OwogICAgIC8vIFRoaXMgc2hvdWxkIGJlIGNhbGxsZWQgb25seSBieSBEb2N1bWVudDo6c2V0
U3RhdGVGb3JOZXdGb3JtRWxlbWVudHMoKS4KICAgICB2b2lkIHNldFN0YXRlRm9yTmV3Rm9ybUVs
ZW1lbnRzKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7Ci0gICAgRm9ybUNvbnRyb2xTdGF0ZSB0YWtl
U3RhdGVGb3JGb3JtRWxlbWVudChjb25zdCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRl
Jik7CiAgICAgdm9pZCB3aWxsRGVsZXRlRm9ybShIVE1MRm9ybUVsZW1lbnQqKTsKKyAgICB2b2lk
IHJlc3RvcmVDb250cm9sU3RhdGVGb3IoSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZSYp
OworICAgIHZvaWQgcmVzdG9yZUNvbnRyb2xTdGF0ZUluKEhUTUxGb3JtRWxlbWVudCYpOwogCiAg
ICAgdm9pZCByZWdpc3RlckZvcm1FbGVtZW50V2l0aEZvcm1BdHRyaWJ1dGUoRm9ybUFzc29jaWF0
ZWRFbGVtZW50Kik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyRm9ybUVsZW1lbnRXaXRoRm9ybUF0dHJp
YnV0ZShGb3JtQXNzb2NpYXRlZEVsZW1lbnQqKTsKQEAgLTEzOCw2ICsxMzksNyBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAgICAgRm9ybUNvbnRyb2xsZXIoKTsKKyAgICBGb3JtQ29udHJvbFN0YXRl
IHRha2VTdGF0ZUZvckZvcm1FbGVtZW50KGNvbnN0IEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRo
U3RhdGUmKTsKIAogICAgIENoZWNrZWRSYWRpb0J1dHRvbnMgbV9jaGVja2VkUmFkaW9CdXR0b25z
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnRXaXRoU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVt
ZW50V2l0aFN0YXRlLmNwcAppbmRleCAyMjk0MGUwZDY2MWY3MDlmNTJiMTk0NjNkOGFjMGQ2NmZi
OTkzZDI1Li5mOTZkMjY0YzBmN2IzNTI0NzM3YThlM2RmZmYzODAzMDhmNjJmYTE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhT
dGF0ZS5jcHAKQEAgLTcwLDE2ICs3MCwxMiBAQCBGb3JtQ29udHJvbFN0YXRlIEhUTUxGb3JtQ29u
dHJvbEVsZW1lbnRXaXRoU3RhdGU6OnNhdmVGb3JtQ29udHJvbFN0YXRlKCkgY29uc3QKIHZvaWQg
SFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCkK
IHsKICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsK
KyAgICBkb2N1bWVudCgpLT5mb3JtQ29udHJvbGxlcigpLT5yZXN0b3JlQ29udHJvbFN0YXRlRm9y
KCp0aGlzKTsKK30KIAotICAgIC8vIFdlIGRvbid0IHNhdmUgc3RhdGUgb2YgYSBjb250cm9sIHdp
dGggc2hvdWxkU2F2ZUFuZFJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKCk9ZmFsc2UuCi0gICAgLy8g
QnV0IHdlIG5lZWQgdG8gc2tpcCByZXN0b3JpbmcgcHJvY2VzcyB0b28gYmVjYXVzZSBhIGNvbnRy
b2wgaW4gYW5vdGhlcgotICAgIC8vIGZvcm0gbWlnaHQgaGF2ZSB0aGUgc2FtZSBwYWlyIG9mIG5h
bWUgYW5kIHR5cGUgYW5kIHNhdmVkIGl0cyBzdGF0ZS4KLSAgICBpZiAoIXNob3VsZFNhdmVBbmRS
ZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBGb3JtQ29u
dHJvbFN0YXRlIHN0YXRlID0gZG9jdW1lbnQoKS0+Zm9ybUNvbnRyb2xsZXIoKS0+dGFrZVN0YXRl
Rm9yRm9ybUVsZW1lbnQoKnRoaXMpOwotICAgIGlmIChzdGF0ZS52YWx1ZVNpemUoKSA+IDApCi0g
ICAgICAgIHJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKHN0YXRlKTsKK2Jvb2wgSFRNTEZvcm1Db250
cm9sRWxlbWVudFdpdGhTdGF0ZTo6aXNGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUoKSBjb25z
dAoreworICAgIHJldHVybiB0cnVlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJjb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3Rh
dGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0
ZS5oCmluZGV4IDQzYzQ1ZjY3NmM4ZjM2OWY2ZjQ0NDgyZDkyZWM1OTA5YjJmNjZiNTQuLjVlN2Ji
MWFjZGQ4YmZiODhmMDY3MWRkZTQ1NmY2MGFkYjdjODJiOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZS5oCkBAIC00Nyw2
ICs0Nyw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkQXV0b2NvbXBsZXRl
KCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRNb3ZlVG9OZXdEb2N1bWVudChEb2N1bWVudCogb2xkRG9jdW1lbnQp
IE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBpc0Zvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0
ZSgpIGNvbnN0IE9WRVJSSURFOwogfTsKIAogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCAzYzhiYjA3M2NmZjcwZTBiNDg3MDkwNDY0YzA4
MTAyOWVjMjUxNzI1Li5kZGQ0NWU2ODU5OGRlNGM4MzUzYWZhYzIyZGVhZmUyN2QyOGU0MTQ3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC02ODUsNCArNjg1LDEw
IEBAIGJvb2wgSFRNTEZvcm1FbGVtZW50OjpzaG91bGRBdXRvY29tcGxldGUoKSBjb25zdAogICAg
IHJldHVybiAhZXF1YWxJZ25vcmluZ0Nhc2UoZmFzdEdldEF0dHJpYnV0ZShhdXRvY29tcGxldGVB
dHRyKSwgIm9mZiIpOwogfQogCit2b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUGFyc2luZ0No
aWxkcmVuKCkKK3sKKyAgICBIVE1MRWxlbWVudDo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7Cisg
ICAgZG9jdW1lbnQoKS0+Zm9ybUNvbnRyb2xsZXIoKS0+cmVzdG9yZUNvbnRyb2xTdGF0ZUluKCp0
aGlzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5oCmluZGV4IGVlOWNjZjM5YjdhMTY0ZmVhNGNhN2VkMGE3YmE5MWI0MTEzNWUyZmEuLmY0MWQ3
NGJiNWE2NTY2ZjhlZjM3ODE5NTI5YTJkOWQxMjJmMTQ0OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuaApAQCAtMTIxLDYgKzEyMSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCBJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IGluc2VydGVkSW50byhDb250YWluZXJOb2Rl
KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdGlmeURlc2NlbmRhbnRJbnNlcnRp
b25zKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZy
b20oQ29udGFpbmVyTm9kZSopIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hQYXJz
aW5nQ2hpbGRyZW4oKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVMb2NhbEV2
ZW50cyhFdmVudCopOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152199</attachid>
            <date>2012-07-13 02:57:46 -0700</date>
            <delta_ts>2012-07-13 04:00:18 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-89962-20120713185744.patch</filename>
            <type>text/plain</type>
            <size>11337</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkYWI1MTEzMDRiOWEw
NmRlZGIzYjMxMWI0NGI1ZjgwMmE4MzgwOS4uNjkwMmQ4MjA0YzZlNzc2ZWU2MTVjMTIwYzRiZTM0
MDFiZmU1MzBjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA3LTEzICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBDaGFuZ2UgdGhlIHRpbWlu
ZyBvZiBmb3JtIHN0YXRlIHJlc3RvcmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg5OTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSGFqaW1lIE1vcml0
YS4KKworICAgICAgICBGb3IgYSBwcmVwYXJhdGlvbiB0byBmaXggYSBmb3JtIGlkZW50aWZpY2F0
aW9uIHByb2JsZW0gKEJ1ZyA5MTIwOSksCisgICAgICAgIHJlc3RvcmUgY29udHJvbHMgc3RhdGVz
IHdoZW4gdGhlIHBhcnNpbmcgb2YgdGhlaXIgb3duZXIgZm9ybXMgaXMKKyAgICAgICAgY29tcGxl
dGVkLiBGb3IgY29udHJvbHMgd2l0aG91dCBvd25lcnMsIHRoZWlyIHN0YXRlcyBhcmUgcmVzdG9y
ZWQgd2hlbgorICAgICAgICB0aGVpciBwYXJzaW5nIGlzIGNvbXBsZXRlZCBhcyBldmVyLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBkb2Vzbid0IGNoYW5nZSBvYnNlcnZhYmxlIGJlaGF2
aW9yLgorCisgICAgICAgICogaHRtbC9Gb3JtQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpvd25lckZvcm1Gb3JTdGF0ZSk6CisgICAgICAgIEFkZGVkLiBUaGlzIGNvZGUgd2FzIHVz
ZWQgaW4gZm9ybUtleSgpLCBhbmQgcmVzdG9yZUNvbnRyb2xTdGF0ZSooKSB1c2UgaXQuCisgICAg
ICAgIChXZWJDb3JlOjpGb3JtS2V5R2VuZXJhdG9yOjpmb3JtS2V5KTogVXNlIG93bmVyRm9ybUZv
clN0YXRlKCkuIE5vIGJlaGF2aW9yIGNoYW5nZS4KKyAgICAgICAgKFdlYkNvcmU6OkZvcm1Db250
cm9sbGVyOjpyZXN0b3JlQ29udHJvbFN0YXRlRm9yKToKKyAgICAgICAgTW92ZWQgc29tZSBjb2Rl
IGZyb20gSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6ZmluaXNoUGFyc2luZ0NoaWxk
cmVuKCkuCisgICAgICAgIFRoZSBkaWZmZXJlbmNlIGlzIHdlIGRvbid0IHJlc290cmUgc3RhdGUg
aWYgdGhpcyBjb250cm9sIGlzIG93bmVkIGJ5IGEgZm9ybS4KKyAgICAgICAgKFdlYkNvcmU6OkZv
cm1Db250cm9sbGVyOjpyZXN0b3JlQ29udHJvbFN0YXRlSW4pOgorICAgICAgICBSZXN0b3JlIHN0
YXRlcyBvZiBhc3NvY2lhdGVkIGNvbnRyb2xzLiBUaGlzIGlzIGNhbGxlZCBmcm9tCisgICAgICAg
IGZpbmlzaFBhcnNpbmdDaGlsZHJlbigpIGZvciA8Zm9ybT4uCisgICAgICAgICogaHRtbC9Gb3Jt
Q29udHJvbGxlci5oOgorICAgICAgICAoRm9ybUNvbnRyb2xsZXIpOgorICAgICAgICAtIERlY2xh
cmUgcmVzdG9yZUNvbnRyb2xTdGF0ZUZvcigpIGFuZCByZXN0b3JlQ29udHJvbFN0YXRlSW4oKS4K
KyAgICAgICAgLSBNYWtlIHRha2VTdGF0ZUZvckZvcm1FbGVtZW50KCkgcHJpdmF0ZS4KKworICAg
ICAgICAqIGh0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6aXNGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUpOgor
ICAgICAgICBBZGRlZC4gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gcmV0dXJucyBmYWxzZS4K
KyAgICAgICAgKiBodG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oOgorICAgICAgICAoRm9ybUFz
c29jaWF0ZWRFbGVtZW50KToKKyAgICAgICAgQWRkZWQgaXNGb3JtQ29udHJvbEVsZW1lbnRXaXRo
U3RhdGUoKSBmb3IgRm9ybUNvbnRyb2xsZXI6OnJlc3RvcmVDb250cm9sU3RhdGVJbigpLgorICAg
ICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpmaW5pc2hQYXJzaW5n
Q2hpbGRyZW4pOgorICAgICAgICBTb21lIGNvZGUgd2FzIG1vdmVkIHRvIEZvcm1Db250cm9sbGVy
OnJlc3RvcmVDb250cm9sU3RhdGVGb3IoKS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29u
dHJvbEVsZW1lbnRXaXRoU3RhdGU6OmlzRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlKToKKyAg
ICAgICAgQWRkZWQuIFJldHVybnMgdHJ1ZS4KKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnRXaXRoU3RhdGUuaDoKKyAgICAgICAgKEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRo
U3RhdGUpOiBEZWNsYXJlIGlzRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlKCkuCisgICAgICAg
ICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1F
bGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4pOgorICAgICAgICBBZGRlZC4gQ2FsbHMgRm9y
bUNvbnRyb2xsZXI6OnJlc3RvcmVDb250cm9sU3RhdGVJbigpLgorICAgICAgICAqIGh0bWwvSFRN
TEZvcm1FbGVtZW50Lmg6CisgICAgICAgIChIVE1MRm9ybUVsZW1lbnQpOiBEZWNsYXJlIGZpbmlz
aFBhcnNpbmdDaGlsZHJlbigpLgorCiAyMDEyLTA3LTEzICBaZW5vIEFsYmlzc2VyICA8emVub0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF1bV0syXSBJbXBsZW1lbnQgR3JhcGhpY3NTdXJmYWNl
IGZvciBMaW51eC9HTFguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3Nv
Y2lhdGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxl
bWVudC5jcHAKaW5kZXggMjE3OTFmMDk2MGFlNDdjOGYxOGU5YmYzMGIxMWNkN2E2N2Y2ODQ1My4u
MjA0NTc0MGJhMDUyNGFmMmJjZWQ1NWM4NzNjM2I0OWUwYmM5NjE1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmNwcApAQCAtMjI3LDYgKzIyNywxMSBA
QCBjb25zdCBBdG9taWNTdHJpbmcmIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6bmFtZSgpIGNvbnN0
CiAgICAgcmV0dXJuIG5hbWUuaXNOdWxsKCkgPyBlbXB0eUF0b20gOiBuYW1lOwogfQogCitib29s
IEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6aXNGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUoKSBj
b25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogY29uc3QgSFRNTEVsZW1lbnQqIHRvSFRN
TEVsZW1lbnQoY29uc3QgRm9ybUFzc29jaWF0ZWRFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCkK
IHsKICAgICBpZiAoYXNzb2NpYXRlZEVsZW1lbnQtPmlzRm9ybUNvbnRyb2xFbGVtZW50KCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuaAppbmRleCA1YTQ3ZWEw
NzZkYjJhNzRlZjUwZTk0NTY1YWU3Y2I0ZjBiYTUwMjExLi40ZWU5ZmE2MTFjZGFiNDI2NDYyNjZk
MWQwMDM5NmZlOGFlMmYzNmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1B
c3NvY2lhdGVkRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0
ZWRFbGVtZW50LmgKQEAgLTQ2LDYgKzQ2LDcgQEAgcHVibGljOgogICAgIFZhbGlkaXR5U3RhdGUq
IHZhbGlkaXR5KCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNGb3JtQ29udHJvbEVsZW1lbnQoKSBj
b25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGlzRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRl
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzRW51bWVyYXRhYmxlKCkgY29uc3QgPSAwOwog
CiAgICAgLy8gUmV0dXJucyB0aGUgJ25hbWUnIGF0dHJpYnV0ZSB2YWx1ZS4gSWYgdGhpcyBlbGVt
ZW50IGhhcyBubyBuYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Db250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRyb2xsZXIuY3BwCmluZGV4
IDk0MTA3YTY2ZjRmMTg5ODNjMjlhZmE4N2YxMjI5ZjgzOGFmYTU5ODEuLjI4Mzg2N2UwYzJiZjgx
NDE2ZTk2YTZhNTI3Y2EzOGMyZGRkN2E4ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRm9ybUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRy
b2xsZXIuY3BwCkBAIC0yOSw2ICsyOSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKK3N0YXRpYyBpbmxpbmUgSFRNTEZvcm1FbGVtZW50KiBv
d25lckZvcm1Gb3JTdGF0ZShjb25zdCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlJiBj
b250cm9sKQoreworICAgIC8vIEFzc3VtZSBjb250cm9scyB3aXRoIGZvcm0gYXR0cmlidXRlIGhh
dmUgbm8gb3duZXJzIGJlY2F1c2Ugd2UgcmVzdG9yZQorICAgIC8vIHN0YXRlIGR1cmluZyBwYXJz
aW5nIGFuZCBmb3JtIG93bmVycyBvZiBzdWNoIGNvbnRyb2xzIG1pZ2h0IGJlCisgICAgLy8gaW5k
ZXRlcm1pbmF0ZS4KKyAgICByZXR1cm4gY29udHJvbC5mYXN0SGFzQXR0cmlidXRlKGZvcm1BdHRy
KSA/IDAgOiBjb250cm9sLmZvcm0oKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAv
LyBTZXJpbGl6ZWQgZm9ybSBvZiBGb3JtQ29udHJvbFN0YXRlOgpAQCAtMTAzLDEwICsxMTEsNyBA
QCBzdGF0aWMgaW5saW5lIEF0b21pY1N0cmluZyBjcmVhdGVLZXkoSFRNTEZvcm1FbGVtZW50KiBm
b3JtLCB1bnNpZ25lZCBpbmRleCkKIAogQXRvbWljU3RyaW5nIEZvcm1LZXlHZW5lcmF0b3I6OmZv
cm1LZXkoY29uc3QgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZSYgY29udHJvbCkKIHsK
LSAgICAvLyBBc3N1bWUgY29udG9ybCB3aXRoIGZvcm0gYXR0cmlidXRlIGhhdmUgbm8gb3duZXJz
IGJlY2F1c2Ugd2UgcmVzdG9yZXMKLSAgICAvLyBzdGF0ZSBkdXJpbmcgcGFyc2luZyBhbmQgZm9y
bSBvd25lcnMgb2Ygc3VjaCBjb250cm9scyBtaWdodCBiZQotICAgIC8vIGluZGV0ZXJtaW5hdGUu
Ci0gICAgSFRNTEZvcm1FbGVtZW50KiBmb3JtID0gY29udHJvbC5mYXN0SGFzQXR0cmlidXRlKGZv
cm1BdHRyKSA/IDAgOiBjb250cm9sLmZvcm0oKTsKKyAgICBIVE1MRm9ybUVsZW1lbnQqIGZvcm0g
PSBvd25lckZvcm1Gb3JTdGF0ZShjb250cm9sKTsKICAgICBpZiAoIWZvcm0pIHsKICAgICAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGZvcm1LZXlGb3JOb093bmVyLCAoIk5v
IG93bmVyIikpOwogICAgICAgICByZXR1cm4gZm9ybUtleUZvck5vT3duZXI7CkBAIC0yNDAsNiAr
MjQ1LDM3IEBAIHZvaWQgRm9ybUNvbnRyb2xsZXI6OndpbGxEZWxldGVGb3JtKEhUTUxGb3JtRWxl
bWVudCogZm9ybSkKICAgICAgICAgbV9mb3JtS2V5R2VuZXJhdG9yLT53aWxsRGVsZXRlRm9ybShm
b3JtKTsKIH0KIAordm9pZCBGb3JtQ29udHJvbGxlcjo6cmVzdG9yZUNvbnRyb2xTdGF0ZUZvcihI
VE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlJiBjb250cm9sKQoreworICAgIC8vIFdlIGRv
bid0IHNhdmUgc3RhdGUgb2YgYSBjb250cm9sIHdpdGggc2hvdWxkU2F2ZUFuZFJlc3RvcmVGb3Jt
Q29udHJvbFN0YXRlKCkKKyAgICAvLyA9PSBmYWxzZS4gQnV0IHdlIG5lZWQgdG8gc2tpcCByZXN0
b3JpbmcgcHJvY2VzcyB0b28gYmVjYXVzZSBhIGNvbnRyb2wgaW4KKyAgICAvLyBhbm90aGVyIGZv
cm0gbWlnaHQgaGF2ZSB0aGUgc2FtZSBwYWlyIG9mIG5hbWUgYW5kIHR5cGUgYW5kIHNhdmVkIGl0
cyBzdGF0ZS4KKyAgICBpZiAoIWNvbnRyb2wuc2hvdWxkU2F2ZUFuZFJlc3RvcmVGb3JtQ29udHJv
bFN0YXRlKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAob3duZXJGb3JtRm9yU3RhdGUoY29u
dHJvbCkpCisgICAgICAgIHJldHVybjsKKyAgICBGb3JtQ29udHJvbFN0YXRlIHN0YXRlID0gdGFr
ZVN0YXRlRm9yRm9ybUVsZW1lbnQoY29udHJvbCk7CisgICAgaWYgKHN0YXRlLnZhbHVlU2l6ZSgp
ID4gMCkKKyAgICAgICAgY29udHJvbC5yZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZShzdGF0ZSk7Cit9
CisKK3ZvaWQgRm9ybUNvbnRyb2xsZXI6OnJlc3RvcmVDb250cm9sU3RhdGVJbihIVE1MRm9ybUVs
ZW1lbnQmIGZvcm0pCit7CisgICAgY29uc3QgVmVjdG9yPEZvcm1Bc3NvY2lhdGVkRWxlbWVudCo+
JiBlbGVtZW50cyA9IGZvcm0uYXNzb2NpYXRlZEVsZW1lbnRzKCk7CisgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBlbGVtZW50cy5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAoIWVsZW1lbnRz
W2ldLT5pc0Zvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZSgpKQorICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUqIGNvbnRyb2wgPSBz
dGF0aWNfY2FzdDxIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlKj4oZWxlbWVudHNbaV0p
OworICAgICAgICBpZiAoIWNvbnRyb2wtPnNob3VsZFNhdmVBbmRSZXN0b3JlRm9ybUNvbnRyb2xT
dGF0ZSgpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGlmIChvd25lckZvcm1Gb3JT
dGF0ZSgqY29udHJvbCkgIT0gJmZvcm0pCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
Rm9ybUNvbnRyb2xTdGF0ZSBzdGF0ZSA9IHRha2VTdGF0ZUZvckZvcm1FbGVtZW50KCpjb250cm9s
KTsKKyAgICAgICAgaWYgKHN0YXRlLnZhbHVlU2l6ZSgpID4gMCkKKyAgICAgICAgICAgIGNvbnRy
b2wtPnJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKHN0YXRlKTsKKyAgICB9Cit9CisKIHZvaWQgRm9y
bUNvbnRyb2xsZXI6OnJlZ2lzdGVyRm9ybUVsZW1lbnRXaXRoRm9ybUF0dHJpYnV0ZShGb3JtQXNz
b2NpYXRlZEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgQVNTRVJUKHRvSFRNTEVsZW1lbnQoZWxl
bWVudCktPmZhc3RIYXNBdHRyaWJ1dGUoZm9ybUF0dHIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRm9ybUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNv
bnRyb2xsZXIuaAppbmRleCBlMTVjMWRjMjRhOTgwZjY0NDdhOThiMmUzMjZkMTk2ZDZlMzYzMmEy
Li5lNThiNWJlOGI0YzgyMDIzZWI5OTc3NTc0ODUyYTQwNDQ0MWIwMjgxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9Gb3JtQ29udHJvbGxlci5oCkBAIC0xMjksOCArMTI5LDkgQEAgcHVibGljOgogICAgIFZl
Y3RvcjxTdHJpbmc+IGZvcm1FbGVtZW50c1N0YXRlKCkgY29uc3Q7CiAgICAgLy8gVGhpcyBzaG91
bGQgYmUgY2FsbGxlZCBvbmx5IGJ5IERvY3VtZW50OjpzZXRTdGF0ZUZvck5ld0Zvcm1FbGVtZW50
cygpLgogICAgIHZvaWQgc2V0U3RhdGVGb3JOZXdGb3JtRWxlbWVudHMoY29uc3QgVmVjdG9yPFN0
cmluZz4mKTsKLSAgICBGb3JtQ29udHJvbFN0YXRlIHRha2VTdGF0ZUZvckZvcm1FbGVtZW50KGNv
bnN0IEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUmKTsKICAgICB2b2lkIHdpbGxEZWxl
dGVGb3JtKEhUTUxGb3JtRWxlbWVudCopOworICAgIHZvaWQgcmVzdG9yZUNvbnRyb2xTdGF0ZUZv
cihIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlJik7CisgICAgdm9pZCByZXN0b3JlQ29u
dHJvbFN0YXRlSW4oSFRNTEZvcm1FbGVtZW50Jik7CiAKICAgICB2b2lkIHJlZ2lzdGVyRm9ybUVs
ZW1lbnRXaXRoRm9ybUF0dHJpYnV0ZShGb3JtQXNzb2NpYXRlZEVsZW1lbnQqKTsKICAgICB2b2lk
IHVucmVnaXN0ZXJGb3JtRWxlbWVudFdpdGhGb3JtQXR0cmlidXRlKEZvcm1Bc3NvY2lhdGVkRWxl
bWVudCopOwpAQCAtMTM4LDYgKzEzOSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBGb3Jt
Q29udHJvbGxlcigpOworICAgIEZvcm1Db250cm9sU3RhdGUgdGFrZVN0YXRlRm9yRm9ybUVsZW1l
bnQoY29uc3QgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZSYpOwogCiAgICAgQ2hlY2tl
ZFJhZGlvQnV0dG9ucyBtX2NoZWNrZWRSYWRpb0J1dHRvbnM7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUuY3BwCmluZGV4
IDIyOTQwZTBkNjYxZjcwOWY1MmIxOTQ2M2Q4YWMwZDY2ZmI5OTNkMjUuLmY5NmQyNjRjMGY3YjM1
MjQ3MzdhOGUzZGZmZjM4MDMwOGY2MmZhMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlLmNwcApAQCAtNzAsMTYgKzcw
LDEyIEBAIEZvcm1Db250cm9sU3RhdGUgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6
c2F2ZUZvcm1Db250cm9sU3RhdGUoKSBjb25zdAogdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50
V2l0aFN0YXRlOjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKQogewogICAgIEhUTUxGb3JtQ29udHJv
bEVsZW1lbnQ6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOworICAgIGRvY3VtZW50KCktPmZvcm1D
b250cm9sbGVyKCktPnJlc3RvcmVDb250cm9sU3RhdGVGb3IoKnRoaXMpOworfQogCi0gICAgLy8g
V2UgZG9uJ3Qgc2F2ZSBzdGF0ZSBvZiBhIGNvbnRyb2wgd2l0aCBzaG91bGRTYXZlQW5kUmVzdG9y
ZUZvcm1Db250cm9sU3RhdGUoKT1mYWxzZS4KLSAgICAvLyBCdXQgd2UgbmVlZCB0byBza2lwIHJl
c3RvcmluZyBwcm9jZXNzIHRvbyBiZWNhdXNlIGEgY29udHJvbCBpbiBhbm90aGVyCi0gICAgLy8g
Zm9ybSBtaWdodCBoYXZlIHRoZSBzYW1lIHBhaXIgb2YgbmFtZSBhbmQgdHlwZSBhbmQgc2F2ZWQg
aXRzIHN0YXRlLgotICAgIGlmICghc2hvdWxkU2F2ZUFuZFJlc3RvcmVGb3JtQ29udHJvbFN0YXRl
KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIEZvcm1Db250cm9sU3RhdGUgc3RhdGUgPSBkb2N1
bWVudCgpLT5mb3JtQ29udHJvbGxlcigpLT50YWtlU3RhdGVGb3JGb3JtRWxlbWVudCgqdGhpcyk7
Ci0gICAgaWYgKHN0YXRlLnZhbHVlU2l6ZSgpID4gMCkKLSAgICAgICAgcmVzdG9yZUZvcm1Db250
cm9sU3RhdGUoc3RhdGUpOworYm9vbCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpp
c0Zvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYmNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlLmgKaW5kZXggNDNjNDVmNjc2Yzhm
MzY5ZjZmNDQ0ODJkOTJlYzU5MDliMmY2NmI1NC4uNWU3YmIxYWNkZDhiZmI4OGYwNjcxZGRlNDU2
ZjYwYWRiN2M4MmI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNv
bnRyb2xFbGVtZW50V2l0aFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlLmgKQEAgLTQ3LDYgKzQ3LDcgQEAgcHJvdGVjdGVkOgog
ICAgIHZpcnR1YWwgYm9vbCBzaG91bGRBdXRvY29tcGxldGUoKSBjb25zdDsKICAgICB2aXJ0dWFs
IHZvaWQgZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZE1vdmVU
b05ld0RvY3VtZW50KERvY3VtZW50KiBvbGREb2N1bWVudCkgT1ZFUlJJREU7CisgICAgdmlydHVh
bCBib29sIGlzRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlKCkgY29uc3QgT1ZFUlJJREU7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
CmluZGV4IDNjOGJiMDczY2ZmNzBlMGI0ODcwOTA0NjRjMDgxMDI5ZWMyNTE3MjUuLmRkZDQ1ZTY4
NTk4ZGU0YzgzNTNhZmFjMjJkZWFmZTI3ZDI4ZTQxNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtRWxlbWVudC5jcHAKQEAgLTY4NSw0ICs2ODUsMTAgQEAgYm9vbCBIVE1MRm9ybUVsZW1l
bnQ6OnNob3VsZEF1dG9jb21wbGV0ZSgpIGNvbnN0CiAgICAgcmV0dXJuICFlcXVhbElnbm9yaW5n
Q2FzZShmYXN0R2V0QXR0cmlidXRlKGF1dG9jb21wbGV0ZUF0dHIpLCAib2ZmIik7CiB9CiAKK3Zv
aWQgSFRNTEZvcm1FbGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKQoreworICAgIEhUTUxF
bGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsKKyAgICBkb2N1bWVudCgpLT5mb3JtQ29u
dHJvbGxlcigpLT5yZXN0b3JlQ29udHJvbFN0YXRlSW4oKnRoaXMpOworfQorCiB9IC8vIG5hbWVz
cGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXggZWU5Y2NmMzliN2Ex
NjRmZWE0Y2E3ZWQwYTdiYTkxYjQxMTM1ZTJmYS4uZjQxZDc0YmI1YTY1NjZmOGVmMzc4MTk1Mjlh
MmQ5ZDEyMmYxNDQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCkBAIC0x
MjEsNiArMTIxLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIEluc2VydGlvbk5vdGlmaWNhdGlv
blJlcXVlc3QgaW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkTm90aWZ5RGVzY2VuZGFudEluc2VydGlvbnMoQ29udGFpbmVyTm9kZSopIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbShDb250YWluZXJOb2RlKikgT1ZF
UlJJREU7CisgICAgdmlydHVhbCB2b2lkIGZpbmlzaFBhcnNpbmdDaGlsZHJlbigpIE9WRVJSSURF
OwogCiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUxvY2FsRXZlbnRzKEV2ZW50Kik7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>