<?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>95714</bug_id>
          
          <creation_ts>2012-09-04 00:13:32 -0700</creation_ts>
          <short_desc>Remove fixPlaceholderRenderer hack</short_desc>
          <delta_ts>2019-10-04 22:17:28 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>82313</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Web Components Team">webcomponents-bugzilla</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>710850</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-09-04 00:13:32 -0700</bug_when>
    <thetext>To show mouse cursor in the front of placeholder, we have adopted fixPlaceholderRenderer hack.
However, this is very fragile when we add an AuthroShadowRoot on &lt;textarea&gt; or &lt;input&gt; element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710903</commentid>
    <comment_count>1</comment_count>
      <attachid>161991</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-09-04 02:10:25 -0700</bug_when>
    <thetext>Created attachment 161991
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710907</commentid>
    <comment_count>2</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-09-04 02:17:34 -0700</bug_when>
    <thetext>-webkit-user-select: none; will solve the problem, maybe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710915</commentid>
    <comment_count>3</comment_count>
      <attachid>161995</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-09-04 02:32:05 -0700</bug_when>
    <thetext>Created attachment 161995
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710924</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-04 03:03:50 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; -webkit-user-select: none; will solve the problem, maybe.

I remember it didn&apos;t work.

1. Applying Attachment #161995
2. Build Chromium port, or
   Build Mac port on Lion or Mountain Lion, or
   Build Mac port on SnowLoepard with RenderThemeMac::shoudlShowPlaceholderWhenFocused()==true
3. Open a document with &lt;input placeholder=placeholder autofocus&gt;
4. Type &apos;a&apos;, and Backspace

ASSERTION FAILED: !m_anchorNode || !m_anchorNode-&gt;isShadowRoot()
/Volumes/d2/WebKit/Source/WebCore/dom/Position.cpp(88) : WebCore::Position::Position(PassRefPtr&lt;WebCore::Node&gt;, WebCore::Position::LegacyEditingOffset)
1   0x103ff7a64 WebCore::Position::Position(WTF::PassRefPtr&lt;WebCore::Node&gt;, WebCore::Position::LegacyEditingOffset)
2   0x103ff797b WebCore::Position::Position(WTF::PassRefPtr&lt;WebCore::Node&gt;, WebCore::Position::LegacyEditingOffset)
3   0x102da754a WebCore::createLegacyEditingPosition(WTF::PassRefPtr&lt;WebCore::Node&gt;, int)
4   0x102e3d258 WebCore::RangeBoundaryPoint::toPosition() const
5   0x103294cd3 WebCore::Range::endPosition() const
6   0x1046f9fba WebCore::previousBoundary(WebCore::VisiblePosition const&amp;, unsigned int (*)(unsigned short const*, unsigned int, unsigned int, WebCore::BoundarySearchContextAvailability, bool&amp;))
7   0x1046f91f9 WebCore::startOfWord(WebCore::VisiblePosition const&amp;, WebCore::EWordSide)
8   0x10339e7ef WebCore::Editor::respondToChangedSelection(WebCore::VisibleSelection const&amp;, unsigned int)
9   0x1034ccf4e WebCore::FrameSelection::setSelection(WebCore::VisibleSelection const&amp;, unsigned int, WebCore::FrameSelection::CursorAlignOnScroll, WebCore::TextGranularity)
10  0x1034d0499 WebCore::FrameSelection::textWasReplaced(WebCore::CharacterData*, unsigned int, unsigned int, unsigned int)
11  0x102f1b12e WebCore::CharacterData::setDataAndUpdate(WTF::String const&amp;, unsigned int, unsigned int, unsigned int)
12  0x102f1b879 WebCore::CharacterData::deleteData(unsigned int, unsigned int, int&amp;)
13  0x103173e45 WebCore::DeleteFromTextNodeCommand::doApply()
14  0x102f66dbb WebCore::CompositeEditCommand::applyCommandToComposite(WTF::PassRefPtr&lt;WebCore::EditCommand&gt;)
15  0x102f68b47 WebCore::CompositeEditCommand::deleteTextFromNode(WTF::PassRefPtr&lt;WebCore::Text&gt;, unsigned int, unsigned int)
16  0x10317706d WebCore::DeleteSelectionCommand::deleteTextFromNode(WTF::PassRefPtr&lt;WebCore::Text&gt;, unsigned int, unsigned int)
17  0x10317779f WebCore::DeleteSelectionCommand::handleGeneralDelete()
18  0x10317a766 WebCore::DeleteSelectionCommand::doApply()
19  0x102f66dbb WebCore::CompositeEditCommand::applyCommandToComposite(WTF::PassRefPtr&lt;WebCore::EditCommand&gt;)
20  0x102f69832 WebCore::CompositeEditCommand::deleteSelection(WebCore::VisibleSelection const&amp;, bool, bool, bool, bool, bool)
21  0x1046ed5fc WebCore::TypingCommand::deleteKeyPressed(WebCore::TextGranularity, bool)
22  0x1046ec625 WebCore::TypingCommand::deleteKeyPressed(WebCore::Document*, unsigned int, WebCore::TextGranularity)
23  0x10338e5ee WebCore::Editor::deleteWithDirection(WebCore::SelectionDirection, WebCore::TextGranularity, bool, bool)
24  0x1033a4b07 WebCore::executeDeleteBackward(WebCore::Frame*, WebCore::Event*, WebCore::EditorCommandSource, WTF::String const&amp;)
25  0x1033a4100 WebCore::Editor::Command::execute(WTF::String const&amp;, WebCore::Event*) const
26  0x1033a42e9 WebCore::Editor::Command::execute(WebCore::Event*) const
27  0x1012485f2 WebKit::WebPage::executeKeypressCommandsInternal(WTF::Vector&lt;WebCore::KeypressCommand, 0ul&gt; const&amp;, WebCore::KeyboardEvent*)
28  0x1012493af WebKit::WebPage::handleEditingKeyboardEvent(WebCore::KeyboardEvent*, bool)
29  0x1011cdf96 WebKit::WebEditorClient::handleKeyboardEvent(WebCore::KeyboardEvent*)
30  0x10338c972 WebCore::Editor::handleKeyboardEvent(WebCore::KeyboardEvent*)
31  0x1033eb651 WebCore::EventHandler::defaultKeyboardEventHandler(WebCore::KeyboardEvent*)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710958</commentid>
    <comment_count>5</comment_count>
      <attachid>161995</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-04 04:24:17 -0700</bug_when>
    <thetext>Comment on attachment 161995
WIP

Attachment 161995 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13755321

New failing tests:
fast/forms/textarea-placeholder-visibility-2.html
fast/forms/input-placeholder-visibility-1.html
fast/forms/textarea-placeholder-visibility-1.html
fast/forms/input-placeholder-visibility-3.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710965</commentid>
    <comment_count>6</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-09-04 04:33:03 -0700</bug_when>
    <thetext>Hmm... I couldn&apos;t reproduce it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710966</commentid>
    <comment_count>7</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-09-04 04:33:56 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Hmm... I couldn&apos;t reproduce it.

FYI: I tried it on Chromium Linux and Chromium Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711982</commentid>
    <comment_count>8</comment_count>
      <attachid>162229</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-09-05 05:40:10 -0700</bug_when>
    <thetext>Created attachment 162229
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711985</commentid>
    <comment_count>9</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-09-05 05:41:02 -0700</bug_when>
    <thetext>This crash happens only when ShadowDOM flag is disabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712778</commentid>
    <comment_count>10</comment_count>
      <attachid>162395</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-09-05 19:11:38 -0700</bug_when>
    <thetext>Created attachment 162395
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712782</commentid>
    <comment_count>11</comment_count>
      <attachid>162395</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-05 19:14:08 -0700</bug_when>
    <thetext>Comment on attachment 162395
Patch

LGTM for WebCore/css and WebCore/html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712786</commentid>
    <comment_count>12</comment_count>
      <attachid>162396</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-09-05 19:18:09 -0700</bug_when>
    <thetext>Created attachment 162396
ChangeLog fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781639</commentid>
    <comment_count>13</comment_count>
      <attachid>162396</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-12-03 10:48:34 -0800</bug_when>
    <thetext>Comment on attachment 162396
ChangeLog fixed

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

&gt; Source/WebCore/editing/visible_units.cpp:526
&gt; +    // anchored and ShadowDOM is not enabled. We have to enable ShadowDOM, or avoid ShadowRoot anchored Position.

Why will it assert?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976960</commentid>
    <comment_count>14</comment_count>
      <attachid>162396</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-05 11:13:23 -0800</bug_when>
    <thetext>Comment on attachment 162396
ChangeLog fixed

Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577146</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-04 22:17:28 -0700</bug_when>
    <thetext>No need to remove this hack since we don&apos;t support attaching a shadow root to an input element in V1 API.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161991</attachid>
            <date>2012-09-04 02:10:25 -0700</date>
            <delta_ts>2012-09-04 02:32:01 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-95714-20120904181008.patch</filename>
            <type>text/plain</type>
            <size>6150</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzhkYzY2NGZlNzhlY2Fh
NmViZDE5YmMyNWQzZjEzODdhYTVkOGY2MS4uMWMzNDcwZWQwMzc0NWQ4ODM4Y2VmNTA0ZjQyMWYw
ODA4M2Y4YzI3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA5LTA0ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgZml4
cGxhY2Vob2xkZXJyZW5kZXJlciBoYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NTcxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNo
IGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0
aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisg
ICAgICAgICogY3NzL2h0bWwuY3NzOgorICAgICAgICAoOjotd2Via2l0LWlucHV0LXBsYWNlaG9s
ZGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojppbm5lclRleHRFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6OmF0dGFjaCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojp1cGRhdGVQbGFjZWhvbGRlclRleHQpOgorICAg
ICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oOgorICAgICAgICAoSFRNTFRleHRBcmVh
RWxlbWVudCk6CisKIDIwMTItMDktMDMgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjc0MjcuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvaHRtbC5jc3MKaW5kZXggNjJkMTljYmI3ZjRmM2U0YmE2ZjNlODI3Y2UyYzVkZmJkZTYzZTNh
Ni4uOTcxZGM0MGRmMzVhZDRhMTc2MGYwYzQ4MWM2OTZhYmM1Mzg1NDM0YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1s
LmNzcwpAQCAtNjAyLDYgKzYwMiw3IEBAIHRleHRhcmVhIHsKIAogOjotd2Via2l0LWlucHV0LXBs
YWNlaG9sZGVyIHsKICAgICAtd2Via2l0LXRleHQtc2VjdXJpdHk6IG5vbmU7CisgICAgLXdlYmtp
dC11c2VyLXNlbGVjdDogbm9uZTsKICAgICBjb2xvcjogZGFya0dyYXk7CiAgICAgZGlzcGxheTog
YmxvY2sgIWltcG9ydGFudDsKICAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKaW5kZXggYTQyYWE3
ODMxZjA3YzU2N2U0NTBiM2YzYjdkODU3Yzc1YThiZTE2Yy4uYzgzNjIwYWVhN2Y3YzljZjE4ZjM2
NTZmNGQyZGIxYzJlMTQ4NTRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEFyZWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJl
YUVsZW1lbnQuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRm9ybUNvbnRyb2xsZXIu
aCIKICNpbmNsdWRlICJGb3JtRGF0YUxpc3QuaCIKICNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1
ZGUgIkhUTUxDb250ZW50RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1
ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbE11bHRp
TGluZS5oIgpAQCAtODksOSArOTAsMjggQEAgUGFzc1JlZlB0cjxIVE1MVGV4dEFyZWFFbGVtZW50
PiBIVE1MVGV4dEFyZWFFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYKIAogdm9p
ZCBIVE1MVGV4dEFyZWFFbGVtZW50OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKIHsKKyNpZiAxCiAg
ICAgQVNTRVJUKCFzaGFkb3coKSk7CiAgICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFk
b3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6VXNlckFnZW50U2hhZG93Um9vdCk7Ci0g
ICAgcm9vdC0+YXBwZW5kQ2hpbGQoVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50OjpjcmVhdGUo
ZG9jdW1lbnQoKSksIEFTU0VSVF9OT19FWENFUFRJT04pOworICAgIFJlZlB0cjxUZXh0Q29udHJv
bElubmVyVGV4dEVsZW1lbnQ+IGlubmVyID0gVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50Ojpj
cmVhdGUoZG9jdW1lbnQoKSk7CisgICAgcm9vdC0+YXBwZW5kQ2hpbGQoaW5uZXIsIEFTU0VSVF9O
T19FWENFUFRJT04pOworCisgICAgbV9pbm5lckVsZW1lbnQgPSBpbm5lci5nZXQoKTsKKyNlbHNl
CisgICAgQVNTRVJUKCFzaGFkb3coKSk7CisgICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QxID0g
U2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OlVzZXJBZ2VudFNoYWRvd1Jvb3Qp
OworICAgIFJlZlB0cjxIVE1MRGl2RWxlbWVudD4gZGl2ID0gSFRNTERpdkVsZW1lbnQ6OmNyZWF0
ZShkb2N1bWVudCgpKTsKKyAgICBkaXYtPmFwcGVuZENoaWxkKFRleHRDb250cm9sSW5uZXJUZXh0
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkpLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAgICBy
b290MS0+YXBwZW5kQ2hpbGQoZGl2KTsKKworICAgIFJlZlB0cjxTaGFkb3dSb290PiByb290MiA9
IFNoYWRvd1Jvb3Q6OmNyZWF0ZShkaXYuZ2V0KCksIFNoYWRvd1Jvb3Q6OlVzZXJBZ2VudFNoYWRv
d1Jvb3QpOworICAgIFJlZlB0cjxIVE1MQ29udGVudEVsZW1lbnQ+IGNvbnRlbnQxID0gSFRNTENv
bnRlbnRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQoKSk7CisgICAgY29udGVudDEtPnNldFNlbGVj
dCgiZGl2Om50aC1vZi10eXBlKDIpIik7CisgICAgUmVmUHRyPEhUTUxDb250ZW50RWxlbWVudD4g
Y29udGVudDIgPSBIVE1MQ29udGVudEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCgpKTsKKyAgICBj
b250ZW50Mi0+c2V0U2VsZWN0KCJkaXY6bnRoLW9mLXR5cGUoMSkiKTsKKyAgICByb290Mi0+YXBw
ZW5kQ2hpbGQoY29udGVudDEpOworICAgIHJvb3QyLT5hcHBlbmRDaGlsZChjb250ZW50Mik7Cisj
ZW5kaWYKIH0KIAogY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MVGV4dEFyZWFFbGVtZW50Ojpmb3Jt
Q29udHJvbFR5cGUoKSBjb25zdApAQCAtMzAwLDkgKzMyMCwxNCBAQCBTdHJpbmcgSFRNTFRleHRB
cmVhRWxlbWVudDo6c2FuaXRpemVVc2VySW5wdXRWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bvc2Vk
VmFsdWUsCiAKIEhUTUxFbGVtZW50KiBIVE1MVGV4dEFyZWFFbGVtZW50Ojppbm5lclRleHRFbGVt
ZW50KCkgY29uc3QKIHsKKyNpZiAxCisgICAgcmV0dXJuIG1faW5uZXJFbGVtZW50OworI2Vsc2UK
KyAgICAvLyBOb2RlKiBub2RlID0gdXNlckFnZW50U2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCkt
PmZpcnN0Q2hpbGQoKTsKICAgICBOb2RlKiBub2RlID0gdXNlckFnZW50U2hhZG93Um9vdCgpLT5m
aXJzdENoaWxkKCk7CiAgICAgQVNTRVJUKCFub2RlIHx8IG5vZGUtPmhhc1RhZ05hbWUoZGl2VGFn
KSk7CiAgICAgcmV0dXJuIHRvSFRNTEVsZW1lbnQobm9kZSk7CisjZW5kaWYKIH0KIAogdm9pZCBI
VE1MVGV4dEFyZWFFbGVtZW50OjpyZW5kZXJlcldpbGxCZURlc3Ryb3llZCgpCkBAIC01MDIsNyAr
NTI3LDcgQEAgSFRNTEVsZW1lbnQqIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnBsYWNlaG9sZGVyRWxl
bWVudCgpIGNvbnN0CiB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmF0dGFjaCgpCiB7CiAgICAg
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmF0dGFjaCgpOwotICAgIGZpeFBsYWNlaG9sZGVy
UmVuZGVyZXIobV9wbGFjZWhvbGRlciwgaW5uZXJUZXh0RWxlbWVudCgpKTsKKyAgICAvLyBmaXhQ
bGFjZWhvbGRlclJlbmRlcmVyKG1fcGxhY2Vob2xkZXIsIGlubmVyVGV4dEVsZW1lbnQoKSk7CiB9
CiAKIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6dXBkYXRlUGxhY2Vob2xkZXJUZXh0KCkKQEAg
LTUxMSw2ICs1MzYsNyBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnVwZGF0ZVBsYWNlaG9s
ZGVyVGV4dCgpCiAgICAgU3RyaW5nIHBsYWNlaG9sZGVyVGV4dCA9IHN0cmlwcGVkUGxhY2Vob2xk
ZXIoKTsKICAgICBpZiAocGxhY2Vob2xkZXJUZXh0LmlzRW1wdHkoKSkgewogICAgICAgICBpZiAo
bV9wbGFjZWhvbGRlcikgeworICAgICAgICAgICAgLy8gdXNlckFnZW50U2hhZG93Um9vdCgpLT5m
aXJzdENoaWxkKCktPnJlbW92ZUNoaWxkKG1fcGxhY2Vob2xkZXIsIGVjKTsKICAgICAgICAgICAg
IHVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+cmVtb3ZlQ2hpbGQobV9wbGFjZWhvbGRlciwgZWMpOwog
ICAgICAgICAgICAgQVNTRVJUKCFlYyk7CiAgICAgICAgICAgICBtX3BsYWNlaG9sZGVyID0gMDsK
QEAgLTUyMSwxMiArNTQ3LDE0IEBAIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6dXBkYXRlUGxh
Y2Vob2xkZXJUZXh0KCkKICAgICAgICAgUmVmUHRyPEhUTUxEaXZFbGVtZW50PiBwbGFjZWhvbGRl
ciA9IEhUTUxEaXZFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQoKSk7CiAgICAgICAgIG1fcGxhY2Vo
b2xkZXIgPSBwbGFjZWhvbGRlci5nZXQoKTsKICAgICAgICAgbV9wbGFjZWhvbGRlci0+c2V0U2hh
ZG93UHNldWRvSWQoIi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIiKTsKLSAgICAgICAgdXNlckFn
ZW50U2hhZG93Um9vdCgpLT5pbnNlcnRCZWZvcmUobV9wbGFjZWhvbGRlciwgaW5uZXJUZXh0RWxl
bWVudCgpLT5uZXh0U2libGluZygpLCBlYyk7CisgICAgICAgIHVzZXJBZ2VudFNoYWRvd1Jvb3Qo
KS0+aW5zZXJ0QmVmb3JlKG1fcGxhY2Vob2xkZXIsIGlubmVyVGV4dEVsZW1lbnQoKSwgZWMpOwor
ICAgICAgICAvLyB1c2VyQWdlbnRTaGFkb3dSb290KCktPmluc2VydEJlZm9yZShtX3BsYWNlaG9s
ZGVyLCBpbm5lclRleHRFbGVtZW50KCktPm5leHRTaWJsaW5nKCksIGVjKTsKKyAgICAgICAgLy8g
dXNlckFnZW50U2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCktPmluc2VydEJlZm9yZShtX3BsYWNl
aG9sZGVyLCBpbm5lclRleHRFbGVtZW50KCktPm5leHRTaWJsaW5nKCksIGVjKTsKICAgICAgICAg
QVNTRVJUKCFlYyk7CiAgICAgfQogICAgIG1fcGxhY2Vob2xkZXItPnNldElubmVyVGV4dChwbGFj
ZWhvbGRlclRleHQsIGVjKTsKICAgICBBU1NFUlQoIWVjKTsKLSAgICBmaXhQbGFjZWhvbGRlclJl
bmRlcmVyKG1fcGxhY2Vob2xkZXIsIGlubmVyVGV4dEVsZW1lbnQoKSk7CisgICAgLy8gZml4UGxh
Y2Vob2xkZXJSZW5kZXJlcihtX3BsYWNlaG9sZGVyLCBpbm5lclRleHRFbGVtZW50KCkpOwogfQog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCmluZGV4IGFlNDY3
OGRhM2Q1OTAzZmM4MTdjNmIyMmYzY2NiODY0YmFhODI2ZjkuLmZhODg4MzY4ZWIyMzVkNzQ3NzYz
MTUzNzc3YTYzODUxZmExNWJkMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVh
RWxlbWVudC5oCkBAIC0xMTgsNiArMTE4LDcgQEAgcHJpdmF0ZToKICAgICBpbnQgbV9yb3dzOwog
ICAgIGludCBtX2NvbHM7CiAgICAgV3JhcE1ldGhvZCBtX3dyYXA7CisgICAgSFRNTEVsZW1lbnQq
IG1faW5uZXJFbGVtZW50OwogICAgIEhUTUxFbGVtZW50KiBtX3BsYWNlaG9sZGVyOwogICAgIG11
dGFibGUgU3RyaW5nIG1fdmFsdWU7CiAgICAgbXV0YWJsZSBib29sIG1faXNEaXJ0eTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161995</attachid>
            <date>2012-09-04 02:32:05 -0700</date>
            <delta_ts>2012-09-05 05:40:06 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-95714-20120904183148.patch</filename>
            <type>text/plain</type>
            <size>8580</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjVmNGRiYTQ4NDE2YjJh
MDdiYmQ5N2Q4YWZjNzM3M2JmNGMzN2Y3My4uNGQ5ZjlmZjUyNzAyNzU3MWRlZjNlZTg4NjdlZTQ1
N2RkYTA0Mjg3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA5LTA0ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgZml4
cGxhY2Vob2xkZXJyZW5kZXJlciBoYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NTcxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNo
IGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0
aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisg
ICAgICAgICogY3NzL2h0bWwuY3NzOgorICAgICAgICAoOjotd2Via2l0LWlucHV0LXBsYWNlaG9s
ZGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojppbm5lclRleHRFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6OmF0dGFjaCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojp1cGRhdGVQbGFjZWhvbGRlclRleHQpOgorICAg
ICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oOgorICAgICAgICAoSFRNTFRleHRBcmVh
RWxlbWVudCk6CisKIDIwMTItMDktMDQgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBNb3JlIGRpcmVjdGlvbmFsIGNvbnRy
b2wgY2hhcmFjdGVycyBmb3IgZGVidWdnaW5nIGluIGluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCmlu
ZGV4IDYyZDE5Y2JiN2Y0ZjNlNGJhNmYzZTgyN2NlMmM1ZGZiZGU2M2UzYTYuLjBiNjg3MDU4MDI2
ZDMwNjFlN2JmOWI2ZDA4NzFkNGYxZmE0NTI5YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9odG1sLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKQEAgLTYwMiw2
ICs2MDIsNyBAQCB0ZXh0YXJlYSB7CiAKIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7CiAg
ICAgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBub25lOworICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6
IG5vbmUgIWltcG9ydGFudDsKICAgICBjb2xvcjogZGFya0dyYXk7CiAgICAgZGlzcGxheTogYmxv
Y2sgIWltcG9ydGFudDsKICAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKaW5kZXggYTQyYWE3ODMx
ZjA3YzU2N2U0NTBiM2YzYjdkODU3Yzc1YThiZTE2Yy4uMTI5NzI0ZDdlNzU1NGM3Mjc2NDEzNWM3
M2UxM2Y2N2MyMjJiYmU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVs
ZW1lbnQuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRm9ybUNvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJGb3JtRGF0YUxpc3QuaCIKICNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUg
IkhUTUxDb250ZW50RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUg
IkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbE11bHRpTGlu
ZS5oIgpAQCAtNzIsNiArNzMsNyBAQCBIVE1MVGV4dEFyZWFFbGVtZW50OjpIVE1MVGV4dEFyZWFF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KgogICAgICwgbV9y
b3dzKGRlZmF1bHRSb3dzKQogICAgICwgbV9jb2xzKGRlZmF1bHRDb2xzKQogICAgICwgbV93cmFw
KFNvZnRXcmFwKQorICAgICwgbV9pbm5lckVsZW1lbnQoMCkKICAgICAsIG1fcGxhY2Vob2xkZXIo
MCkKICAgICAsIG1faXNEaXJ0eShmYWxzZSkKICAgICAsIG1fd2FzTW9kaWZpZWRCeVVzZXIoZmFs
c2UpCkBAIC05MSw3ICs5MywxMCBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmNyZWF0ZVNo
YWRvd1N1YnRyZWUoKQogewogICAgIEFTU0VSVCghc2hhZG93KCkpOwogICAgIFJlZlB0cjxTaGFk
b3dSb290PiByb290ID0gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OlVzZXJB
Z2VudFNoYWRvd1Jvb3QpOwotICAgIHJvb3QtPmFwcGVuZENoaWxkKFRleHRDb250cm9sSW5uZXJU
ZXh0RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkpLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAg
ICBSZWZQdHI8VGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50PiBpbm5lciA9IFRleHRDb250cm9s
SW5uZXJUZXh0RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkpOworICAgIHJvb3QtPmFwcGVuZENo
aWxkKGlubmVyLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKworICAgIG1faW5uZXJFbGVtZW50ID0g
aW5uZXIuZ2V0KCk7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgSFRNTFRleHRBcmVhRWxlbWVu
dDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKQEAgLTMwMCw5ICszMDUsNyBAQCBTdHJpbmcgSFRN
TFRleHRBcmVhRWxlbWVudDo6c2FuaXRpemVVc2VySW5wdXRWYWx1ZShjb25zdCBTdHJpbmcmIHBy
b3Bvc2VkVmFsdWUsCiAKIEhUTUxFbGVtZW50KiBIVE1MVGV4dEFyZWFFbGVtZW50Ojppbm5lclRl
eHRFbGVtZW50KCkgY29uc3QKIHsKLSAgICBOb2RlKiBub2RlID0gdXNlckFnZW50U2hhZG93Um9v
dCgpLT5maXJzdENoaWxkKCk7Ci0gICAgQVNTRVJUKCFub2RlIHx8IG5vZGUtPmhhc1RhZ05hbWUo
ZGl2VGFnKSk7Ci0gICAgcmV0dXJuIHRvSFRNTEVsZW1lbnQobm9kZSk7CisgICAgcmV0dXJuIG1f
aW5uZXJFbGVtZW50OwogfQogCiB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnJlbmRlcmVyV2ls
bEJlRGVzdHJveWVkKCkKQEAgLTQ5OSwxMiArNTAyLDYgQEAgSFRNTEVsZW1lbnQqIEhUTUxUZXh0
QXJlYUVsZW1lbnQ6OnBsYWNlaG9sZGVyRWxlbWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGxh
Y2Vob2xkZXI7CiB9CiAKLXZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6YXR0YWNoKCkKLXsKLSAg
ICBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6YXR0YWNoKCk7Ci0gICAgZml4UGxhY2Vob2xk
ZXJSZW5kZXJlcihtX3BsYWNlaG9sZGVyLCBpbm5lclRleHRFbGVtZW50KCkpOwotfQotCiB2b2lk
IEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnVwZGF0ZVBsYWNlaG9sZGVyVGV4dCgpCiB7CiAgICAgRXhj
ZXB0aW9uQ29kZSBlYyA9IDA7CkBAIC01MjEsMTIgKzUxOCwxMSBAQCB2b2lkIEhUTUxUZXh0QXJl
YUVsZW1lbnQ6OnVwZGF0ZVBsYWNlaG9sZGVyVGV4dCgpCiAgICAgICAgIFJlZlB0cjxIVE1MRGl2
RWxlbWVudD4gcGxhY2Vob2xkZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkp
OwogICAgICAgICBtX3BsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXIuZ2V0KCk7CiAgICAgICAgIG1f
cGxhY2Vob2xkZXItPnNldFNoYWRvd1BzZXVkb0lkKCItd2Via2l0LWlucHV0LXBsYWNlaG9sZGVy
Iik7Ci0gICAgICAgIHVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+aW5zZXJ0QmVmb3JlKG1fcGxhY2Vo
b2xkZXIsIGlubmVyVGV4dEVsZW1lbnQoKS0+bmV4dFNpYmxpbmcoKSwgZWMpOworICAgICAgICB1
c2VyQWdlbnRTaGFkb3dSb290KCktPmluc2VydEJlZm9yZShtX3BsYWNlaG9sZGVyLCBpbm5lclRl
eHRFbGVtZW50KCksIGVjKTsKICAgICAgICAgQVNTRVJUKCFlYyk7CiAgICAgfQogICAgIG1fcGxh
Y2Vob2xkZXItPnNldElubmVyVGV4dChwbGFjZWhvbGRlclRleHQsIGVjKTsKICAgICBBU1NFUlQo
IWVjKTsKLSAgICBmaXhQbGFjZWhvbGRlclJlbmRlcmVyKG1fcGxhY2Vob2xkZXIsIGlubmVyVGV4
dEVsZW1lbnQoKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVt
ZW50LmgKaW5kZXggYWU0Njc4ZGEzZDU5MDNmYzgxN2M2YjIyZjNjY2I4NjRiYWE4MjZmOS4uMzkz
Y2UxMTcxYzdmMDhlZWU2MWMwMWY0YzZlYmRjN2IzMjIzZDk3NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmgKQEAgLTExMCw3ICsxMTAsNiBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgdm9pZCBhY2Nlc3NLZXlBY3Rpb24oYm9vbCBzZW5kTW91c2VFdmVudHMpOwog
CiAgICAgdmlydHVhbCBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCk7Ci0gICAgdmlydHVhbCB2
b2lkIGF0dGFjaCgpIE9WRVJSSURFOwogCiAgICAgYm9vbCB2YWx1ZU1pc3NpbmcoY29uc3QgU3Ry
aW5nJiB2YWx1ZSkgY29uc3QgeyByZXR1cm4gaXNSZXF1aXJlZEZvcm1Db250cm9sKCkgJiYgIWRp
c2FibGVkKCkgJiYgIXJlYWRPbmx5KCkgJiYgdmFsdWUuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCB0
b29Mb25nKGNvbnN0IFN0cmluZyYsIE5lZWRzVG9DaGVja0RpcnR5RmxhZykgY29uc3Q7CkBAIC0x
MTgsNiArMTE3LDcgQEAgcHJpdmF0ZToKICAgICBpbnQgbV9yb3dzOwogICAgIGludCBtX2NvbHM7
CiAgICAgV3JhcE1ldGhvZCBtX3dyYXA7CisgICAgSFRNTEVsZW1lbnQqIG1faW5uZXJFbGVtZW50
OwogICAgIEhUTUxFbGVtZW50KiBtX3BsYWNlaG9sZGVyOwogICAgIG11dGFibGUgU3RyaW5nIG1f
dmFsdWU7CiAgICAgbXV0YWJsZSBib29sIG1faXNEaXJ0eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAKaW5kZXggMmVjNWYwOWIxZmZj
NTVlMTc1NTRlYjFjMmYwNjk1MzRkNmIzZmM1NS4uOTU5NjQ1YWE3Y2MyZTkyZDliMDNkNGMzZjk4
MzNiMTc2M2MxZTJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTE2NiwyMyArMTY2LDYgQEAgdm9pZCBIVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudDo6dXBkYXRlUGxhY2Vob2xkZXJWaXNpYmlsaXR5KGJvb2wgcGxhY2Vo
b2xkZXJWYWwKICAgICBBU1NFUlQoIWVjKTsKIH0KIAotdm9pZCBIVE1MVGV4dEZvcm1Db250cm9s
RWxlbWVudDo6Zml4UGxhY2Vob2xkZXJSZW5kZXJlcihIVE1MRWxlbWVudCogcGxhY2Vob2xkZXIs
IEhUTUxFbGVtZW50KiBzaWJsaW5nRWxlbWVudCkKLXsKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IGNoYW5nZSB0aGUgb3JkZXIgb2YgRE9NIG5vZGVzLiBCdXQgaXQgbWFrZXMgYW4gYXNzZXJ0aW9u
Ci0gICAgLy8gZmFpbHVyZSBpbiBlZGl0aW5nIGNvZGUuCi0gICAgaWYgKCFwbGFjZWhvbGRlciB8
fCAhcGxhY2Vob2xkZXItPnJlbmRlcmVyKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBSZW5kZXJP
YmplY3QqIHBsYWNlaG9sZGVyUmVuZGVyZXIgPSBwbGFjZWhvbGRlci0+cmVuZGVyZXIoKTsKLSAg
ICBSZW5kZXJPYmplY3QqIHNpYmxpbmdSZW5kZXJlciA9IHNpYmxpbmdFbGVtZW50LT5yZW5kZXJl
cigpOwotICAgIEFTU0VSVChzaWJsaW5nUmVuZGVyZXIpOwotICAgIGlmIChwbGFjZWhvbGRlclJl
bmRlcmVyLT5uZXh0U2libGluZygpID09IHNpYmxpbmdSZW5kZXJlcikKLSAgICAgICAgcmV0dXJu
OwotICAgIFJlbmRlck9iamVjdCogcGFyZW50UmVuZGVyZXIgPSBwbGFjZWhvbGRlclJlbmRlcmVy
LT5wYXJlbnQoKTsKLSAgICBBU1NFUlQocGFyZW50UmVuZGVyZXIgPT0gc2libGluZ1JlbmRlcmVy
LT5wYXJlbnQoKSk7Ci0gICAgcGFyZW50UmVuZGVyZXItPnJlbW92ZUNoaWxkKHBsYWNlaG9sZGVy
UmVuZGVyZXIpOwotICAgIHBhcmVudFJlbmRlcmVyLT5hZGRDaGlsZChwbGFjZWhvbGRlclJlbmRl
cmVyLCBzaWJsaW5nUmVuZGVyZXIpOwotfQotCiBSZW5kZXJUZXh0Q29udHJvbCogSFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQ6OnRleHRSZW5kZXJlckFmdGVyVXBkYXRlTGF5b3V0KCkKIHsKICAg
ICBpZiAoIWlzVGV4dEZvcm1Db250cm9sKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKaW5kZXggOGViZTY2YWM2MWNlYTI3YzM1ZmE0MWZi
NDI2OTY1OGQ4M2M5YWI4My4uM2ZlZTNjNGY1NmQ5OTcyMzQxZDBiMjhkZGNjMDJmMDI0MjBkNWE1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQuaApAQCAtNTQsNyArNTQsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBwbGFjZWhvbGRlclNob3Vs
ZEJlVmlzaWJsZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIHBsYWNlaG9sZGVy
RWxlbWVudCgpIGNvbnN0ID0gMDsKICAgICB2b2lkIHVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0
eShib29sKTsKLSAgICBzdGF0aWMgdm9pZCBmaXhQbGFjZWhvbGRlclJlbmRlcmVyKEhUTUxFbGVt
ZW50KiBwbGFjZWhvbGRlciwgSFRNTEVsZW1lbnQqIHNpYmxpbmdFbGVtZW50KTsKIAogICAgIGlu
dCBpbmRleEZvclZpc2libGVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mKSBjb25zdDsK
ICAgICBpbnQgc2VsZWN0aW9uU3RhcnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4
dEZpZWxkSW5wdXRUeXBlLmNwcAppbmRleCA2OTIxMjFlNWNjNGEwYzA5MGZjMmVjZWU1ZWYzNWY1
NGMyYzZlYWNmLi4xZGM2NmUwOGFkNjFjMWIzN2Y3YzA2NDUwNTYyNTI4MzM5ZmI0M2IwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCkBAIC00MTAsMTggKzQx
MCwxNiBAQCB2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6dXBkYXRlUGxhY2Vob2xkZXJUZXh0KCkK
ICAgICBpZiAoIW1fcGxhY2Vob2xkZXIpIHsKICAgICAgICAgbV9wbGFjZWhvbGRlciA9IEhUTUxE
aXZFbGVtZW50OjpjcmVhdGUoZWxlbWVudCgpLT5kb2N1bWVudCgpKTsKICAgICAgICAgbV9wbGFj
ZWhvbGRlci0+c2V0U2hhZG93UHNldWRvSWQoIi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIiKTsK
LSAgICAgICAgZWxlbWVudCgpLT51c2VyQWdlbnRTaGFkb3dSb290KCktPmluc2VydEJlZm9yZSht
X3BsYWNlaG9sZGVyLCBtX2NvbnRhaW5lciA/IG1fY29udGFpbmVyLT5uZXh0U2libGluZygpIDog
aW5uZXJUZXh0RWxlbWVudCgpLT5uZXh0U2libGluZygpLCBlYyk7CisgICAgICAgIGVsZW1lbnQo
KS0+dXNlckFnZW50U2hhZG93Um9vdCgpLT5pbnNlcnRCZWZvcmUobV9wbGFjZWhvbGRlciwgbV9j
b250YWluZXIgPyBtX2NvbnRhaW5lci5nZXQoKSA6IGlubmVyVGV4dEVsZW1lbnQoKSwgZWMpOwog
ICAgICAgICBBU1NFUlQoIWVjKTsKICAgICB9CiAgICAgbV9wbGFjZWhvbGRlci0+c2V0SW5uZXJU
ZXh0KHBsYWNlaG9sZGVyVGV4dCwgZWMpOwogICAgIEFTU0VSVCghZWMpOwotICAgIGVsZW1lbnQo
KS0+Zml4UGxhY2Vob2xkZXJSZW5kZXJlcihtX3BsYWNlaG9sZGVyLmdldCgpLCBtX2NvbnRhaW5l
ciA/IG1fY29udGFpbmVyLmdldCgpIDogbV9pbm5lclRleHQuZ2V0KCkpOwogfQogCiB2b2lkIFRl
eHRGaWVsZElucHV0VHlwZTo6YXR0YWNoKCkKIHsKICAgICBJbnB1dFR5cGU6OmF0dGFjaCgpOwot
ICAgIGVsZW1lbnQoKS0+Zml4UGxhY2Vob2xkZXJSZW5kZXJlcihtX3BsYWNlaG9sZGVyLmdldCgp
LCBtX2NvbnRhaW5lciA/IG1fY29udGFpbmVyLmdldCgpIDogbV9pbm5lclRleHQuZ2V0KCkpOwog
fQogCiBib29sIFRleHRGaWVsZElucHV0VHlwZTo6YXBwZW5kRm9ybURhdGEoRm9ybURhdGFMaXN0
JiBsaXN0LCBib29sIG11bHRpcGFydCkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162229</attachid>
            <date>2012-09-05 05:40:10 -0700</date>
            <delta_ts>2012-09-05 19:11:33 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-95714-20120905213952.patch</filename>
            <type>text/plain</type>
            <size>16841</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjFkNmM4M2E0Y2Y0Yzgz
MTAxOGVmMmFhNzkzNGQzNjE5M2QxZWI1Ny4uMjhmMDhiM2MzOWI0MjA2NTY0M2MxNjZmNzZhNjEy
ODE1YmI5NjdhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA5LTA0ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgZml4
cGxhY2Vob2xkZXJyZW5kZXJlciBoYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NTcxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNo
IGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0
aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisg
ICAgICAgICogY3NzL2h0bWwuY3NzOgorICAgICAgICAoOjotd2Via2l0LWlucHV0LXBsYWNlaG9s
ZGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojppbm5lclRleHRFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6OmF0dGFjaCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojp1cGRhdGVQbGFjZWhvbGRlclRleHQpOgorICAg
ICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oOgorICAgICAgICAoSFRNTFRleHRBcmVh
RWxlbWVudCk6CisKIDIwMTItMDktMDQgIEFsZWMgRmxldHQgIDxhbGVjZmxldHRAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogcmVtb3ZlIGZpbmFsIGNyZWF0ZUluZGV4IGJhY2tl
bmQgZ2x1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzIGIvU291cmNl
L1dlYkNvcmUvY3NzL2h0bWwuY3NzCmluZGV4IDYyZDE5Y2JiN2Y0ZjNlNGJhNmYzZTgyN2NlMmM1
ZGZiZGU2M2UzYTYuLjBiNjg3MDU4MDI2ZDMwNjFlN2JmOWI2ZDA4NzFkNGYxZmE0NTI5YzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvaHRtbC5jc3MKQEAgLTYwMiw2ICs2MDIsNyBAQCB0ZXh0YXJlYSB7CiAKIDo6LXdlYmtp
dC1pbnB1dC1wbGFjZWhvbGRlciB7CiAgICAgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBub25lOwor
ICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDsKICAgICBjb2xvcjogZGFy
a0dyYXk7CiAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgICBwb2ludGVyLWV2ZW50
czogbm9uZSAhaW1wb3J0YW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Jhbmdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKaW5kZXggYzRlNDM1YTZmNzEzMDYw
YjcwOWE0MTU3MWEzNDhlNTFmODUyYzVmNS4uYWRjNzYyMDdiZjcyY2Q1ZGJjNmU5MDJmM2VlNWU0
MTVmMWQyZDJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCkBAIC0yNzgsNiArMjc4LDE5IEBAIHZvaWQg
UmFuZ2U6OnNldEVuZChjb25zdCBQb3NpdGlvbiYgZW5kLCBFeGNlcHRpb25Db2RlJiBlYykKICAg
ICBzZXRFbmQocGFyZW50QW5jaG9yZWQuY29udGFpbmVyTm9kZSgpLCBwYXJlbnRBbmNob3JlZC5v
ZmZzZXRJbkNvbnRhaW5lck5vZGUoKSwgZWMpOwogfQogCitQb3NpdGlvbiBSYW5nZTo6ZW5kUG9z
aXRpb25Ob25TaGFkb3dSb290QW5jaG9yZWQoKSBjb25zdAoreworICAgIGlmICghbV9lbmQuY29u
dGFpbmVyKCktPmlzU2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm4gbV9lbmQudG9Qb3NpdGlv
bigpOworCisgICAgaWYgKCFtX2VuZC5jb250YWluZXIoKS0+aGFzQ2hpbGROb2RlcygpKQorICAg
ICAgICByZXR1cm4gUG9zaXRpb24oKTsKKworICAgIGlmIChzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
bV9lbmQub2Zmc2V0KCkpIDwgbV9lbmQuY29udGFpbmVyKCktPmNoaWxkTm9kZUNvdW50KCkpCisg
ICAgICAgIHJldHVybiBwb3NpdGlvbkJlZm9yZU5vZGUobV9lbmQuY29udGFpbmVyKCktPmNoaWxk
Tm9kZShtX2VuZC5vZmZzZXQoKSkpOworICAgIHJldHVybiBwb3NpdGlvbkFmdGVyTm9kZShtX2Vu
ZC5jb250YWluZXIoKS0+bGFzdENoaWxkKCkpOworfQorCiB2b2lkIFJhbmdlOjpjb2xsYXBzZShi
b29sIHRvU3RhcnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghbV9zdGFydC5jb250
YWluZXIoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vUmFuZ2UuaAppbmRleCBiNmJmNzcxMWQ1MThkOWU4OTU3ODI3YTlhMDcw
ZTY2MjI2NTY1NzRjLi5iYWNkNDkzZTgyNzQ0MDg0M2E5YWFmY2JiYzdiZDlmZjlkN2Y1NjUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vUmFuZ2UuaApAQCAtMTA3LDYgKzEwNyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0
YXJ0KGNvbnN0IFBvc2l0aW9uJiwgRXhjZXB0aW9uQ29kZSYgPSBBU1NFUlRfTk9fRVhDRVBUSU9O
KTsKICAgICB2b2lkIHNldEVuZChjb25zdCBQb3NpdGlvbiYsIEV4Y2VwdGlvbkNvZGUmID0gQVNT
RVJUX05PX0VYQ0VQVElPTik7CiAKKyAgICBQb3NpdGlvbiBlbmRQb3NpdGlvbk5vblNoYWRvd1Jv
b3RBbmNob3JlZCgpIGNvbnN0OworCiAgICAgTm9kZSogZmlyc3ROb2RlKCkgY29uc3Q7CiAgICAg
Tm9kZSogcGFzdExhc3ROb2RlKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0
ZXJhdG9yLmNwcAppbmRleCA3ODlhM2ZhYmI4ZTQwM2IwNjZjMTgwYTBhNWQ1MTc2YTgzMTZkNjlh
Li5hODc3MzFkMTkwMzIyM2EzOWM4ZTgyMzE1NjgzNGEwODliOTg5NzNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC0xNTEwLDYgKzE1MTAsNyBAQCBQYXNzUmVm
UHRyPFJhbmdlPiBCYWNrd2FyZHNDaGFyYWN0ZXJJdGVyYXRvcjo6cmFuZ2UoKSBjb25zdAogICAg
ICAgICAgICAgQVNTRVJUKCFlYyk7CiAgICAgICAgIH0KICAgICB9CisKICAgICByZXR1cm4gci5y
ZWxlYXNlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJs
ZV91bml0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCmlu
ZGV4IGIwZmI5MjVmYjQ0NDRkZDRhZTRjMWFlMGE4ZTI1NTQ2ZmYwZWE0NjUuLjAyMzcyMTk4YjE3
ODU2ZmI4N2FhNGM3Y2RhYTAxYzdjNDkwYWI2YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92
aXNpYmxlX3VuaXRzLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgInZpc2libGVfdW5pdHMuaCIKIAorI2luY2x1ZGUgIkNvbnRleHRGZWF0dXJlcy5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgpAQCAtNTIwLDggKzUyMSwxNSBAQCBzdGF0aWMgVmlzaWJsZVBvc2l0aW9u
IHByZXZpb3VzQm91bmRhcnkoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjLCBCb3VuZGFyeVNlYXJj
aAogICAgIC8vIFVzZSB0aGUgY2hhcmFjdGVyIGl0ZXJhdG9yIHRvIHRyYW5zbGF0ZSB0aGUgbmV4
dCB2YWx1ZSBpbnRvIGEgRE9NIHBvc2l0aW9uLgogICAgIEJhY2t3YXJkc0NoYXJhY3Rlckl0ZXJh
dG9yIGNoYXJJdChzZWFyY2hSYW5nZS5nZXQoKSk7CiAgICAgY2hhckl0LmFkdmFuY2Uoc3RyaW5n
LnNpemUoKSAtIHN1ZmZpeExlbmd0aCAtIG5leHQpOworCisgICAgLy8gRklYTUU6IGNoYXJJdC5y
YW5nZSgpLT5lbmRQb3NpdGlvbigpIHdpbGwgaGl0IEFTU0VSVCBpbiB0aGUgY29uc3RydWN0b3Ig
b2YgUG9zaXRpb24gaWYgYSBTaGFkb3dSb290IGlzCisgICAgLy8gYW5jaG9yZWQgYW5kIFNoYWRv
d0RPTSBpcyBub3QgZW5hYmxlZC4gV2UgaGF2ZSB0byBlbmFibGUgU2hhZG93RE9NLCBvciBhdm9p
ZCBTaGFkb3dSb290IGFuY2hvcmVkIFBvc2l0aW9uLgorI2lmIEVOQUJMRShTSEFET1dfRE9NKQor
ICAgIGlmIChDb250ZXh0RmVhdHVyZXM6OnNoYWRvd0RPTUVuYWJsZWQoZCkpCisgICAgICAgIHJl
dHVybiBWaXNpYmxlUG9zaXRpb24oY2hhckl0LnJhbmdlKCktPmVuZFBvc2l0aW9uKCksIERPV05T
VFJFQU0pOworI2VuZGlmCiAgICAgLy8gRklYTUU6IGNoYXJJdCBjYW4gZ2V0IG91dCBvZiBzaGFk
b3cgaG9zdC4KLSAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGNoYXJJdC5yYW5nZSgpLT5lbmRQ
b3NpdGlvbigpLCBET1dOU1RSRUFNKTsKKyAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGNoYXJJ
dC5yYW5nZSgpLT5lbmRQb3NpdGlvbk5vblNoYWRvd1Jvb3RBbmNob3JlZCgpLCBET1dOU1RSRUFN
KTsKIH0KIAogc3RhdGljIFZpc2libGVQb3NpdGlvbiBuZXh0Qm91bmRhcnkoY29uc3QgVmlzaWJs
ZVBvc2l0aW9uJiBjLCBCb3VuZGFyeVNlYXJjaEZ1bmN0aW9uIHNlYXJjaEZ1bmN0aW9uKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKaW5kZXggYTQyYWE3ODMx
ZjA3YzU2N2U0NTBiM2YzYjdkODU3Yzc1YThiZTE2Yy4uMTI5NzI0ZDdlNzU1NGM3Mjc2NDEzNWM3
M2UxM2Y2N2MyMjJiYmU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVs
ZW1lbnQuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRm9ybUNvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJGb3JtRGF0YUxpc3QuaCIKICNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUg
IkhUTUxDb250ZW50RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUg
IkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbE11bHRpTGlu
ZS5oIgpAQCAtNzIsNiArNzMsNyBAQCBIVE1MVGV4dEFyZWFFbGVtZW50OjpIVE1MVGV4dEFyZWFF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KgogICAgICwgbV9y
b3dzKGRlZmF1bHRSb3dzKQogICAgICwgbV9jb2xzKGRlZmF1bHRDb2xzKQogICAgICwgbV93cmFw
KFNvZnRXcmFwKQorICAgICwgbV9pbm5lckVsZW1lbnQoMCkKICAgICAsIG1fcGxhY2Vob2xkZXIo
MCkKICAgICAsIG1faXNEaXJ0eShmYWxzZSkKICAgICAsIG1fd2FzTW9kaWZpZWRCeVVzZXIoZmFs
c2UpCkBAIC05MSw3ICs5MywxMCBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmNyZWF0ZVNo
YWRvd1N1YnRyZWUoKQogewogICAgIEFTU0VSVCghc2hhZG93KCkpOwogICAgIFJlZlB0cjxTaGFk
b3dSb290PiByb290ID0gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OlVzZXJB
Z2VudFNoYWRvd1Jvb3QpOwotICAgIHJvb3QtPmFwcGVuZENoaWxkKFRleHRDb250cm9sSW5uZXJU
ZXh0RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkpLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAg
ICBSZWZQdHI8VGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50PiBpbm5lciA9IFRleHRDb250cm9s
SW5uZXJUZXh0RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkpOworICAgIHJvb3QtPmFwcGVuZENo
aWxkKGlubmVyLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKworICAgIG1faW5uZXJFbGVtZW50ID0g
aW5uZXIuZ2V0KCk7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgSFRNTFRleHRBcmVhRWxlbWVu
dDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKQEAgLTMwMCw5ICszMDUsNyBAQCBTdHJpbmcgSFRN
TFRleHRBcmVhRWxlbWVudDo6c2FuaXRpemVVc2VySW5wdXRWYWx1ZShjb25zdCBTdHJpbmcmIHBy
b3Bvc2VkVmFsdWUsCiAKIEhUTUxFbGVtZW50KiBIVE1MVGV4dEFyZWFFbGVtZW50Ojppbm5lclRl
eHRFbGVtZW50KCkgY29uc3QKIHsKLSAgICBOb2RlKiBub2RlID0gdXNlckFnZW50U2hhZG93Um9v
dCgpLT5maXJzdENoaWxkKCk7Ci0gICAgQVNTRVJUKCFub2RlIHx8IG5vZGUtPmhhc1RhZ05hbWUo
ZGl2VGFnKSk7Ci0gICAgcmV0dXJuIHRvSFRNTEVsZW1lbnQobm9kZSk7CisgICAgcmV0dXJuIG1f
aW5uZXJFbGVtZW50OwogfQogCiB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnJlbmRlcmVyV2ls
bEJlRGVzdHJveWVkKCkKQEAgLTQ5OSwxMiArNTAyLDYgQEAgSFRNTEVsZW1lbnQqIEhUTUxUZXh0
QXJlYUVsZW1lbnQ6OnBsYWNlaG9sZGVyRWxlbWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGxh
Y2Vob2xkZXI7CiB9CiAKLXZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6YXR0YWNoKCkKLXsKLSAg
ICBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6YXR0YWNoKCk7Ci0gICAgZml4UGxhY2Vob2xk
ZXJSZW5kZXJlcihtX3BsYWNlaG9sZGVyLCBpbm5lclRleHRFbGVtZW50KCkpOwotfQotCiB2b2lk
IEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnVwZGF0ZVBsYWNlaG9sZGVyVGV4dCgpCiB7CiAgICAgRXhj
ZXB0aW9uQ29kZSBlYyA9IDA7CkBAIC01MjEsMTIgKzUxOCwxMSBAQCB2b2lkIEhUTUxUZXh0QXJl
YUVsZW1lbnQ6OnVwZGF0ZVBsYWNlaG9sZGVyVGV4dCgpCiAgICAgICAgIFJlZlB0cjxIVE1MRGl2
RWxlbWVudD4gcGxhY2Vob2xkZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkp
OwogICAgICAgICBtX3BsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXIuZ2V0KCk7CiAgICAgICAgIG1f
cGxhY2Vob2xkZXItPnNldFNoYWRvd1BzZXVkb0lkKCItd2Via2l0LWlucHV0LXBsYWNlaG9sZGVy
Iik7Ci0gICAgICAgIHVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+aW5zZXJ0QmVmb3JlKG1fcGxhY2Vo
b2xkZXIsIGlubmVyVGV4dEVsZW1lbnQoKS0+bmV4dFNpYmxpbmcoKSwgZWMpOworICAgICAgICB1
c2VyQWdlbnRTaGFkb3dSb290KCktPmluc2VydEJlZm9yZShtX3BsYWNlaG9sZGVyLCBpbm5lclRl
eHRFbGVtZW50KCksIGVjKTsKICAgICAgICAgQVNTRVJUKCFlYyk7CiAgICAgfQogICAgIG1fcGxh
Y2Vob2xkZXItPnNldElubmVyVGV4dChwbGFjZWhvbGRlclRleHQsIGVjKTsKICAgICBBU1NFUlQo
IWVjKTsKLSAgICBmaXhQbGFjZWhvbGRlclJlbmRlcmVyKG1fcGxhY2Vob2xkZXIsIGlubmVyVGV4
dEVsZW1lbnQoKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVt
ZW50LmgKaW5kZXggYWU0Njc4ZGEzZDU5MDNmYzgxN2M2YjIyZjNjY2I4NjRiYWE4MjZmOS4uMzkz
Y2UxMTcxYzdmMDhlZWU2MWMwMWY0YzZlYmRjN2IzMjIzZDk3NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmgKQEAgLTExMCw3ICsxMTAsNiBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgdm9pZCBhY2Nlc3NLZXlBY3Rpb24oYm9vbCBzZW5kTW91c2VFdmVudHMpOwog
CiAgICAgdmlydHVhbCBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCk7Ci0gICAgdmlydHVhbCB2
b2lkIGF0dGFjaCgpIE9WRVJSSURFOwogCiAgICAgYm9vbCB2YWx1ZU1pc3NpbmcoY29uc3QgU3Ry
aW5nJiB2YWx1ZSkgY29uc3QgeyByZXR1cm4gaXNSZXF1aXJlZEZvcm1Db250cm9sKCkgJiYgIWRp
c2FibGVkKCkgJiYgIXJlYWRPbmx5KCkgJiYgdmFsdWUuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCB0
b29Mb25nKGNvbnN0IFN0cmluZyYsIE5lZWRzVG9DaGVja0RpcnR5RmxhZykgY29uc3Q7CkBAIC0x
MTgsNiArMTE3LDcgQEAgcHJpdmF0ZToKICAgICBpbnQgbV9yb3dzOwogICAgIGludCBtX2NvbHM7
CiAgICAgV3JhcE1ldGhvZCBtX3dyYXA7CisgICAgSFRNTEVsZW1lbnQqIG1faW5uZXJFbGVtZW50
OwogICAgIEhUTUxFbGVtZW50KiBtX3BsYWNlaG9sZGVyOwogICAgIG11dGFibGUgU3RyaW5nIG1f
dmFsdWU7CiAgICAgbXV0YWJsZSBib29sIG1faXNEaXJ0eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAKaW5kZXggMmVjNWYwOWIxZmZj
NTVlMTc1NTRlYjFjMmYwNjk1MzRkNmIzZmM1NS4uOTU5NjQ1YWE3Y2MyZTkyZDliMDNkNGMzZjk4
MzNiMTc2M2MxZTJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTE2NiwyMyArMTY2LDYgQEAgdm9pZCBIVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudDo6dXBkYXRlUGxhY2Vob2xkZXJWaXNpYmlsaXR5KGJvb2wgcGxhY2Vo
b2xkZXJWYWwKICAgICBBU1NFUlQoIWVjKTsKIH0KIAotdm9pZCBIVE1MVGV4dEZvcm1Db250cm9s
RWxlbWVudDo6Zml4UGxhY2Vob2xkZXJSZW5kZXJlcihIVE1MRWxlbWVudCogcGxhY2Vob2xkZXIs
IEhUTUxFbGVtZW50KiBzaWJsaW5nRWxlbWVudCkKLXsKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IGNoYW5nZSB0aGUgb3JkZXIgb2YgRE9NIG5vZGVzLiBCdXQgaXQgbWFrZXMgYW4gYXNzZXJ0aW9u
Ci0gICAgLy8gZmFpbHVyZSBpbiBlZGl0aW5nIGNvZGUuCi0gICAgaWYgKCFwbGFjZWhvbGRlciB8
fCAhcGxhY2Vob2xkZXItPnJlbmRlcmVyKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBSZW5kZXJP
YmplY3QqIHBsYWNlaG9sZGVyUmVuZGVyZXIgPSBwbGFjZWhvbGRlci0+cmVuZGVyZXIoKTsKLSAg
ICBSZW5kZXJPYmplY3QqIHNpYmxpbmdSZW5kZXJlciA9IHNpYmxpbmdFbGVtZW50LT5yZW5kZXJl
cigpOwotICAgIEFTU0VSVChzaWJsaW5nUmVuZGVyZXIpOwotICAgIGlmIChwbGFjZWhvbGRlclJl
bmRlcmVyLT5uZXh0U2libGluZygpID09IHNpYmxpbmdSZW5kZXJlcikKLSAgICAgICAgcmV0dXJu
OwotICAgIFJlbmRlck9iamVjdCogcGFyZW50UmVuZGVyZXIgPSBwbGFjZWhvbGRlclJlbmRlcmVy
LT5wYXJlbnQoKTsKLSAgICBBU1NFUlQocGFyZW50UmVuZGVyZXIgPT0gc2libGluZ1JlbmRlcmVy
LT5wYXJlbnQoKSk7Ci0gICAgcGFyZW50UmVuZGVyZXItPnJlbW92ZUNoaWxkKHBsYWNlaG9sZGVy
UmVuZGVyZXIpOwotICAgIHBhcmVudFJlbmRlcmVyLT5hZGRDaGlsZChwbGFjZWhvbGRlclJlbmRl
cmVyLCBzaWJsaW5nUmVuZGVyZXIpOwotfQotCiBSZW5kZXJUZXh0Q29udHJvbCogSFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQ6OnRleHRSZW5kZXJlckFmdGVyVXBkYXRlTGF5b3V0KCkKIHsKICAg
ICBpZiAoIWlzVGV4dEZvcm1Db250cm9sKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKaW5kZXggOGViZTY2YWM2MWNlYTI3YzM1ZmE0MWZi
NDI2OTY1OGQ4M2M5YWI4My4uM2ZlZTNjNGY1NmQ5OTcyMzQxZDBiMjhkZGNjMDJmMDI0MjBkNWE1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQuaApAQCAtNTQsNyArNTQsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBwbGFjZWhvbGRlclNob3Vs
ZEJlVmlzaWJsZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIHBsYWNlaG9sZGVy
RWxlbWVudCgpIGNvbnN0ID0gMDsKICAgICB2b2lkIHVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0
eShib29sKTsKLSAgICBzdGF0aWMgdm9pZCBmaXhQbGFjZWhvbGRlclJlbmRlcmVyKEhUTUxFbGVt
ZW50KiBwbGFjZWhvbGRlciwgSFRNTEVsZW1lbnQqIHNpYmxpbmdFbGVtZW50KTsKIAogICAgIGlu
dCBpbmRleEZvclZpc2libGVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mKSBjb25zdDsK
ICAgICBpbnQgc2VsZWN0aW9uU3RhcnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4
dEZpZWxkSW5wdXRUeXBlLmNwcAppbmRleCA2OTIxMjFlNWNjNGEwYzA5MGZjMmVjZWU1ZWYzNWY1
NGMyYzZlYWNmLi4xZGM2NmUwOGFkNjFjMWIzN2Y3YzA2NDUwNTYyNTI4MzM5ZmI0M2IwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCkBAIC00MTAsMTggKzQx
MCwxNiBAQCB2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6dXBkYXRlUGxhY2Vob2xkZXJUZXh0KCkK
ICAgICBpZiAoIW1fcGxhY2Vob2xkZXIpIHsKICAgICAgICAgbV9wbGFjZWhvbGRlciA9IEhUTUxE
aXZFbGVtZW50OjpjcmVhdGUoZWxlbWVudCgpLT5kb2N1bWVudCgpKTsKICAgICAgICAgbV9wbGFj
ZWhvbGRlci0+c2V0U2hhZG93UHNldWRvSWQoIi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIiKTsK
LSAgICAgICAgZWxlbWVudCgpLT51c2VyQWdlbnRTaGFkb3dSb290KCktPmluc2VydEJlZm9yZSht
X3BsYWNlaG9sZGVyLCBtX2NvbnRhaW5lciA/IG1fY29udGFpbmVyLT5uZXh0U2libGluZygpIDog
aW5uZXJUZXh0RWxlbWVudCgpLT5uZXh0U2libGluZygpLCBlYyk7CisgICAgICAgIGVsZW1lbnQo
KS0+dXNlckFnZW50U2hhZG93Um9vdCgpLT5pbnNlcnRCZWZvcmUobV9wbGFjZWhvbGRlciwgbV9j
b250YWluZXIgPyBtX2NvbnRhaW5lci5nZXQoKSA6IGlubmVyVGV4dEVsZW1lbnQoKSwgZWMpOwog
ICAgICAgICBBU1NFUlQoIWVjKTsKICAgICB9CiAgICAgbV9wbGFjZWhvbGRlci0+c2V0SW5uZXJU
ZXh0KHBsYWNlaG9sZGVyVGV4dCwgZWMpOwogICAgIEFTU0VSVCghZWMpOwotICAgIGVsZW1lbnQo
KS0+Zml4UGxhY2Vob2xkZXJSZW5kZXJlcihtX3BsYWNlaG9sZGVyLmdldCgpLCBtX2NvbnRhaW5l
ciA/IG1fY29udGFpbmVyLmdldCgpIDogbV9pbm5lclRleHQuZ2V0KCkpOwogfQogCiB2b2lkIFRl
eHRGaWVsZElucHV0VHlwZTo6YXR0YWNoKCkKIHsKICAgICBJbnB1dFR5cGU6OmF0dGFjaCgpOwot
ICAgIGVsZW1lbnQoKS0+Zml4UGxhY2Vob2xkZXJSZW5kZXJlcihtX3BsYWNlaG9sZGVyLmdldCgp
LCBtX2NvbnRhaW5lciA/IG1fY29udGFpbmVyLmdldCgpIDogbV9pbm5lclRleHQuZ2V0KCkpOwog
fQogCiBib29sIFRleHRGaWVsZElucHV0VHlwZTo6YXBwZW5kRm9ybURhdGEoRm9ybURhdGFMaXN0
JiBsaXN0LCBib29sIG11bHRpcGFydCkgY29uc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9pbnB1dC1wbGFjZWhvbGRlci1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQtcGxhY2Vob2xkZXItY3Jhc2gtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjRlYzIzZDcyMDFkZDlmZjcxYzQ3Zjc5MDAwYzVhYTAyM2QyNmQyNzAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQtcGxh
Y2Vob2xkZXItY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorV2hlbiByZW1vdmlu
ZyBhbGwgdGV4dCBpbiBpbnB1dCBoYXZpbmcgcGxhY2Vob2xkZXIsIGEgY3Jhc2ggc2hvdWxkIG5v
dCBoYXBwZW4uCisKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9pbnB1dC1wbGFjZWhvbGRlci1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2lucHV0LXBsYWNlaG9sZGVyLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzI5ZTgxNDFhZDM4
NGFmMmE5ZDYwN2I4ODUzMzI4NDQ0NDM1NjJkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnB1dC1wbGFjZWhvbGRlci1jcmFzaC5odG1sCkBAIC0wLDAg
KzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxib2R5PgorCis8cD5XaGVuIHJl
bW92aW5nIGFsbCB0ZXh0IGluIGlucHV0IGhhdmluZyBwbGFjZWhvbGRlciwgYSBjcmFzaCBzaG91
bGQgbm90IGhhcHBlbi48L3A+Cis8ZGl2IGlkPSJ3cmFwcGVyIiBjb250ZW50ZWRpdGFibGU+Cisg
ICA8aW5wdXQgaWQ9Imhvc3QiIHBsYWNlaG9sZGVyPSJwbGFjZWhvbGRlciIgdmFsdWU9ImEiIGF1
dG9mb2N1cyAvPgorPC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKK2ludGVybmFscy5zZXR0aW5ncy5zZXRTaGFk
b3dET01FbmFibGVkKGZhbHNlKTsKKworZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oaG9zdC5vZmZz
ZXRMZWZ0ICsgMzAsIGhvc3Qub2Zmc2V0VG9wICsgNCk7CitldmVudFNlbmRlci5tb3VzZURvd24o
KTsKK2V2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKworZXZlbnRTZW5kZXIua2V5RG93bignZGVsZXRl
Jyk7CisKK3dyYXBwZXIuaW5uZXJIVE1MID0gIlBBU1MiOworPC9zY3JpcHQ+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9m
YXN0L2Zvcm1zL2lucHV0LXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy9pbnB1dC1wbGFjZWhv
bGRlci12aXNpYmlsaXR5LTEtZXhwZWN0ZWQudHh0CmluZGV4IDcxMDNjMzFjNGE0ZWRiNDVjMTg5
OWNiM2Y0YjU5MmQ4YTc2YzE5NjYuLmVlOWQ2ZGY4ZmYwMDk2NDYwNTc4NjBhMjhmYTViYjBmMTZl
MTlmZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0
L2Zvcm1zL2lucHV0LXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9ybXMvaW5wdXQtcGxhY2Vo
b2xkZXItdmlzaWJpbGl0eS0xLWV4cGVjdGVkLnR4dApAQCAtMTYsNCArMTYsNCBAQCBsYXllciBh
dCAoMTIsNDkpIHNpemUgMTQ5eDE2CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2ODog
IlBsYWNlaG9sZGVyIgogbGF5ZXIgYXQgKDEyLDQ5KSBzaXplIDE0OXgxNgogICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMiwzKSBzaXplIDE0OXgxNgotY2FyZXQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQg
MCB7RElWfSBvZiB7I3NoYWRvdy1yb290fSBvZiBjaGlsZCAxIHtJTlBVVH0gb2YgY2hpbGQgMyB7
RElWfSBvZiBib2R5CitjYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAxIHtESVZ9IG9mIHsjc2hh
ZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBvZiBjaGlsZCAzIHtESVZ9IG9mIGJvZHkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Zvcm1zL2lu
cHV0LXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy9pbnB1dC1wbGFjZWhvbGRlci12aXNpYmls
aXR5LTMtZXhwZWN0ZWQudHh0CmluZGV4IGMxNTdjZDBiZjdkMDMzMTUwYzg5MzdmY2Q1MGVhMWM2
MTM2NDdjNGQuLjY1MGY4YWNjODQxN2ZjYzBiZDA3ZmU4OGYzNmViZDM4NTQyZDI3NTYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Zvcm1zL2lucHV0
LXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9ybXMvaW5wdXQtcGxhY2Vob2xkZXItdmlzaWJp
bGl0eS0zLWV4cGVjdGVkLnR4dApAQCAtMTcsNCArMTcsNCBAQCBsYXllciBhdCAoMTIsNDkpIHNp
emUgMTQ5eDE2CiBsYXllciBhdCAoMTIsNDkpIHNpemUgMTQ5eDE2CiAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgyLDMpIHNpemUgMTQ5eDE2CiAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwwKSBzaXpl
IDB4MTYKLWNhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAge0JSfSBvZiBjaGlsZCAwIHtESVZ9
IG9mIHsjc2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBvZiBjaGlsZCAzIHtESVZ9IG9m
IGJvZHkKK2NhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAge0JSfSBvZiBjaGlsZCAxIHtESVZ9
IG9mIHsjc2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBvZiBjaGlsZCAzIHtESVZ9IG9m
IGJvZHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0
L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFj
ZWhvbGRlci12aXNpYmlsaXR5LTEtZXhwZWN0ZWQudHh0CmluZGV4IDFlOTlmZTRlNzNmNWUzYjc0
YTYzOTEwYjlhM2M4ZThmZWY2NWQ0YTkuLmVkYjkzZGFhYmU2NDdiOTNiYzg4NDIxZTRjYTU5Mjli
OGYwMGY4NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9m
YXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9ybXMvdGV4dGFy
ZWEtcGxhY2Vob2xkZXItdmlzaWJpbGl0eS0xLWV4cGVjdGVkLnR4dApAQCAtMTYsNCArMTYsNCBA
QCBsYXllciBhdCAoMTAsNDYpIHNpemUgMTc5eDM2IGNsaXAgYXQgKDExLDQ3KSBzaXplIDE3N3gz
NAogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4ODogIlBsYWNlaG9sZGVyIgogICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTc1eDE2CiAgICAgICBSZW5kZXJCUiB7
QlJ9IGF0ICgwLDApIHNpemUgMHgxNgotY2FyZXQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7QlJ9
IG9mIGNoaWxkIDAge0RJVn0gb2YgeyNzaGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7VEVYVEFSRUF9
IG9mIGNoaWxkIDMge0RJVn0gb2YgYm9keQorY2FyZXQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7
QlJ9IG9mIGNoaWxkIDEge0RJVn0gb2YgeyNzaGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7VEVYVEFS
RUF9IG9mIGNoaWxkIDMge0RJVn0gb2YgYm9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItdmlzaWJp
bGl0eS0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9m
YXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMi1leHBlY3RlZC50eHQK
aW5kZXggMThhZTRiNmNlMjU1YmM5ZDNjMDNkM2ZlZTc4MDFmYjIyYTk1NDY3OS4uOWU4M2I4ZjM4
Y2E1ZmZkODE1MTMwNDI0MjEyMjg0NTFkNzI5Y2NjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItdmlz
aWJpbGl0eS0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS13aW4vZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci12aXNpYmlsaXR5LTItZXhwZWN0
ZWQudHh0CkBAIC0xNSw0ICsxNSw0IEBAIGxheWVyIGF0ICgxMCw0Nikgc2l6ZSAxNzl4MzYgY2xp
cCBhdCAoMTEsNDcpIHNpemUgMTc3eDM0CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSA4OHgxNgogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4ODogIlBsYWNl
aG9sZGVyIgogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTc1eDE2Ci1jYXJl
dDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHtESVZ9IG9mIHsjc2hhZG93LXJvb3R9IG9mIGNoaWxk
IDEge1RFWFRBUkVBfSBvZiBjaGlsZCAzIHtESVZ9IG9mIGJvZHkKK2NhcmV0OiBwb3NpdGlvbiAw
IG9mIGNoaWxkIDEge0RJVn0gb2YgeyNzaGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7VEVYVEFSRUF9
IG9mIGNoaWxkIDMge0RJVn0gb2YgYm9keQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162395</attachid>
            <date>2012-09-05 19:11:38 -0700</date>
            <delta_ts>2012-09-05 19:18:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95714-20120906111119.patch</filename>
            <type>text/plain</type>
            <size>19284</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTRmMDViY2FkYTY3NGFh
YmJkMzA1NTYzMmMwOGQwNjZiNmIyYWNmOC4uMDg4YTU0ODZhMmE2MTEzNzQ2ZWVmMjhkY2I0ZGJk
NTFmNTQ2ZjVlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTA5LTA1ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgZml4
UGxhY2Vob2xkZXJSZW5kZXJlciBoYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NTcxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRvIHJlbmRlciBhIGN1cnNvciBpbiB0aGUgZnJvbnQgb2YgcGxhY2Vo
b2xkZXIsIHdlIGhhdmUgdXNlZCBmaXhQbGFjZWhvbGRlclJlbmRlcmVyIGhhY2sKKyAgICAgICAg
d2hpY2ggY2hhbmdlcyB0aGUgb3JkZXIgb2YgcmVuZGVyZXIuIFNpbmNlIHRoaXMgaXMgbm90IGEg
c3RhbmRhcmQgd2F5LCBpdCB3aWxsIGNhdXNlIHZhcmlvdXMKKyAgICAgICAgZXJyb3JzIHdoZW4g
d2Ugc3VwcG9ydCBBdXRob3JTaGFkb3dET00gZm9yIGVsZW1lbnRzIGhhdmluZyBhIHBsYWNlaG9s
ZGVyLgorCisgICAgICAgIFRoZSBzdGFuZGFyZCB3YXkgc2hvdWxkIGJlIHRvIGNoYW5nZSB0aGUg
b3JkZXIgb2YgRE9NLiBIb3dldmVyLCBpdCB0cmlnZ2VycyBBU1NFUlQgaW4gdGhlIGNvbnN0cnVj
dG9yCisgICAgICAgIG9mIFBvc2l0aW9uLCBzaW5jZSBTaGFkb3dSb290IGlzIHVzZWQgYXMgYW5j
aG9yLiBNYWtpbmcgUG9zaXRpb24gU2hhZG93Um9vdC1hbmNob3JlZCBpcyBhbGxvd2VkCisgICAg
ICAgIG9ubHkgd2hlbiBBdXRob3JTaGFkb3dET00gaXMgZW5hYmxlZC4KKworICAgICAgICBJbiB0
aGlzIHBhdGNoLCB3ZSByZW1vdmUgZml4UGxhY2Vob2xkZXJSZW5kZXJlciBoYWNrIGFuZCB0d2Vh
ayBlZGl0aW5nIGNvZGUgbm90IHRvIHJldHVybiBTaGFkb3dSb290LWFuY2hvcmVkCisgICAgICAg
IFBvc2l0aW9uLCB0aG91Z2ggd2UgYWxsb3cgU2hhZG93Um9vdC1hbmNob3JlZCBwb3NpdGlvbiB3
aGVuIEF1dGhvclNoYWRvd1Jvb3QgaXMgZW5hYmxlZC4KKyAgICAgICAgU28gd2UgdHdlYWsgYSBj
b2RlIHRvIGhhdmUgU2hhZG93Um9vdCBhbmNob3JlZAorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9t
L3NoYWRvdy9pbnB1dC1wbGFjZWhvbGRlci1jcmFzaC5odG1sCisKKyAgICAgICAgKiBjc3MvaHRt
bC5jc3M6CisgICAgICAgICg6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIpOiBQcGxhY2Vob2xk
ZXIgc2hvdWxkIG5vdCBiZSBzZWxlY3RlZCBieSB1c2VyLgorICAgICAgICAqIGRvbS9SYW5nZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSYW5nZTo6ZW5kUG9zaXRpb25Ob25TaGFkb3dSb290QW5j
aG9yZWQpOiBDcmVhdGVzIFBvc2l0aW9uIHdoaWNoIGlzIG5vdCBTaGFkb3dSb290LWFuY2hvcmVk
LgorICAgICAgICBUaGlzIGlzIHVzZWQgb25seSB3aGVuIFNoYWRvd0RPTSBpcyBub3QgZW5hYmxl
ZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9SYW5nZS5oOgorICAgICAgICAo
UmFuZ2UpOgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJsZV91bml0cy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpwcmV2aW91c0JvdW5kYXJ5KToKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6SFRNTFRl
eHRBcmVhRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojpj
cmVhdGVTaGFkb3dTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1l
bnQ6OmlubmVyVGV4dEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxl
bWVudDo6dXBkYXRlUGxhY2Vob2xkZXJUZXh0KToKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJl
YUVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxUZXh0QXJlYUVsZW1lbnQpOgorICAgICAgICAqIGh0
bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlw
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OnVwZGF0ZVBsYWNl
aG9sZGVyVGV4dCk6CisgICAgICAgICogaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuaDoKKyAgICAg
ICAgKFRleHRGaWVsZElucHV0VHlwZSk6CisKIDIwMTItMDktMDUgIEtlbmljaGkgSXNoaWJhc2hp
ICA8YmFzaGlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZCwg
YnVpbGQgZml4IGF0dGVtcHQgYWZ0ZXIgcjEyNzY2MApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL2h0bWwuY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCmluZGV4IDYyZDE5
Y2JiN2Y0ZjNlNGJhNmYzZTgyN2NlMmM1ZGZiZGU2M2UzYTYuLjBiNjg3MDU4MDI2ZDMwNjFlN2Jm
OWI2ZDA4NzFkNGYxZmE0NTI5YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1s
LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKQEAgLTYwMiw2ICs2MDIsNyBA
QCB0ZXh0YXJlYSB7CiAKIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7CiAgICAgLXdlYmtp
dC10ZXh0LXNlY3VyaXR5OiBub25lOworICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmUgIWlt
cG9ydGFudDsKICAgICBjb2xvcjogZGFya0dyYXk7CiAgICAgZGlzcGxheTogYmxvY2sgIWltcG9y
dGFudDsKICAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5j
cHAKaW5kZXggYzRlNDM1YTZmNzEzMDYwYjcwOWE0MTU3MWEzNDhlNTFmODUyYzVmNS4uYWRjNzYy
MDdiZjcyY2Q1ZGJjNmU5MDJmM2VlNWU0MTVmMWQyZDJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1JhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCkBA
IC0yNzgsNiArMjc4LDE5IEBAIHZvaWQgUmFuZ2U6OnNldEVuZChjb25zdCBQb3NpdGlvbiYgZW5k
LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBzZXRFbmQocGFyZW50QW5jaG9yZWQuY29udGFpbmVy
Tm9kZSgpLCBwYXJlbnRBbmNob3JlZC5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKSwgZWMpOwogfQog
CitQb3NpdGlvbiBSYW5nZTo6ZW5kUG9zaXRpb25Ob25TaGFkb3dSb290QW5jaG9yZWQoKSBjb25z
dAoreworICAgIGlmICghbV9lbmQuY29udGFpbmVyKCktPmlzU2hhZG93Um9vdCgpKQorICAgICAg
ICByZXR1cm4gbV9lbmQudG9Qb3NpdGlvbigpOworCisgICAgaWYgKCFtX2VuZC5jb250YWluZXIo
KS0+aGFzQ2hpbGROb2RlcygpKQorICAgICAgICByZXR1cm4gUG9zaXRpb24oKTsKKworICAgIGlm
IChzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9lbmQub2Zmc2V0KCkpIDwgbV9lbmQuY29udGFpbmVy
KCktPmNoaWxkTm9kZUNvdW50KCkpCisgICAgICAgIHJldHVybiBwb3NpdGlvbkJlZm9yZU5vZGUo
bV9lbmQuY29udGFpbmVyKCktPmNoaWxkTm9kZShtX2VuZC5vZmZzZXQoKSkpOworICAgIHJldHVy
biBwb3NpdGlvbkFmdGVyTm9kZShtX2VuZC5jb250YWluZXIoKS0+bGFzdENoaWxkKCkpOworfQor
CiB2b2lkIFJhbmdlOjpjb2xsYXBzZShib29sIHRvU3RhcnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQog
ewogICAgIGlmICghbV9zdGFydC5jb250YWluZXIoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1JhbmdlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaAppbmRleCBiNmJm
NzcxMWQ1MThkOWU4OTU3ODI3YTlhMDcwZTY2MjI2NTY1NzRjLi5iYWNkNDkzZTgyNzQ0MDg0M2E5
YWFmY2JiYzdiZDlmZjlkN2Y1NjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFu
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaApAQCAtMTA3LDYgKzEwNyw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFN0YXJ0KGNvbnN0IFBvc2l0aW9uJiwgRXhjZXB0aW9uQ29k
ZSYgPSBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICB2b2lkIHNldEVuZChjb25zdCBQb3NpdGlv
biYsIEV4Y2VwdGlvbkNvZGUmID0gQVNTRVJUX05PX0VYQ0VQVElPTik7CiAKKyAgICBQb3NpdGlv
biBlbmRQb3NpdGlvbk5vblNoYWRvd1Jvb3RBbmNob3JlZCgpIGNvbnN0OworCiAgICAgTm9kZSog
Zmlyc3ROb2RlKCkgY29uc3Q7CiAgICAgTm9kZSogcGFzdExhc3ROb2RlKCkgY29uc3Q7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCmluZGV4IGIwZmI5MjVmYjQ0NDRk
ZDRhZTRjMWFlMGE4ZTI1NTQ2ZmYwZWE0NjUuLjIzNDhmZjM4ZDhkN2I1MmQwYjg2YWM0YmU2ZmU4
N2ZkMGYxMmI5ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91
bml0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcApA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInZpc2libGVf
dW5pdHMuaCIKIAorI2luY2x1ZGUgIkNvbnRleHRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgpAQCAt
NTIwLDggKzUyMSwxNSBAQCBzdGF0aWMgVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzQm91bmRhcnko
Y29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjLCBCb3VuZGFyeVNlYXJjaAogICAgIC8vIFVzZSB0aGUg
Y2hhcmFjdGVyIGl0ZXJhdG9yIHRvIHRyYW5zbGF0ZSB0aGUgbmV4dCB2YWx1ZSBpbnRvIGEgRE9N
IHBvc2l0aW9uLgogICAgIEJhY2t3YXJkc0NoYXJhY3Rlckl0ZXJhdG9yIGNoYXJJdChzZWFyY2hS
YW5nZS5nZXQoKSk7CiAgICAgY2hhckl0LmFkdmFuY2Uoc3RyaW5nLnNpemUoKSAtIHN1ZmZpeExl
bmd0aCAtIG5leHQpOworCisgICAgLy8gY2hhckl0LnJhbmdlKCktPmVuZFBvc2l0aW9uKCkgd2ls
bCBoaXQgQVNTRVJUIGluIHRoZSBjb25zdHJ1Y3RvciBvZiBQb3NpdGlvbiBpZiBhIFNoYWRvd1Jv
b3QgaXMKKyAgICAvLyBhbmNob3JlZCBhbmQgU2hhZG93RE9NIGlzIG5vdCBlbmFibGVkLiBXZSBo
YXZlIHRvIGVuYWJsZSBTaGFkb3dET00sIG9yIGF2b2lkIFNoYWRvd1Jvb3QgYW5jaG9yZWQgUG9z
aXRpb24uCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgaWYgKENvbnRleHRGZWF0dXJlczo6
c2hhZG93RE9NRW5hYmxlZChkKSkKKyAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihjaGFy
SXQucmFuZ2UoKS0+ZW5kUG9zaXRpb24oKSwgRE9XTlNUUkVBTSk7CisjZW5kaWYKICAgICAvLyBG
SVhNRTogY2hhckl0IGNhbiBnZXQgb3V0IG9mIHNoYWRvdyBob3N0LgotICAgIHJldHVybiBWaXNp
YmxlUG9zaXRpb24oY2hhckl0LnJhbmdlKCktPmVuZFBvc2l0aW9uKCksIERPV05TVFJFQU0pOwor
ICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oY2hhckl0LnJhbmdlKCktPmVuZFBvc2l0aW9uTm9u
U2hhZG93Um9vdEFuY2hvcmVkKCksIERPV05TVFJFQU0pOwogfQogCiBzdGF0aWMgVmlzaWJsZVBv
c2l0aW9uIG5leHRCb3VuZGFyeShjb25zdCBWaXNpYmxlUG9zaXRpb24mIGMsIEJvdW5kYXJ5U2Vh
cmNoRnVuY3Rpb24gc2VhcmNoRnVuY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50LmNwcAppbmRleCBhNDJhYTc4MzFmMDdjNTY3ZTQ1MGIzZjNiN2Q4NTdjNzVh
OGJlMTZjLi5jMDk4ZTRlZGFkYWY4ZDA0NDQ4Y2I2ZDU5ZDUyOTZiNDI4ZGQ3MDBhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKQEAgLTcyLDYgKzcyLDcg
QEAgSFRNTFRleHRBcmVhRWxlbWVudDo6SFRNTFRleHRBcmVhRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCoKICAgICAsIG1fcm93cyhkZWZhdWx0Um93cykKICAg
ICAsIG1fY29scyhkZWZhdWx0Q29scykKICAgICAsIG1fd3JhcChTb2Z0V3JhcCkKKyAgICAsIG1f
aW5uZXJFbGVtZW50KDApCiAgICAgLCBtX3BsYWNlaG9sZGVyKDApCiAgICAgLCBtX2lzRGlydHko
ZmFsc2UpCiAgICAgLCBtX3dhc01vZGlmaWVkQnlVc2VyKGZhbHNlKQpAQCAtOTEsNyArOTIsMTAg
QEAgdm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKIHsKICAg
ICBBU1NFUlQoIXNoYWRvdygpKTsKICAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9IFNoYWRv
d1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpVc2VyQWdlbnRTaGFkb3dSb290KTsKLSAg
ICByb290LT5hcHBlbmRDaGlsZChUZXh0Q29udHJvbElubmVyVGV4dEVsZW1lbnQ6OmNyZWF0ZShk
b2N1bWVudCgpKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgUmVmUHRyPFRleHRDb250cm9s
SW5uZXJUZXh0RWxlbWVudD4gaW5uZXIgPSBUZXh0Q29udHJvbElubmVyVGV4dEVsZW1lbnQ6OmNy
ZWF0ZShkb2N1bWVudCgpKTsKKyAgICByb290LT5hcHBlbmRDaGlsZChpbm5lciwgQVNTRVJUX05P
X0VYQ0VQVElPTik7CisKKyAgICBtX2lubmVyRWxlbWVudCA9IGlubmVyLmdldCgpOwogfQogCiBj
b25zdCBBdG9taWNTdHJpbmcmIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSgp
IGNvbnN0CkBAIC0zMDAsOSArMzA0LDcgQEAgU3RyaW5nIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnNh
bml0aXplVXNlcklucHV0VmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlLAogCiBIVE1M
RWxlbWVudCogSFRNTFRleHRBcmVhRWxlbWVudDo6aW5uZXJUZXh0RWxlbWVudCgpIGNvbnN0CiB7
Ci0gICAgTm9kZSogbm9kZSA9IHVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+Zmlyc3RDaGlsZCgpOwot
ICAgIEFTU0VSVCghbm9kZSB8fCBub2RlLT5oYXNUYWdOYW1lKGRpdlRhZykpOwotICAgIHJldHVy
biB0b0hUTUxFbGVtZW50KG5vZGUpOworICAgIHJldHVybiBtX2lubmVyRWxlbWVudDsKIH0KIAog
dm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50OjpyZW5kZXJlcldpbGxCZURlc3Ryb3llZCgpCkBAIC00
OTksMTIgKzUwMSw2IEBAIEhUTUxFbGVtZW50KiBIVE1MVGV4dEFyZWFFbGVtZW50OjpwbGFjZWhv
bGRlckVsZW1lbnQoKSBjb25zdAogICAgIHJldHVybiBtX3BsYWNlaG9sZGVyOwogfQogCi12b2lk
IEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmF0dGFjaCgpCi17Ci0gICAgSFRNTFRleHRGb3JtQ29udHJv
bEVsZW1lbnQ6OmF0dGFjaCgpOwotICAgIGZpeFBsYWNlaG9sZGVyUmVuZGVyZXIobV9wbGFjZWhv
bGRlciwgaW5uZXJUZXh0RWxlbWVudCgpKTsKLX0KLQogdm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50
Ojp1cGRhdGVQbGFjZWhvbGRlclRleHQoKQogewogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwpA
QCAtNTIxLDEyICs1MTcsMTEgQEAgdm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50Ojp1cGRhdGVQbGFj
ZWhvbGRlclRleHQoKQogICAgICAgICBSZWZQdHI8SFRNTERpdkVsZW1lbnQ+IHBsYWNlaG9sZGVy
ID0gSFRNTERpdkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCgpKTsKICAgICAgICAgbV9wbGFjZWhv
bGRlciA9IHBsYWNlaG9sZGVyLmdldCgpOwogICAgICAgICBtX3BsYWNlaG9sZGVyLT5zZXRTaGFk
b3dQc2V1ZG9JZCgiLXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciIpOwotICAgICAgICB1c2VyQWdl
bnRTaGFkb3dSb290KCktPmluc2VydEJlZm9yZShtX3BsYWNlaG9sZGVyLCBpbm5lclRleHRFbGVt
ZW50KCktPm5leHRTaWJsaW5nKCksIGVjKTsKKyAgICAgICAgdXNlckFnZW50U2hhZG93Um9vdCgp
LT5pbnNlcnRCZWZvcmUobV9wbGFjZWhvbGRlciwgaW5uZXJUZXh0RWxlbWVudCgpLCBlYyk7CiAg
ICAgICAgIEFTU0VSVCghZWMpOwogICAgIH0KICAgICBtX3BsYWNlaG9sZGVyLT5zZXRJbm5lclRl
eHQocGxhY2Vob2xkZXJUZXh0LCBlYyk7CiAgICAgQVNTRVJUKCFlYyk7Ci0gICAgZml4UGxhY2Vo
b2xkZXJSZW5kZXJlcihtX3BsYWNlaG9sZGVyLCBpbm5lclRleHRFbGVtZW50KCkpOwogfQogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCmluZGV4IGFlNDY3OGRh
M2Q1OTAzZmM4MTdjNmIyMmYzY2NiODY0YmFhODI2ZjkuLjM5M2NlMTE3MWM3ZjA4ZWVlNjFjMDFm
NGM2ZWJkYzdiMzIyM2Q5NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRBcmVhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxl
bWVudC5oCkBAIC0xMTAsNyArMTEwLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgYWNj
ZXNzS2V5QWN0aW9uKGJvb2wgc2VuZE1vdXNlRXZlbnRzKTsKIAogICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRVc2VJbnB1dE1ldGhvZCgpOwotICAgIHZpcnR1YWwgdm9pZCBhdHRhY2goKSBPVkVSUklE
RTsKIAogICAgIGJvb2wgdmFsdWVNaXNzaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0IHsg
cmV0dXJuIGlzUmVxdWlyZWRGb3JtQ29udHJvbCgpICYmICFkaXNhYmxlZCgpICYmICFyZWFkT25s
eSgpICYmIHZhbHVlLmlzRW1wdHkoKTsgfQogICAgIGJvb2wgdG9vTG9uZyhjb25zdCBTdHJpbmcm
LCBOZWVkc1RvQ2hlY2tEaXJ0eUZsYWcpIGNvbnN0OwpAQCAtMTE4LDYgKzExNyw3IEBAIHByaXZh
dGU6CiAgICAgaW50IG1fcm93czsKICAgICBpbnQgbV9jb2xzOwogICAgIFdyYXBNZXRob2QgbV93
cmFwOworICAgIEhUTUxFbGVtZW50KiBtX2lubmVyRWxlbWVudDsKICAgICBIVE1MRWxlbWVudCog
bV9wbGFjZWhvbGRlcjsKICAgICBtdXRhYmxlIFN0cmluZyBtX3ZhbHVlOwogICAgIG11dGFibGUg
Ym9vbCBtX2lzRGlydHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3Jt
Q29udHJvbEVsZW1lbnQuY3BwCmluZGV4IDJlYzVmMDliMWZmYzU1ZTE3NTU0ZWIxYzJmMDY5NTM0
ZDZiM2ZjNTUuLjk1OTY0NWFhN2NjMmU5MmQ5YjAzZDRjM2Y5ODMzYjE3NjNjMWUyZTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3Bw
CkBAIC0xNjYsMjMgKzE2Niw2IEBAIHZvaWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnVw
ZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eShib29sIHBsYWNlaG9sZGVyVmFsCiAgICAgQVNTRVJU
KCFlYyk7CiB9CiAKLXZvaWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmZpeFBsYWNlaG9s
ZGVyUmVuZGVyZXIoSFRNTEVsZW1lbnQqIHBsYWNlaG9sZGVyLCBIVE1MRWxlbWVudCogc2libGlu
Z0VsZW1lbnQpCi17Ci0gICAgLy8gRklYTUU6IFdlIHNob3VsZCBjaGFuZ2UgdGhlIG9yZGVyIG9m
IERPTSBub2Rlcy4gQnV0IGl0IG1ha2VzIGFuIGFzc2VydGlvbgotICAgIC8vIGZhaWx1cmUgaW4g
ZWRpdGluZyBjb2RlLgotICAgIGlmICghcGxhY2Vob2xkZXIgfHwgIXBsYWNlaG9sZGVyLT5yZW5k
ZXJlcigpKQotICAgICAgICByZXR1cm47Ci0gICAgUmVuZGVyT2JqZWN0KiBwbGFjZWhvbGRlclJl
bmRlcmVyID0gcGxhY2Vob2xkZXItPnJlbmRlcmVyKCk7Ci0gICAgUmVuZGVyT2JqZWN0KiBzaWJs
aW5nUmVuZGVyZXIgPSBzaWJsaW5nRWxlbWVudC0+cmVuZGVyZXIoKTsKLSAgICBBU1NFUlQoc2li
bGluZ1JlbmRlcmVyKTsKLSAgICBpZiAocGxhY2Vob2xkZXJSZW5kZXJlci0+bmV4dFNpYmxpbmco
KSA9PSBzaWJsaW5nUmVuZGVyZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBSZW5kZXJPYmplY3Qq
IHBhcmVudFJlbmRlcmVyID0gcGxhY2Vob2xkZXJSZW5kZXJlci0+cGFyZW50KCk7Ci0gICAgQVNT
RVJUKHBhcmVudFJlbmRlcmVyID09IHNpYmxpbmdSZW5kZXJlci0+cGFyZW50KCkpOwotICAgIHBh
cmVudFJlbmRlcmVyLT5yZW1vdmVDaGlsZChwbGFjZWhvbGRlclJlbmRlcmVyKTsKLSAgICBwYXJl
bnRSZW5kZXJlci0+YWRkQ2hpbGQocGxhY2Vob2xkZXJSZW5kZXJlciwgc2libGluZ1JlbmRlcmVy
KTsKLX0KLQogUmVuZGVyVGV4dENvbnRyb2wqIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Ojp0
ZXh0UmVuZGVyZXJBZnRlclVwZGF0ZUxheW91dCgpCiB7CiAgICAgaWYgKCFpc1RleHRGb3JtQ29u
dHJvbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250
cm9sRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudC5oCmluZGV4IDhlYmU2NmFjNjFjZWEyN2MzNWZhNDFmYjQyNjk2NThkODNjOWFiODMuLjNm
ZWUzYzRmNTZkOTk3MjM0MWQwYjI4ZGRjYzAyZjAyNDIwZDVhNTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKQEAgLTU0LDcgKzU0LDYg
QEAgcHVibGljOgogICAgIGJvb2wgcGxhY2Vob2xkZXJTaG91bGRCZVZpc2libGUoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIEhUTUxFbGVtZW50KiBwbGFjZWhvbGRlckVsZW1lbnQoKSBjb25zdCA9IDA7
CiAgICAgdm9pZCB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoYm9vbCk7Ci0gICAgc3RhdGlj
IHZvaWQgZml4UGxhY2Vob2xkZXJSZW5kZXJlcihIVE1MRWxlbWVudCogcGxhY2Vob2xkZXIsIEhU
TUxFbGVtZW50KiBzaWJsaW5nRWxlbWVudCk7CiAKICAgICBpbnQgaW5kZXhGb3JWaXNpYmxlUG9z
aXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJikgY29uc3Q7CiAgICAgaW50IHNlbGVjdGlvblN0
YXJ0KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElu
cHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAK
aW5kZXggNjkyMTIxZTVjYzRhMGMwOTBmYzJlY2VlNWVmMzVmNTRjMmM2ZWFjZi4uNDRlMGI3Mjdm
YTRkNzVmN2YyZWExODRkMDY4MzA2MGUzMzk1NTQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
VGV4dEZpZWxkSW5wdXRUeXBlLmNwcApAQCAtNDEwLDE4ICs0MTAsMTEgQEAgdm9pZCBUZXh0Rmll
bGRJbnB1dFR5cGU6OnVwZGF0ZVBsYWNlaG9sZGVyVGV4dCgpCiAgICAgaWYgKCFtX3BsYWNlaG9s
ZGVyKSB7CiAgICAgICAgIG1fcGxhY2Vob2xkZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGVs
ZW1lbnQoKS0+ZG9jdW1lbnQoKSk7CiAgICAgICAgIG1fcGxhY2Vob2xkZXItPnNldFNoYWRvd1Bz
ZXVkb0lkKCItd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIik7Ci0gICAgICAgIGVsZW1lbnQoKS0+
dXNlckFnZW50U2hhZG93Um9vdCgpLT5pbnNlcnRCZWZvcmUobV9wbGFjZWhvbGRlciwgbV9jb250
YWluZXIgPyBtX2NvbnRhaW5lci0+bmV4dFNpYmxpbmcoKSA6IGlubmVyVGV4dEVsZW1lbnQoKS0+
bmV4dFNpYmxpbmcoKSwgZWMpOworICAgICAgICBlbGVtZW50KCktPnVzZXJBZ2VudFNoYWRvd1Jv
b3QoKS0+aW5zZXJ0QmVmb3JlKG1fcGxhY2Vob2xkZXIsIG1fY29udGFpbmVyID8gbV9jb250YWlu
ZXIuZ2V0KCkgOiBpbm5lclRleHRFbGVtZW50KCksIGVjKTsKICAgICAgICAgQVNTRVJUKCFlYyk7
CiAgICAgfQogICAgIG1fcGxhY2Vob2xkZXItPnNldElubmVyVGV4dChwbGFjZWhvbGRlclRleHQs
IGVjKTsKICAgICBBU1NFUlQoIWVjKTsKLSAgICBlbGVtZW50KCktPmZpeFBsYWNlaG9sZGVyUmVu
ZGVyZXIobV9wbGFjZWhvbGRlci5nZXQoKSwgbV9jb250YWluZXIgPyBtX2NvbnRhaW5lci5nZXQo
KSA6IG1faW5uZXJUZXh0LmdldCgpKTsKLX0KLQotdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OmF0
dGFjaCgpCi17Ci0gICAgSW5wdXRUeXBlOjphdHRhY2goKTsKLSAgICBlbGVtZW50KCktPmZpeFBs
YWNlaG9sZGVyUmVuZGVyZXIobV9wbGFjZWhvbGRlci5nZXQoKSwgbV9jb250YWluZXIgPyBtX2Nv
bnRhaW5lci5nZXQoKSA6IG1faW5uZXJUZXh0LmdldCgpKTsKIH0KIAogYm9vbCBUZXh0RmllbGRJ
bnB1dFR5cGU6OmFwcGVuZEZvcm1EYXRhKEZvcm1EYXRhTGlzdCYgbGlzdCwgYm9vbCBtdWx0aXBh
cnQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0
VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuaAppbmRleCBh
NjkzY2ZlZmJjOGIzYmM4NTRlZWE1NGY4NDdmNjU0MTJlNDNlODc0Li4xMTlkNTc5NTVkNzFkY2Mz
NWRhMDAzOTUxY2VlN2Q4MzJhNmRiYTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RleHRGaWVsZElucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxk
SW5wdXRUeXBlLmgKQEAgLTgzLDcgKzgzLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIEhUTUxF
bGVtZW50KiBwbGFjZWhvbGRlckVsZW1lbnQoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlUGxhY2Vob2xkZXJUZXh0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29s
IGFwcGVuZEZvcm1EYXRhKEZvcm1EYXRhTGlzdCYsIGJvb2wgbXVsdGlwYXJ0KSBjb25zdCBPVkVS
UklERTsKLSAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoKCkgT1ZFUlJJREU7CiAKICAgICAvLyBTcGlu
QnV0dG9uRWxlbWVudDo6U3BpbkJ1dHRvbk93bmVyIGZ1bmN0aW9ucy4KICAgICB2aXJ0dWFsIHZv
aWQgZm9jdXNBbmRTZWxlY3RTcGluQnV0dG9uT3duZXIoKSBPVkVSUklERTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2Yjhh
OTM1NmYzZGNhNzRlYzQ0ZDExNmE1MjE5YTQyMjA5YTliOTczLi4zYTQ1ZmY5MzY1OGZlYTA2M2E5
OTdlYTY2YTIwMDJjMGZjNzE1MjdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDktMDUg
IFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92
ZSBmaXhQbGFjZWhvbGRlclJlbmRlcmVyIGhhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NzE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvaW5wdXQtcGxhY2Vob2xkZXIt
Y3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvaW5w
dXQtcGxhY2Vob2xkZXItY3Jhc2guaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0td2luL2Zhc3QvZm9ybXMvaW5wdXQtcGxhY2Vob2xkZXItdmlzaWJpbGl0eS0xLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy9pbnB1
dC1wbGFjZWhvbGRlci12aXNpYmlsaXR5LTMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtLXdpbi9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXZpc2liaWxp
dHktMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3Qv
Zm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItdmlzaWJpbGl0eS0yLWV4cGVjdGVkLnR4dDoKKwog
MjAxMi0wOS0wNSAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtUZXN0c10gV2Ugc2hvdWxkIGhhdmUgbW91c2UgZXZlbnRzIHRlc3QgZm9yIG11bHRpcGxl
IGZpZWxkcyB0aW1lIGlucHV0IFVJCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvaW5wdXQtcGxhY2Vob2xkZXItY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2lucHV0LXBsYWNlaG9sZGVyLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40ZWMyM2Q3MjAxZGQ5ZmY3MWM0N2Y3OTAwMGM1YWEwMjNkMjZkMjcwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2lucHV0LXBsYWNlaG9sZGVy
LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1doZW4gcmVtb3ZpbmcgYWxsIHRl
eHQgaW4gaW5wdXQgaGF2aW5nIHBsYWNlaG9sZGVyLCBhIGNyYXNoIHNob3VsZCBub3QgaGFwcGVu
LgorCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQt
cGxhY2Vob2xkZXItY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnB1
dC1wbGFjZWhvbGRlci1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyOWU4MTQxYWQzODRhZjJhOWQ2
MDdiODg1MzMyODQ0NDQzNTYyZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvaW5wdXQtcGxhY2Vob2xkZXItY3Jhc2guaHRtbApAQCAtMCwwICsxLDI3IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8Ym9keT4KKworPHA+V2hlbiByZW1vdmluZyBh
bGwgdGV4dCBpbiBpbnB1dCBoYXZpbmcgcGxhY2Vob2xkZXIsIGEgY3Jhc2ggc2hvdWxkIG5vdCBo
YXBwZW4uPC9wPgorPGRpdiBpZD0id3JhcHBlciIgY29udGVudGVkaXRhYmxlPgorICAgPGlucHV0
IGlkPSJob3N0IiBwbGFjZWhvbGRlcj0icGxhY2Vob2xkZXIiIHZhbHVlPSJhIiBhdXRvZm9jdXMg
Lz4KKzwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworCitpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hhZG93RE9NRW5h
YmxlZChmYWxzZSk7CisKK2V2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGhvc3Qub2Zmc2V0TGVmdCAr
IDMwLCBob3N0Lm9mZnNldFRvcCArIDQpOworZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CitldmVu
dFNlbmRlci5tb3VzZVVwKCk7CisKK2V2ZW50U2VuZGVyLmtleURvd24oJ2RlbGV0ZScpOworCit3
cmFwcGVyLmlubmVySFRNTCA9ICJQQVNTIjsKKzwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jt
cy9pbnB1dC1wbGFjZWhvbGRlci12aXNpYmlsaXR5LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9ybXMvaW5wdXQtcGxhY2Vob2xkZXItdmlz
aWJpbGl0eS0xLWV4cGVjdGVkLnR4dAppbmRleCA3MTAzYzMxYzRhNGVkYjQ1YzE4OTljYjNmNGI1
OTJkOGE3NmMxOTY2Li5lZTlkNmRmOGZmMDA5NjQ2MDU3ODYwYTI4ZmE1YmIwZjE2ZTE5ZmVmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy9p
bnB1dC1wbGFjZWhvbGRlci12aXNpYmlsaXR5LTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Zvcm1zL2lucHV0LXBsYWNlaG9sZGVyLXZp
c2liaWxpdHktMS1leHBlY3RlZC50eHQKQEAgLTE2LDQgKzE2LDQgQEAgbGF5ZXIgYXQgKDEyLDQ5
KSBzaXplIDE0OXgxNgogICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjg6ICJQbGFjZWhv
bGRlciIKIGxheWVyIGF0ICgxMiw0OSkgc2l6ZSAxNDl4MTYKICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDIsMykgc2l6ZSAxNDl4MTYKLWNhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAge0RJVn0g
b2YgeyNzaGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7SU5QVVR9IG9mIGNoaWxkIDMge0RJVn0gb2Yg
Ym9keQorY2FyZXQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMSB7RElWfSBvZiB7I3NoYWRvdy1yb290
fSBvZiBjaGlsZCAxIHtJTlBVVH0gb2YgY2hpbGQgMyB7RElWfSBvZiBib2R5CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy9pbnB1dC1wbGFj
ZWhvbGRlci12aXNpYmlsaXR5LTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0td2luL2Zhc3QvZm9ybXMvaW5wdXQtcGxhY2Vob2xkZXItdmlzaWJpbGl0eS0zLWV4
cGVjdGVkLnR4dAppbmRleCBjMTU3Y2QwYmY3ZDAzMzE1MGM4OTM3ZmNkNTBlYTFjNjEzNjQ3YzRk
Li42NTBmOGFjYzg0MTdmY2MwYmQwN2ZlODhmMzZlYmQzODU0MmQyNzU2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy9pbnB1dC1wbGFjZWhv
bGRlci12aXNpYmlsaXR5LTMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLXdpbi9mYXN0L2Zvcm1zL2lucHV0LXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMy1l
eHBlY3RlZC50eHQKQEAgLTE3LDQgKzE3LDQgQEAgbGF5ZXIgYXQgKDEyLDQ5KSBzaXplIDE0OXgx
NgogbGF5ZXIgYXQgKDEyLDQ5KSBzaXplIDE0OXgxNgogICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MiwzKSBzaXplIDE0OXgxNgogICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDE2Ci1j
YXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHtCUn0gb2YgY2hpbGQgMCB7RElWfSBvZiB7I3No
YWRvdy1yb290fSBvZiBjaGlsZCAxIHtJTlBVVH0gb2YgY2hpbGQgMyB7RElWfSBvZiBib2R5Citj
YXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHtCUn0gb2YgY2hpbGQgMSB7RElWfSBvZiB7I3No
YWRvdy1yb290fSBvZiBjaGlsZCAxIHtJTlBVVH0gb2YgY2hpbGQgMyB7RElWfSBvZiBib2R5CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy90
ZXh0YXJlYS1wbGFjZWhvbGRlci12aXNpYmlsaXR5LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXIt
dmlzaWJpbGl0eS0xLWV4cGVjdGVkLnR4dAppbmRleCAxZTk5ZmU0ZTczZjVlM2I3NGE2MzkxMGI5
YTNjOGU4ZmVmNjVkNGE5Li5lZGI5M2RhYWJlNjQ3YjkzYmM4ODQyMWU0Y2E1OTI5YjhmMDBmODQw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jt
cy90ZXh0YXJlYS1wbGFjZWhvbGRlci12aXNpYmlsaXR5LTEtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNl
aG9sZGVyLXZpc2liaWxpdHktMS1leHBlY3RlZC50eHQKQEAgLTE2LDQgKzE2LDQgQEAgbGF5ZXIg
YXQgKDEwLDQ2KSBzaXplIDE3OXgzNiBjbGlwIGF0ICgxMSw0Nykgc2l6ZSAxNzd4MzQKICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODg6ICJQbGFjZWhvbGRlciIKICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMywzKSBzaXplIDE3NXgxNgogICAgICAgUmVuZGVyQlIge0JSfSBhdCAo
MCwwKSBzaXplIDB4MTYKLWNhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAge0JSfSBvZiBjaGls
ZCAwIHtESVZ9IG9mIHsjc2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge1RFWFRBUkVBfSBvZiBjaGls
ZCAzIHtESVZ9IG9mIGJvZHkKK2NhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAge0JSfSBvZiBj
aGlsZCAxIHtESVZ9IG9mIHsjc2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge1RFWFRBUkVBfSBvZiBj
aGlsZCAzIHtESVZ9IG9mIGJvZHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLXdpbi9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jt
cy90ZXh0YXJlYS1wbGFjZWhvbGRlci12aXNpYmlsaXR5LTItZXhwZWN0ZWQudHh0CmluZGV4IDE4
YWU0YjZjZTI1NWJjOWQzYzAzZDNmZWU3ODAxZmIyMmE5NTQ2NzkuLjllODNiOGYzOGNhNWZmZDgx
NTEzMDQyNDIxMjI4NDUxZDcyOWNjY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLXdpbi9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXZpc2liaWxpdHkt
Mi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zh
c3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItdmlzaWJpbGl0eS0yLWV4cGVjdGVkLnR4dApA
QCAtMTUsNCArMTUsNCBAQCBsYXllciBhdCAoMTAsNDYpIHNpemUgMTc5eDM2IGNsaXAgYXQgKDEx
LDQ3KSBzaXplIDE3N3gzNAogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
ODh4MTYKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODg6ICJQbGFjZWhvbGRlciIK
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBzaXplIDE3NXgxNgotY2FyZXQ6IHBvc2l0
aW9uIDAgb2YgY2hpbGQgMCB7RElWfSBvZiB7I3NoYWRvdy1yb290fSBvZiBjaGlsZCAxIHtURVhU
QVJFQX0gb2YgY2hpbGQgMyB7RElWfSBvZiBib2R5CitjYXJldDogcG9zaXRpb24gMCBvZiBjaGls
ZCAxIHtESVZ9IG9mIHsjc2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge1RFWFRBUkVBfSBvZiBjaGls
ZCAzIHtESVZ9IG9mIGJvZHkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162396</attachid>
            <date>2012-09-05 19:18:09 -0700</date>
            <delta_ts>2014-02-05 11:13:22 -0800</delta_ts>
            <desc>ChangeLog fixed</desc>
            <filename>bug-95714-20120906111750.patch</filename>
            <type>text/plain</type>
            <size>19228</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTRmMDViY2FkYTY3NGFh
YmJkMzA1NTYzMmMwOGQwNjZiNmIyYWNmOC4uNjk3MjEwZTMwOTQwYjY4MzE2MGM4Y2NhN2JjMThh
YzliZTI4ZTEzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA5LTA1ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgZml4
UGxhY2Vob2xkZXJSZW5kZXJlciBoYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NTcxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRvIHJlbmRlciBhIGN1cnNvciBpbiB0aGUgZnJvbnQgb2YgcGxhY2Vo
b2xkZXIsIHdlIGhhdmUgdXNlZCBmaXhQbGFjZWhvbGRlclJlbmRlcmVyIGhhY2sKKyAgICAgICAg
d2hpY2ggY2hhbmdlcyB0aGUgb3JkZXIgb2YgcmVuZGVyZXIuIFNpbmNlIHRoaXMgaXMgbm90IGEg
c3RhbmRhcmQgd2F5LCBpdCB3aWxsIGNhdXNlIHZhcmlvdXMKKyAgICAgICAgZXJyb3JzIHdoZW4g
d2Ugc3VwcG9ydCBBdXRob3JTaGFkb3dET00gZm9yIGVsZW1lbnRzIGhhdmluZyBhIHBsYWNlaG9s
ZGVyLgorCisgICAgICAgIFRoZSBzdGFuZGFyZCB3YXkgc2hvdWxkIGJlIHRvIGNoYW5nZSB0aGUg
b3JkZXIgb2YgRE9NLiBIb3dldmVyLCBpdCB0cmlnZ2VycyBBU1NFUlQgaW4gdGhlIGNvbnN0cnVj
dG9yCisgICAgICAgIG9mIFBvc2l0aW9uLCBzaW5jZSBTaGFkb3dSb290IGlzIHVzZWQgYXMgYW5j
aG9yLiBNYWtpbmcgUG9zaXRpb24gU2hhZG93Um9vdC1hbmNob3JlZCBpcyBhbGxvd2VkCisgICAg
ICAgIG9ubHkgd2hlbiBBdXRob3JTaGFkb3dET00gaXMgZW5hYmxlZC4KKworICAgICAgICBJbiB0
aGlzIHBhdGNoLCB3ZSByZW1vdmUgZml4UGxhY2Vob2xkZXJSZW5kZXJlciBoYWNrIGFuZCB0d2Vh
ayBlZGl0aW5nIGNvZGUgbm90IHRvIHJldHVybiBTaGFkb3dSb290LWFuY2hvcmVkCisgICAgICAg
IFBvc2l0aW9uLCB0aG91Z2ggd2UgYWxsb3cgU2hhZG93Um9vdC1hbmNob3JlZCBwb3NpdGlvbiB3
aGVuIEF1dGhvclNoYWRvd1Jvb3QgaXMgZW5hYmxlZC4KKworICAgICAgICBUZXN0OiBmYXN0L2Rv
bS9zaGFkb3cvaW5wdXQtcGxhY2Vob2xkZXItY3Jhc2guaHRtbAorCisgICAgICAgICogY3NzL2h0
bWwuY3NzOgorICAgICAgICAoOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyKTogUHBsYWNlaG9s
ZGVyIHNob3VsZCBub3QgYmUgc2VsZWN0ZWQgYnkgdXNlci4KKyAgICAgICAgKiBkb20vUmFuZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2U6OmVuZFBvc2l0aW9uTm9uU2hhZG93Um9vdEFu
Y2hvcmVkKTogQ3JlYXRlcyBQb3NpdGlvbiB3aGljaCBpcyBub3QgU2hhZG93Um9vdC1hbmNob3Jl
ZC4KKyAgICAgICAgVGhpcyBpcyB1c2VkIG9ubHkgd2hlbiBTaGFkb3dET00gaXMgbm90IGVuYWJs
ZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vUmFuZ2UuaDoKKyAgICAgICAg
KFJhbmdlKToKKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6cHJldmlvdXNCb3VuZGFyeSk6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6OkhUTUxU
ZXh0QXJlYUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6
Y3JlYXRlU2hhZG93U3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVt
ZW50Ojppbm5lclRleHRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVs
ZW1lbnQ6OnVwZGF0ZVBsYWNlaG9sZGVyVGV4dCk6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFy
ZWFFbGVtZW50Lmg6CisgICAgICAgIChIVE1MVGV4dEFyZWFFbGVtZW50KToKKyAgICAgICAgKiBo
dG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9UZXh0RmllbGRJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBlOjp1cGRhdGVQbGFj
ZWhvbGRlclRleHQpOgorICAgICAgICAqIGh0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmg6CisgICAg
ICAgIChUZXh0RmllbGRJbnB1dFR5cGUpOgorCiAyMDEyLTA5LTA1ICBLZW5pY2hpIElzaGliYXNo
aSAgPGJhc2hpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQs
IGJ1aWxkIGZpeCBhdHRlbXB0IGFmdGVyIHIxMjc2NjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9odG1sLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwppbmRleCA2MmQx
OWNiYjdmNGYzZTRiYTZmM2U4MjdjZTJjNWRmYmRlNjNlM2E2Li4wYjY4NzA1ODAyNmQzMDYxZTdi
ZjliNmQwODcxZDRmMWZhNDUyOWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRt
bC5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCkBAIC02MDIsNiArNjAyLDcg
QEAgdGV4dGFyZWEgewogCiA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgewogICAgIC13ZWJr
aXQtdGV4dC1zZWN1cml0eTogbm9uZTsKKyAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lICFp
bXBvcnRhbnQ7CiAgICAgY29sb3I6IGRhcmtHcmF5OwogICAgIGRpc3BsYXk6IGJsb2NrICFpbXBv
cnRhbnQ7CiAgICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2Uu
Y3BwCmluZGV4IGM0ZTQzNWE2ZjcxMzA2MGI3MDlhNDE1NzFhMzQ4ZTUxZjg1MmM1ZjUuLmFkYzc2
MjA3YmY3MmNkNWRiYzZlOTAyZjNlZTVlNDE1ZjFkMmQyY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9SYW5nZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcApA
QCAtMjc4LDYgKzI3OCwxOSBAQCB2b2lkIFJhbmdlOjpzZXRFbmQoY29uc3QgUG9zaXRpb24mIGVu
ZCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgc2V0RW5kKHBhcmVudEFuY2hvcmVkLmNvbnRhaW5l
ck5vZGUoKSwgcGFyZW50QW5jaG9yZWQub2Zmc2V0SW5Db250YWluZXJOb2RlKCksIGVjKTsKIH0K
IAorUG9zaXRpb24gUmFuZ2U6OmVuZFBvc2l0aW9uTm9uU2hhZG93Um9vdEFuY2hvcmVkKCkgY29u
c3QKK3sKKyAgICBpZiAoIW1fZW5kLmNvbnRhaW5lcigpLT5pc1NoYWRvd1Jvb3QoKSkKKyAgICAg
ICAgcmV0dXJuIG1fZW5kLnRvUG9zaXRpb24oKTsKKworICAgIGlmICghbV9lbmQuY29udGFpbmVy
KCktPmhhc0NoaWxkTm9kZXMoKSkKKyAgICAgICAgcmV0dXJuIFBvc2l0aW9uKCk7CisKKyAgICBp
ZiAoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1fZW5kLm9mZnNldCgpKSA8IG1fZW5kLmNvbnRhaW5l
cigpLT5jaGlsZE5vZGVDb3VudCgpKQorICAgICAgICByZXR1cm4gcG9zaXRpb25CZWZvcmVOb2Rl
KG1fZW5kLmNvbnRhaW5lcigpLT5jaGlsZE5vZGUobV9lbmQub2Zmc2V0KCkpKTsKKyAgICByZXR1
cm4gcG9zaXRpb25BZnRlck5vZGUobV9lbmQuY29udGFpbmVyKCktPmxhc3RDaGlsZCgpKTsKK30K
Kwogdm9pZCBSYW5nZTo6Y29sbGFwc2UoYm9vbCB0b1N0YXJ0LCBFeGNlcHRpb25Db2RlJiBlYykK
IHsKICAgICBpZiAoIW1fc3RhcnQuY29udGFpbmVyKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9SYW5nZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmgKaW5kZXggYjZi
Zjc3MTFkNTE4ZDllODk1NzgyN2E5YTA3MGU2NjIyNjU2NTc0Yy4uYmFjZDQ5M2U4Mjc0NDA4NDNh
OWFhZmNiYmM3YmQ5ZmY5ZDdmNTY1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Jh
bmdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmgKQEAgLTEwNyw2ICsxMDcsOCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdGFydChjb25zdCBQb3NpdGlvbiYsIEV4Y2VwdGlvbkNv
ZGUmID0gQVNTRVJUX05PX0VYQ0VQVElPTik7CiAgICAgdm9pZCBzZXRFbmQoY29uc3QgUG9zaXRp
b24mLCBFeGNlcHRpb25Db2RlJiA9IEFTU0VSVF9OT19FWENFUFRJT04pOwogCisgICAgUG9zaXRp
b24gZW5kUG9zaXRpb25Ob25TaGFkb3dSb290QW5jaG9yZWQoKSBjb25zdDsKKwogICAgIE5vZGUq
IGZpcnN0Tm9kZSgpIGNvbnN0OwogICAgIE5vZGUqIHBhc3RMYXN0Tm9kZSgpIGNvbnN0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAppbmRleCBiMGZiOTI1ZmI0NDQ0
ZGQ0YWU0YzFhZTBhOGUyNTU0NmZmMGVhNDY1Li4yMzQ4ZmYzOGQ4ZDdiNTJkMGI4NmFjNGJlNmZl
ODdmZDBmMTJiOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVf
dW5pdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAK
QEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJ2aXNpYmxl
X3VuaXRzLmgiCiAKKyNpbmNsdWRlICJDb250ZXh0RmVhdHVyZXMuaCIKICNpbmNsdWRlICJEb2N1
bWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKQEAg
LTUyMCw4ICs1MjEsMTUgQEAgc3RhdGljIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0JvdW5kYXJ5
KGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYywgQm91bmRhcnlTZWFyY2gKICAgICAvLyBVc2UgdGhl
IGNoYXJhY3RlciBpdGVyYXRvciB0byB0cmFuc2xhdGUgdGhlIG5leHQgdmFsdWUgaW50byBhIERP
TSBwb3NpdGlvbi4KICAgICBCYWNrd2FyZHNDaGFyYWN0ZXJJdGVyYXRvciBjaGFySXQoc2VhcmNo
UmFuZ2UuZ2V0KCkpOwogICAgIGNoYXJJdC5hZHZhbmNlKHN0cmluZy5zaXplKCkgLSBzdWZmaXhM
ZW5ndGggLSBuZXh0KTsKKworICAgIC8vIGNoYXJJdC5yYW5nZSgpLT5lbmRQb3NpdGlvbigpIHdp
bGwgaGl0IEFTU0VSVCBpbiB0aGUgY29uc3RydWN0b3Igb2YgUG9zaXRpb24gaWYgYSBTaGFkb3dS
b290IGlzCisgICAgLy8gYW5jaG9yZWQgYW5kIFNoYWRvd0RPTSBpcyBub3QgZW5hYmxlZC4gV2Ug
aGF2ZSB0byBlbmFibGUgU2hhZG93RE9NLCBvciBhdm9pZCBTaGFkb3dSb290IGFuY2hvcmVkIFBv
c2l0aW9uLgorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgIGlmIChDb250ZXh0RmVhdHVyZXM6
OnNoYWRvd0RPTUVuYWJsZWQoZCkpCisgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oY2hh
ckl0LnJhbmdlKCktPmVuZFBvc2l0aW9uKCksIERPV05TVFJFQU0pOworI2VuZGlmCiAgICAgLy8g
RklYTUU6IGNoYXJJdCBjYW4gZ2V0IG91dCBvZiBzaGFkb3cgaG9zdC4KLSAgICByZXR1cm4gVmlz
aWJsZVBvc2l0aW9uKGNoYXJJdC5yYW5nZSgpLT5lbmRQb3NpdGlvbigpLCBET1dOU1RSRUFNKTsK
KyAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGNoYXJJdC5yYW5nZSgpLT5lbmRQb3NpdGlvbk5v
blNoYWRvd1Jvb3RBbmNob3JlZCgpLCBET1dOU1RSRUFNKTsKIH0KIAogc3RhdGljIFZpc2libGVQ
b3NpdGlvbiBuZXh0Qm91bmRhcnkoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjLCBCb3VuZGFyeVNl
YXJjaEZ1bmN0aW9uIHNlYXJjaEZ1bmN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRBcmVhRWxlbWVudC5jcHAKaW5kZXggYTQyYWE3ODMxZjA3YzU2N2U0NTBiM2YzYjdkODU3Yzc1
YThiZTE2Yy4uYzA5OGU0ZWRhZGFmOGQwNDQ0OGNiNmQ1OWQ1Mjk2YjQyOGRkNzAwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCkBAIC03Miw2ICs3Miw3
IEBAIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OkhUTUxUZXh0QXJlYUVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqCiAgICAgLCBtX3Jvd3MoZGVmYXVsdFJvd3MpCiAg
ICAgLCBtX2NvbHMoZGVmYXVsdENvbHMpCiAgICAgLCBtX3dyYXAoU29mdFdyYXApCisgICAgLCBt
X2lubmVyRWxlbWVudCgwKQogICAgICwgbV9wbGFjZWhvbGRlcigwKQogICAgICwgbV9pc0RpcnR5
KGZhbHNlKQogICAgICwgbV93YXNNb2RpZmllZEJ5VXNlcihmYWxzZSkKQEAgLTkxLDcgKzkyLDEw
IEBAIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSgpCiB7CiAg
ICAgQVNTRVJUKCFzaGFkb3coKSk7CiAgICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFk
b3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6VXNlckFnZW50U2hhZG93Um9vdCk7Ci0g
ICAgcm9vdC0+YXBwZW5kQ2hpbGQoVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50OjpjcmVhdGUo
ZG9jdW1lbnQoKSksIEFTU0VSVF9OT19FWENFUFRJT04pOworICAgIFJlZlB0cjxUZXh0Q29udHJv
bElubmVyVGV4dEVsZW1lbnQ+IGlubmVyID0gVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50Ojpj
cmVhdGUoZG9jdW1lbnQoKSk7CisgICAgcm9vdC0+YXBwZW5kQ2hpbGQoaW5uZXIsIEFTU0VSVF9O
T19FWENFUFRJT04pOworCisgICAgbV9pbm5lckVsZW1lbnQgPSBpbm5lci5nZXQoKTsKIH0KIAog
Y29uc3QgQXRvbWljU3RyaW5nJiBIVE1MVGV4dEFyZWFFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUo
KSBjb25zdApAQCAtMzAwLDkgKzMwNCw3IEBAIFN0cmluZyBIVE1MVGV4dEFyZWFFbGVtZW50Ojpz
YW5pdGl6ZVVzZXJJbnB1dFZhbHVlKGNvbnN0IFN0cmluZyYgcHJvcG9zZWRWYWx1ZSwKIAogSFRN
TEVsZW1lbnQqIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmlubmVyVGV4dEVsZW1lbnQoKSBjb25zdAog
ewotICAgIE5vZGUqIG5vZGUgPSB1c2VyQWdlbnRTaGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKTsK
LSAgICBBU1NFUlQoIW5vZGUgfHwgbm9kZS0+aGFzVGFnTmFtZShkaXZUYWcpKTsKLSAgICByZXR1
cm4gdG9IVE1MRWxlbWVudChub2RlKTsKKyAgICByZXR1cm4gbV9pbm5lckVsZW1lbnQ7CiB9CiAK
IHZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6cmVuZGVyZXJXaWxsQmVEZXN0cm95ZWQoKQpAQCAt
NDk5LDEyICs1MDEsNiBAQCBIVE1MRWxlbWVudCogSFRNTFRleHRBcmVhRWxlbWVudDo6cGxhY2Vo
b2xkZXJFbGVtZW50KCkgY29uc3QKICAgICByZXR1cm4gbV9wbGFjZWhvbGRlcjsKIH0KIAotdm9p
ZCBIVE1MVGV4dEFyZWFFbGVtZW50OjphdHRhY2goKQotewotICAgIEhUTUxUZXh0Rm9ybUNvbnRy
b2xFbGVtZW50OjphdHRhY2goKTsKLSAgICBmaXhQbGFjZWhvbGRlclJlbmRlcmVyKG1fcGxhY2Vo
b2xkZXIsIGlubmVyVGV4dEVsZW1lbnQoKSk7Ci19Ci0KIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVu
dDo6dXBkYXRlUGxhY2Vob2xkZXJUZXh0KCkKIHsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsK
QEAgLTUyMSwxMiArNTE3LDExIEBAIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6dXBkYXRlUGxh
Y2Vob2xkZXJUZXh0KCkKICAgICAgICAgUmVmUHRyPEhUTUxEaXZFbGVtZW50PiBwbGFjZWhvbGRl
ciA9IEhUTUxEaXZFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQoKSk7CiAgICAgICAgIG1fcGxhY2Vo
b2xkZXIgPSBwbGFjZWhvbGRlci5nZXQoKTsKICAgICAgICAgbV9wbGFjZWhvbGRlci0+c2V0U2hh
ZG93UHNldWRvSWQoIi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIiKTsKLSAgICAgICAgdXNlckFn
ZW50U2hhZG93Um9vdCgpLT5pbnNlcnRCZWZvcmUobV9wbGFjZWhvbGRlciwgaW5uZXJUZXh0RWxl
bWVudCgpLT5uZXh0U2libGluZygpLCBlYyk7CisgICAgICAgIHVzZXJBZ2VudFNoYWRvd1Jvb3Qo
KS0+aW5zZXJ0QmVmb3JlKG1fcGxhY2Vob2xkZXIsIGlubmVyVGV4dEVsZW1lbnQoKSwgZWMpOwog
ICAgICAgICBBU1NFUlQoIWVjKTsKICAgICB9CiAgICAgbV9wbGFjZWhvbGRlci0+c2V0SW5uZXJU
ZXh0KHBsYWNlaG9sZGVyVGV4dCwgZWMpOwogICAgIEFTU0VSVCghZWMpOwotICAgIGZpeFBsYWNl
aG9sZGVyUmVuZGVyZXIobV9wbGFjZWhvbGRlciwgaW5uZXJUZXh0RWxlbWVudCgpKTsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAppbmRleCBhZTQ2Nzhk
YTNkNTkwM2ZjODE3YzZiMjJmM2NjYjg2NGJhYTgyNmY5Li4zOTNjZTExNzFjN2YwOGVlZTYxYzAx
ZjRjNmViZGM3YjMyMjNkOTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
ZXh0QXJlYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVs
ZW1lbnQuaApAQCAtMTEwLDcgKzExMCw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGFj
Y2Vzc0tleUFjdGlvbihib29sIHNlbmRNb3VzZUV2ZW50cyk7CiAKICAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkVXNlSW5wdXRNZXRob2QoKTsKLSAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoKCkgT1ZFUlJJ
REU7CiAKICAgICBib29sIHZhbHVlTWlzc2luZyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdCB7
IHJldHVybiBpc1JlcXVpcmVkRm9ybUNvbnRyb2woKSAmJiAhZGlzYWJsZWQoKSAmJiAhcmVhZE9u
bHkoKSAmJiB2YWx1ZS5pc0VtcHR5KCk7IH0KICAgICBib29sIHRvb0xvbmcoY29uc3QgU3RyaW5n
JiwgTmVlZHNUb0NoZWNrRGlydHlGbGFnKSBjb25zdDsKQEAgLTExOCw2ICsxMTcsNyBAQCBwcml2
YXRlOgogICAgIGludCBtX3Jvd3M7CiAgICAgaW50IG1fY29sczsKICAgICBXcmFwTWV0aG9kIG1f
d3JhcDsKKyAgICBIVE1MRWxlbWVudCogbV9pbm5lckVsZW1lbnQ7CiAgICAgSFRNTEVsZW1lbnQq
IG1fcGxhY2Vob2xkZXI7CiAgICAgbXV0YWJsZSBTdHJpbmcgbV92YWx1ZTsKICAgICBtdXRhYmxl
IGJvb2wgbV9pc0RpcnR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCAyZWM1ZjA5YjFmZmM1NWUxNzU1NGViMWMyZjA2OTUz
NGQ2YjNmYzU1Li45NTk2NDVhYTdjYzJlOTJkOWIwM2Q0YzNmOTgzM2IxNzYzYzFlMmU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNw
cApAQCAtMTY2LDIzICsxNjYsNiBAQCB2b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Ojp1
cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoYm9vbCBwbGFjZWhvbGRlclZhbAogICAgIEFTU0VS
VCghZWMpOwogfQogCi12b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpmaXhQbGFjZWhv
bGRlclJlbmRlcmVyKEhUTUxFbGVtZW50KiBwbGFjZWhvbGRlciwgSFRNTEVsZW1lbnQqIHNpYmxp
bmdFbGVtZW50KQotewotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgY2hhbmdlIHRoZSBvcmRlciBv
ZiBET00gbm9kZXMuIEJ1dCBpdCBtYWtlcyBhbiBhc3NlcnRpb24KLSAgICAvLyBmYWlsdXJlIGlu
IGVkaXRpbmcgY29kZS4KLSAgICBpZiAoIXBsYWNlaG9sZGVyIHx8ICFwbGFjZWhvbGRlci0+cmVu
ZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIFJlbmRlck9iamVjdCogcGxhY2Vob2xkZXJS
ZW5kZXJlciA9IHBsYWNlaG9sZGVyLT5yZW5kZXJlcigpOwotICAgIFJlbmRlck9iamVjdCogc2li
bGluZ1JlbmRlcmVyID0gc2libGluZ0VsZW1lbnQtPnJlbmRlcmVyKCk7Ci0gICAgQVNTRVJUKHNp
YmxpbmdSZW5kZXJlcik7Ci0gICAgaWYgKHBsYWNlaG9sZGVyUmVuZGVyZXItPm5leHRTaWJsaW5n
KCkgPT0gc2libGluZ1JlbmRlcmVyKQotICAgICAgICByZXR1cm47Ci0gICAgUmVuZGVyT2JqZWN0
KiBwYXJlbnRSZW5kZXJlciA9IHBsYWNlaG9sZGVyUmVuZGVyZXItPnBhcmVudCgpOwotICAgIEFT
U0VSVChwYXJlbnRSZW5kZXJlciA9PSBzaWJsaW5nUmVuZGVyZXItPnBhcmVudCgpKTsKLSAgICBw
YXJlbnRSZW5kZXJlci0+cmVtb3ZlQ2hpbGQocGxhY2Vob2xkZXJSZW5kZXJlcik7Ci0gICAgcGFy
ZW50UmVuZGVyZXItPmFkZENoaWxkKHBsYWNlaG9sZGVyUmVuZGVyZXIsIHNpYmxpbmdSZW5kZXJl
cik7Ci19Ci0KIFJlbmRlclRleHRDb250cm9sKiBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6
dGV4dFJlbmRlcmVyQWZ0ZXJVcGRhdGVMYXlvdXQoKQogewogICAgIGlmICghaXNUZXh0Rm9ybUNv
bnRyb2woKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29u
dHJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVs
ZW1lbnQuaAppbmRleCA4ZWJlNjZhYzYxY2VhMjdjMzVmYTQxZmI0MjY5NjU4ZDgzYzlhYjgzLi4z
ZmVlM2M0ZjU2ZDk5NzIzNDFkMGIyOGRkY2MwMmYwMjQyMGQ1YTU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC01NCw3ICs1NCw2
IEBAIHB1YmxpYzoKICAgICBib29sIHBsYWNlaG9sZGVyU2hvdWxkQmVWaXNpYmxlKCkgY29uc3Q7
CiAgICAgdmlydHVhbCBIVE1MRWxlbWVudCogcGxhY2Vob2xkZXJFbGVtZW50KCkgY29uc3QgPSAw
OwogICAgIHZvaWQgdXBkYXRlUGxhY2Vob2xkZXJWaXNpYmlsaXR5KGJvb2wpOwotICAgIHN0YXRp
YyB2b2lkIGZpeFBsYWNlaG9sZGVyUmVuZGVyZXIoSFRNTEVsZW1lbnQqIHBsYWNlaG9sZGVyLCBI
VE1MRWxlbWVudCogc2libGluZ0VsZW1lbnQpOwogCiAgICAgaW50IGluZGV4Rm9yVmlzaWJsZVBv
c2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpIGNvbnN0OwogICAgIGludCBzZWxlY3Rpb25T
dGFydCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJ
bnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3Bw
CmluZGV4IDY5MjEyMWU1Y2M0YTBjMDkwZmMyZWNlZTVlZjM1ZjU0YzJjNmVhY2YuLjQ0ZTBiNzI3
ZmE0ZDc1ZjdmMmVhMTg0ZDA2ODMwNjBlMzM5NTU0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RleHRGaWVsZElucHV0VHlwZS5jcHAKQEAgLTQxMCwxOCArNDEwLDExIEBAIHZvaWQgVGV4dEZp
ZWxkSW5wdXRUeXBlOjp1cGRhdGVQbGFjZWhvbGRlclRleHQoKQogICAgIGlmICghbV9wbGFjZWhv
bGRlcikgewogICAgICAgICBtX3BsYWNlaG9sZGVyID0gSFRNTERpdkVsZW1lbnQ6OmNyZWF0ZShl
bGVtZW50KCktPmRvY3VtZW50KCkpOwogICAgICAgICBtX3BsYWNlaG9sZGVyLT5zZXRTaGFkb3dQ
c2V1ZG9JZCgiLXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciIpOwotICAgICAgICBlbGVtZW50KCkt
PnVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+aW5zZXJ0QmVmb3JlKG1fcGxhY2Vob2xkZXIsIG1fY29u
dGFpbmVyID8gbV9jb250YWluZXItPm5leHRTaWJsaW5nKCkgOiBpbm5lclRleHRFbGVtZW50KCkt
Pm5leHRTaWJsaW5nKCksIGVjKTsKKyAgICAgICAgZWxlbWVudCgpLT51c2VyQWdlbnRTaGFkb3dS
b290KCktPmluc2VydEJlZm9yZShtX3BsYWNlaG9sZGVyLCBtX2NvbnRhaW5lciA/IG1fY29udGFp
bmVyLmdldCgpIDogaW5uZXJUZXh0RWxlbWVudCgpLCBlYyk7CiAgICAgICAgIEFTU0VSVCghZWMp
OwogICAgIH0KICAgICBtX3BsYWNlaG9sZGVyLT5zZXRJbm5lclRleHQocGxhY2Vob2xkZXJUZXh0
LCBlYyk7CiAgICAgQVNTRVJUKCFlYyk7Ci0gICAgZWxlbWVudCgpLT5maXhQbGFjZWhvbGRlclJl
bmRlcmVyKG1fcGxhY2Vob2xkZXIuZ2V0KCksIG1fY29udGFpbmVyID8gbV9jb250YWluZXIuZ2V0
KCkgOiBtX2lubmVyVGV4dC5nZXQoKSk7Ci19Ci0KLXZvaWQgVGV4dEZpZWxkSW5wdXRUeXBlOjph
dHRhY2goKQotewotICAgIElucHV0VHlwZTo6YXR0YWNoKCk7Ci0gICAgZWxlbWVudCgpLT5maXhQ
bGFjZWhvbGRlclJlbmRlcmVyKG1fcGxhY2Vob2xkZXIuZ2V0KCksIG1fY29udGFpbmVyID8gbV9j
b250YWluZXIuZ2V0KCkgOiBtX2lubmVyVGV4dC5nZXQoKSk7CiB9CiAKIGJvb2wgVGV4dEZpZWxk
SW5wdXRUeXBlOjphcHBlbmRGb3JtRGF0YShGb3JtRGF0YUxpc3QmIGxpc3QsIGJvb2wgbXVsdGlw
YXJ0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1
dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmgKaW5kZXgg
YTY5M2NmZWZiYzhiM2JjODU0ZWVhNTRmODQ3ZjY1NDEyZTQzZTg3NC4uMTE5ZDU3OTU1ZDcxZGNj
MzVkYTAwMzk1MWNlZTdkODMyYTZkYmE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9UZXh0RmllbGRJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVs
ZElucHV0VHlwZS5oCkBAIC04Myw3ICs4Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBIVE1M
RWxlbWVudCogcGxhY2Vob2xkZXJFbGVtZW50KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZVBsYWNlaG9sZGVyVGV4dCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9v
bCBhcHBlbmRGb3JtRGF0YShGb3JtRGF0YUxpc3QmLCBib29sIG11bHRpcGFydCkgY29uc3QgT1ZF
UlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGF0dGFjaCgpIE9WRVJSSURFOwogCiAgICAgLy8gU3Bp
bkJ1dHRvbkVsZW1lbnQ6OlNwaW5CdXR0b25Pd25lciBmdW5jdGlvbnMuCiAgICAgdmlydHVhbCB2
b2lkIGZvY3VzQW5kU2VsZWN0U3BpbkJ1dHRvbk93bmVyKCkgT1ZFUlJJREU7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmI4
YTkzNTZmM2RjYTc0ZWM0NGQxMTZhNTIxOWE0MjIwOWE5Yjk3My4uM2E0NWZmOTM2NThmZWEwNjNh
OTk3ZWE2NmEyMDAyYzBmYzcxNTI3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA5LTA1
ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1v
dmUgZml4UGxhY2Vob2xkZXJSZW5kZXJlciBoYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTcxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2lucHV0LXBsYWNlaG9sZGVy
LWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2lu
cHV0LXBsYWNlaG9sZGVyLWNyYXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtLXdpbi9mYXN0L2Zvcm1zL2lucHV0LXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9ybXMvaW5w
dXQtcGxhY2Vob2xkZXItdmlzaWJpbGl0eS0zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci12aXNpYmls
aXR5LTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0
L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMi1leHBlY3RlZC50eHQ6CisK
IDIwMTItMDktMDUgIFlvc2hpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbVGVzdHNdIFdlIHNob3VsZCBoYXZlIG1vdXNlIGV2ZW50cyB0ZXN0IGZvciBtdWx0aXBs
ZSBmaWVsZHMgdGltZSBpbnB1dCBVSQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2lucHV0LXBsYWNlaG9sZGVyLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9pbnB1dC1wbGFjZWhvbGRlci1jcmFzaC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGVjMjNkNzIwMWRkOWZmNzFjNDdmNzkwMDBjNWFhMDIzZDI2ZDI3MAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnB1dC1wbGFjZWhvbGRl
ci1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitXaGVuIHJlbW92aW5nIGFsbCB0
ZXh0IGluIGlucHV0IGhhdmluZyBwbGFjZWhvbGRlciwgYSBjcmFzaCBzaG91bGQgbm90IGhhcHBl
bi4KKworUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2lucHV0
LXBsYWNlaG9sZGVyLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5w
dXQtcGxhY2Vob2xkZXItY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMjllODE0MWFkMzg0YWYyYTlk
NjA3Yjg4NTMzMjg0NDQ0MzU2MmQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2lucHV0LXBsYWNlaG9sZGVyLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwyNyBA
QAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGJvZHk+CisKKzxwPldoZW4gcmVtb3Zpbmcg
YWxsIHRleHQgaW4gaW5wdXQgaGF2aW5nIHBsYWNlaG9sZGVyLCBhIGNyYXNoIHNob3VsZCBub3Qg
aGFwcGVuLjwvcD4KKzxkaXYgaWQ9IndyYXBwZXIiIGNvbnRlbnRlZGl0YWJsZT4KKyAgIDxpbnB1
dCBpZD0iaG9zdCIgcGxhY2Vob2xkZXI9InBsYWNlaG9sZGVyIiB2YWx1ZT0iYSIgYXV0b2ZvY3Vz
IC8+Cis8L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKKworaW50ZXJuYWxzLnNldHRpbmdzLnNldFNoYWRvd0RPTUVu
YWJsZWQoZmFsc2UpOworCitldmVudFNlbmRlci5tb3VzZU1vdmVUbyhob3N0Lm9mZnNldExlZnQg
KyAzMCwgaG9zdC5vZmZzZXRUb3AgKyA0KTsKK2V2ZW50U2VuZGVyLm1vdXNlRG93bigpOworZXZl
bnRTZW5kZXIubW91c2VVcCgpOworCitldmVudFNlbmRlci5rZXlEb3duKCdkZWxldGUnKTsKKwor
d3JhcHBlci5pbm5lckhUTUwgPSAiUEFTUyI7Cis8L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9y
bXMvaW5wdXQtcGxhY2Vob2xkZXItdmlzaWJpbGl0eS0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Zvcm1zL2lucHV0LXBsYWNlaG9sZGVyLXZp
c2liaWxpdHktMS1leHBlY3RlZC50eHQKaW5kZXggNzEwM2MzMWM0YTRlZGI0NWMxODk5Y2IzZjRi
NTkyZDhhNzZjMTk2Ni4uZWU5ZDZkZjhmZjAwOTY0NjA1Nzg2MGEyOGZhNWJiMGYxNmUxOWZlZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9ybXMv
aW5wdXQtcGxhY2Vob2xkZXItdmlzaWJpbGl0eS0xLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy9pbnB1dC1wbGFjZWhvbGRlci12
aXNpYmlsaXR5LTEtZXhwZWN0ZWQudHh0CkBAIC0xNiw0ICsxNiw0IEBAIGxheWVyIGF0ICgxMiw0
OSkgc2l6ZSAxNDl4MTYKICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDY4OiAiUGxhY2Vo
b2xkZXIiCiBsYXllciBhdCAoMTIsNDkpIHNpemUgMTQ5eDE2CiAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgyLDMpIHNpemUgMTQ5eDE2Ci1jYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHtESVZ9
IG9mIHsjc2hhZG93LXJvb3R9IG9mIGNoaWxkIDEge0lOUFVUfSBvZiBjaGlsZCAzIHtESVZ9IG9m
IGJvZHkKK2NhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDEge0RJVn0gb2YgeyNzaGFkb3ctcm9v
dH0gb2YgY2hpbGQgMSB7SU5QVVR9IG9mIGNoaWxkIDMge0RJVn0gb2YgYm9keQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9ybXMvaW5wdXQtcGxh
Y2Vob2xkZXItdmlzaWJpbGl0eS0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLXdpbi9mYXN0L2Zvcm1zL2lucHV0LXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMy1l
eHBlY3RlZC50eHQKaW5kZXggYzE1N2NkMGJmN2QwMzMxNTBjODkzN2ZjZDUwZWExYzYxMzY0N2M0
ZC4uNjUwZjhhY2M4NDE3ZmNjMGJkMDdmZTg4ZjM2ZWJkMzg1NDJkMjc1NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9ybXMvaW5wdXQtcGxhY2Vo
b2xkZXItdmlzaWJpbGl0eS0zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy9pbnB1dC1wbGFjZWhvbGRlci12aXNpYmlsaXR5LTMt
ZXhwZWN0ZWQudHh0CkBAIC0xNyw0ICsxNyw0IEBAIGxheWVyIGF0ICgxMiw0OSkgc2l6ZSAxNDl4
MTYKIGxheWVyIGF0ICgxMiw0OSkgc2l6ZSAxNDl4MTYKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDIsMykgc2l6ZSAxNDl4MTYKICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgxNgot
Y2FyZXQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7QlJ9IG9mIGNoaWxkIDAge0RJVn0gb2YgeyNz
aGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7SU5QVVR9IG9mIGNoaWxkIDMge0RJVn0gb2YgYm9keQor
Y2FyZXQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7QlJ9IG9mIGNoaWxkIDEge0RJVn0gb2YgeyNz
aGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7SU5QVVR9IG9mIGNoaWxkIDMge0RJVn0gb2YgYm9keQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9ybXMv
dGV4dGFyZWEtcGxhY2Vob2xkZXItdmlzaWJpbGl0eS0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVy
LXZpc2liaWxpdHktMS1leHBlY3RlZC50eHQKaW5kZXggMWU5OWZlNGU3M2Y1ZTNiNzRhNjM5MTBi
OWEzYzhlOGZlZjY1ZDRhOS4uZWRiOTNkYWFiZTY0N2I5M2JjODg0MjFlNGNhNTkyOWI4ZjAwZjg0
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9y
bXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItdmlzaWJpbGl0eS0xLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFj
ZWhvbGRlci12aXNpYmlsaXR5LTEtZXhwZWN0ZWQudHh0CkBAIC0xNiw0ICsxNiw0IEBAIGxheWVy
IGF0ICgxMCw0Nikgc2l6ZSAxNzl4MzYgY2xpcCBhdCAoMTEsNDcpIHNpemUgMTc3eDM0CiAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg4OiAiUGxhY2Vob2xkZXIiCiAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDMsMykgc2l6ZSAxNzV4MTYKICAgICAgIFJlbmRlckJSIHtCUn0gYXQg
KDAsMCkgc2l6ZSAweDE2Ci1jYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHtCUn0gb2YgY2hp
bGQgMCB7RElWfSBvZiB7I3NoYWRvdy1yb290fSBvZiBjaGlsZCAxIHtURVhUQVJFQX0gb2YgY2hp
bGQgMyB7RElWfSBvZiBib2R5CitjYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHtCUn0gb2Yg
Y2hpbGQgMSB7RElWfSBvZiB7I3NoYWRvdy1yb290fSBvZiBjaGlsZCAxIHtURVhUQVJFQX0gb2Yg
Y2hpbGQgMyB7RElWfSBvZiBib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS13aW4vZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci12aXNpYmlsaXR5LTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZm9y
bXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItdmlzaWJpbGl0eS0yLWV4cGVjdGVkLnR4dAppbmRleCAx
OGFlNGI2Y2UyNTViYzlkM2MwM2QzZmVlNzgwMWZiMjJhOTU0Njc5Li45ZTgzYjhmMzhjYTVmZmQ4
MTUxMzA0MjQyMTIyODQ1MWQ3MjljY2NiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS13aW4vZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci12aXNpYmlsaXR5
LTItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9m
YXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXZpc2liaWxpdHktMi1leHBlY3RlZC50eHQK
QEAgLTE1LDQgKzE1LDQgQEAgbGF5ZXIgYXQgKDEwLDQ2KSBzaXplIDE3OXgzNiBjbGlwIGF0ICgx
MSw0Nykgc2l6ZSAxNzd4MzQKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDg4eDE2CiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg4OiAiUGxhY2Vob2xkZXIi
CiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6ZSAxNzV4MTYKLWNhcmV0OiBwb3Np
dGlvbiAwIG9mIGNoaWxkIDAge0RJVn0gb2YgeyNzaGFkb3ctcm9vdH0gb2YgY2hpbGQgMSB7VEVY
VEFSRUF9IG9mIGNoaWxkIDMge0RJVn0gb2YgYm9keQorY2FyZXQ6IHBvc2l0aW9uIDAgb2YgY2hp
bGQgMSB7RElWfSBvZiB7I3NoYWRvdy1yb290fSBvZiBjaGlsZCAxIHtURVhUQVJFQX0gb2YgY2hp
bGQgMyB7RElWfSBvZiBib2R5Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>