<?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>132859</bug_id>
          
          <creation_ts>2014-05-13 02:19:43 -0700</creation_ts>
          <short_desc>[CSS Regions] Assertion failure in some cases with inline blocks</short_desc>
          <delta_ts>2014-05-13 23:34:25 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>AdobeTracked</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrei Bucur">abucur</reporter>
          <assigned_to name="Andrei Bucur">abucur</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1008896</commentid>
    <comment_count>0</comment_count>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2014-05-13 02:19:43 -0700</bug_when>
    <thetext>See the attached repro.

If a line is pulled in a new region, the blocks contained by it don&apos;t clear the RenderBoxRegionInfo from the old region.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008898</commentid>
    <comment_count>1</comment_count>
      <attachid>231365</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2014-05-13 02:20:54 -0700</bug_when>
    <thetext>Created attachment 231365
Repro</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008923</commentid>
    <comment_count>2</comment_count>
      <attachid>231374</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2014-05-13 06:54:36 -0700</bug_when>
    <thetext>Created attachment 231374
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008927</commentid>
    <comment_count>3</comment_count>
      <attachid>231376</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2014-05-13 07:01:07 -0700</bug_when>
    <thetext>Created attachment 231376
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008928</commentid>
    <comment_count>4</comment_count>
      <attachid>231376</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-05-13 07:04:18 -0700</bug_when>
    <thetext>Comment on attachment 231376
Patch

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

&gt; Source/WebCore/rendering/RenderBlock.cpp:3877
&gt; +bool RenderBlock::hasRegionRangeInFlowThread() const

Shouldn&apos;t this method be in RenderBox?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008934</commentid>
    <comment_count>5</comment_count>
      <attachid>231379</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2014-05-13 07:26:32 -0700</bug_when>
    <thetext>Created attachment 231379
Patch with feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008935</commentid>
    <comment_count>6</comment_count>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2014-05-13 07:27:00 -0700</bug_when>
    <thetext>D(In reply to comment #4)
&gt; (From update of attachment 231376 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=231376&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBlock.cpp:3877
&gt; &gt; +bool RenderBlock::hasRegionRangeInFlowThread() const
&gt; 
&gt; Shouldn&apos;t this method be in RenderBox?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008939</commentid>
    <comment_count>7</comment_count>
      <attachid>231379</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-05-13 07:52:33 -0700</bug_when>
    <thetext>Comment on attachment 231379
Patch with feedback

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009201</commentid>
    <comment_count>8</comment_count>
      <attachid>231379</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-13 23:34:21 -0700</bug_when>
    <thetext>Comment on attachment 231379
Patch with feedback

Clearing flags on attachment: 231379

Committed r168791: &lt;http://trac.webkit.org/changeset/168791&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009202</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-13 23:34:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>231365</attachid>
            <date>2014-05-13 02:20:54 -0700</date>
            <delta_ts>2014-05-13 02:20:54 -0700</delta_ts>
            <desc>Repro</desc>
            <filename>range_test.html</filename>
            <type>text/html</type>
            <size>1012</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5yZWdpb24gewoJCS13ZWJraXQtZmxvdy1mcm9tOiBm
bG93OwoJCWJvcmRlcjogdGhpbiBzb2xpZCBibGFjazsKCQloZWlnaHQ6IDEyMHB4OwoJCXdpZHRo
OiAzMDBweDsKCQlmbG9hdDogbGVmdDsKCX0KCgkjY29udGVudCB7CgkJLXdlYmtpdC1mbG93LWlu
dG86IGZsb3c7CgkJbWFyZ2luLXRvcDogNTBweDsKCX0KCgkjb25lIHsKCQl4LXdlYmtpdC1yZWdp
b24tYnJlYWstYWZ0ZXI6IGFsd2F5czsKCQliYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKCQl3aWR0
aDogMTAwcHg7CgkJaGVpZ2h0OiAxMDBweDsKCX0KCSN0d28gewoJCXdpZHRoOiAxMHB4OwoJCWhl
aWdodDogMTBweDsKCQliYWNrZ3JvdW5kLWNvbG9yOiBibHVlOwoJfQoKCSNpbmxpbmVibG9jayB7
CgkJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJCWJhY2tncm91bmQtY29sb3I6IGJsdWU7CgkJcGFk
ZGluZzogMTBweDsKCX0KCgkjYm94b25saW5lIHsKCQliYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsK
CX0KCgkjb3V0c2lkZSB7CgkJYm9yZGVyOiB0aGluIHNvbGlkIHJlZDsKCQltYXJnaW46IDVweDsK
CX0KPC9zdHlsZT4KCjxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CjxkaXYgY2xhc3M9InJlZ2lv
biI+PC9kaXY+Cgo8ZGl2IGlkPSJjb250ZW50Ij48ZGl2IGlkPSJvdXRzaWRlIj5BQUE8YnIvPkFB
QTxici8+QUFBPGJyLz5BQUE8YnIvPjxkaXYgaWQ9ImlubGluZWJsb2NrIj48ZGl2IGlkPSJib3hv
bmxpbmUiPkE8L2Rpdj48L2Rpdj48L2JyPkFBQTwvZGl2PjwvZGl2PgoKPHNjcmlwdD4Kc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsKCWRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOwoJZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnRlbnQiKS5zdHlsZS5tYXJnaW5Ub3AgPSAiMHB4IjsKCWRvY3VtZW50
LmJvZHkub2Zmc2V0VG9wOwoJZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGVudCIpKTsKfSwgMjAwMCk7Cjwvc2NyaXB0Pg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231374</attachid>
            <date>2014-05-13 06:54:36 -0700</date>
            <delta_ts>2014-05-13 07:01:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132859-20140513165412.patch</filename>
            <type>text/plain</type>
            <size>16594</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4Njc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDY5NDY0NzRjMTI4YTI2
OGQ0YmQ3YmRjZmYyYzc0YzEwMGFjNDkyOC4uZTVjMjZmNjgzZDVmZjMxOGViMjRkYzIxYTJjZDA0
MGJhMGQzM2I4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE0LTA1LTEzICBBbmRy
ZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gQXNz
ZXJ0aW9uIGZhaWx1cmUgaW4gc29tZSBjYXNlcyB3aXRoIGlubGluZSBibG9ja3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjg1OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwYXRjaCBoYXJkZW5z
IHRoZSBjb25kaXRpb25zIHdoZW4gdGhlIHJlZ2lvbiByYW5nZSBjYWNoZXMgYXJlCisgICAgICAg
IHBvcHVsYXRlZCB0byBhdm9pZCBkZXN5bmNocm9uaXphdGlvbnMgd2hlbiBvYmplY3RzIG1vdmUg
ZHVyaW5nIGxheW91dC4KKyAgICAgICAgVGhpcyBpcyB0cnVlIGVzcGVjaWFsbHkgaW4gdGhlIGNh
c2Ugb2YgdGhlIGJveGVzIGZvdW5kIGluc2lkZQorICAgICAgICBpbmxpbmUgYmxvY2tzLCB0aGF0
IGdldCB0aGVpciByYW5nZSBmcm9tIHRoZSBjb250YWluaW5nIGxpbmUuCisKKyAgICAgICAgVGhl
cmUgaXMgYSBuZXcgZnVuY3Rpb24gfGNvbXB1dGVkUmVnaW9uUmFuZ2VGb3JCb3h8IHRoYXQgd2ls
bCBhbHdheXMKKyAgICAgICAgcmV0dXJuIGEgcmVnaW9uIHJhbmdlIGZvciBhIGJveCB1c2luZyBh
IGJlc3QgZWZmb3J0IGFsZ29yaXRobS4gVGhpcyBzaG91bGQKKyAgICAgICAgYmUgdXNlZCBvbmx5
IHdoZW4gdGhlcmUncyBubyBuZWVkIHRvIGNhY2hlIHJlZ2lvbiBpbmZvcm1hdGlvbi4KKworICAg
ICAgICBUaGlzIGNoYW5nZSBhbHNvIGFsbG93cyBiZXR0ZXIgY29udHJvbCBvdmVyIHRoZSBsaWZl
Y3ljbGUgb2YgdGhlCisgICAgICAgIHxSZW5kZXJCb3hSZWdpb25JbmZvfCBvYmplY3RzIHN0b3Jl
ZCBvbiB0aGUgcmVnaW9ucy4gV2UgY2FuIG5vdyBpdGVyYXRlCisgICAgICAgIG92ZXIgdGhlIGZ1
bGwgcmFuZ2Ugb2YgdGhlIGJveCB3aGVuIGNsZWFuaW5nIHVwIHRoZSByZWdpb24gYm94IGluZm8u
IFRoZQorICAgICAgICBzYW1lIGFwcGxpZXMgZm9yIHRoZSB3aWR0aCBjaGFuZ2UgZGV0ZWN0aW9u
IGZ1bmN0aW9uLgorCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9ucy9pbmxpbmUtYmxvY2stc2hp
ZnRlZC1yZWdpb24uaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpoYXNSZWdpb25SYW5nZUluRmxvd1RocmVh
ZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9ja0Zsb3c6OnVwZGF0ZVJlZ2lvbkZvckxpbmUpOiBEb24ndCBzZXQgdGhlIGNvbnRhaW5pbmcK
KyAgICAgICAgcmVnaW9uIGlmIHRoZSBibG9jayBkb2Vzbid0IGhhdmUgYSByYW5nZS4gVGhlIHJl
dHVybmVkIHZhbHVlIHdvdWxkIG5vdAorICAgICAgICBiZSBjb3JyZWN0bHkgY2xhbXBlZC4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJGbG93VGhyZWFkOjpyZW1vdmVSZW5kZXJCb3hSZWdpb25JbmZvKTogSXRlcmF0ZSBv
bmx5IG92ZXIKKyAgICAgICAgdGhlIHJhbmdlIG9mIHRoZSBib3gsIG5vdCBmcm9tIHRoZSBzdGFy
dCBvZiB0aGUgcmVnaW9uIGNoYWluLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVh
ZDo6bG9naWNhbFdpZHRoQ2hhbmdlZEluUmVnaW9uc0ZvckJsb2NrKTogU2FtZSBhcworICAgICAg
ICBhYm92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6Omhhc0NhY2hlZFJl
Z2lvblJhbmdlRm9yQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6Omdl
dFJlZ2lvblJhbmdlRm9yQm94RnJvbUNhY2hlZEluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRmxvd1RocmVhZDo6Z2V0UmVnaW9uUmFuZ2VGb3JCb3gpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRmxvd1RocmVhZDo6Y29tcHV0ZWRSZWdpb25SYW5nZUZvckJveCk6IEJlc3QgZWZmb3J0
IGZ1bmN0aW9uCisgICAgICAgIHRvIGRldGVybWluZSB0aGUgcmFuZ2Ugb2YgYSBib3guIEl0IHdp
bGwgYWx3YXlzIHJldHVybiBzb21ldGhpbmcgYXMgbG9uZworICAgICAgICBhcyB0aGUgZmxvdyB0
aHJlYWQgaGFzIHJlZ2lvbnMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpv
YmplY3RTaG91bGRGcmFnbWVudEluRmxvd1JlZ2lvbik6IFVzZSB0aGUgbmV3IGZ1bmN0aW9uCisg
ICAgICAgIHRvIGRldGVybWluZSB0aGUgcmFuZ2UuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckZsb3dUaHJlYWQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFk
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6YWJzb2x1dGVR
dWFkc0ZvckJveCk6IFVzZSB0aGUgbmV3IGZ1bmN0aW9uIHRvIGRldGVybWluZQorICAgICAgICB0
aGUgcmFuZ2UuCisKIDIwMTQtMDUtMTIgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYktpdDIgb24gaU9TIG5lZWRzIHRvIGNhcHR1cmUgdGhlIG1haW4gdGhyZWFk
J3MgZmxvYXRpbmcgcG9pbnQgZW52aXJvbm1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAppbmRleCBjNTA3ZDY2YmI4ZjJkODZmNWUwNWQ5ZmMwYmU3YTJmMzU3MzY3
ZTZmLi43YjAzYTE5Yzg5ZTc3MjlkZGI3MWJkOWMzM2FjMjRjOWE0YzhkODcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTM4NzQsNiArMzg3NCwxNSBAQCBM
YXlvdXRVbml0IFJlbmRlckJsb2NrOjpvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkg
Y29uc3QKICAgICByZXR1cm4gMDsKIH0KIAorYm9vbCBSZW5kZXJCbG9jazo6aGFzUmVnaW9uUmFu
Z2VJbkZsb3dUaHJlYWQoKSBjb25zdAoreworICAgIFJlbmRlckZsb3dUaHJlYWQqIGZsb3dUaHJl
YWQgPSBmbG93VGhyZWFkQ29udGFpbmluZ0Jsb2NrKCk7CisgICAgaWYgKCFmbG93VGhyZWFkIHx8
ICFmbG93VGhyZWFkLT5oYXNWYWxpZFJlZ2lvbkluZm8oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgcmV0dXJuIGZsb3dUaHJlYWQtPmhhc0NhY2hlZFJlZ2lvblJhbmdlRm9yQm94KHRo
aXMpOworfQorCiBSZW5kZXJSZWdpb24qIFJlbmRlckJsb2NrOjpyZWdpb25BdEJsb2NrT2Zmc2V0
KExheW91dFVuaXQgYmxvY2tPZmZzZXQpIGNvbnN0CiB7CiAgICAgUmVuZGVyRmxvd1RocmVhZCog
Zmxvd1RocmVhZCA9IGZsb3dUaHJlYWRDb250YWluaW5nQmxvY2soKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggZTMwM2NkMmJmNzZiMzhlYjM2NjViNzZkMWI3ZjJi
Mzk3NzIwYThiNS4uYzdkYWFhZmQzN2ZiMjk2Mjk1Y2I3OTMzZjgwODJmMzA3ZDgwMzc3MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTUxOSw2ICs1MTksNyBAQCBw
cm90ZWN0ZWQ6CiBwdWJsaWM6CiAgICAgdmlydHVhbCBMYXlvdXRVbml0IG9mZnNldEZyb21Mb2dp
Y2FsVG9wT2ZGaXJzdFBhZ2UoKSBjb25zdCBvdmVycmlkZTsKICAgICBSZW5kZXJSZWdpb24qIHJl
Z2lvbkF0QmxvY2tPZmZzZXQoTGF5b3V0VW5pdCkgY29uc3Q7CisgICAgYm9vbCBoYXNSZWdpb25S
YW5nZUluRmxvd1RocmVhZCgpIGNvbnN0OwogCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgdGVtcG9y
YXJ5IHRvIGFsbG93IHVzIHRvIG1vdmUgY29kZSBmcm9tIFJlbmRlckJsb2NrIGludG8gUmVuZGVy
QmxvY2tGbG93IHRoYXQgYWNjZXNzZXMgbWVtYmVyIHZhcmlhYmxlcyB0aGF0IHdlIGhhdmVuJ3Qg
bW92ZWQgb3V0IG9mCiAgICAgLy8gUmVuZGVyQmxvY2sgeWV0LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAppbmRleCBjMmRjZWRkYWUz
NzM2NzQ1N2QzMTRiMWQzYjQxZGE4NTRiNzViNDA3Li43MGE2YzBlMTQ0ODViMWM1NzBiYmE5NThm
OTNjNjM3OWU3NDEzNWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tMaW5lTGF5b3V0LmNwcApAQCAtMTkxOCwxMCArMTkxOCwxNCBAQCB2b2lkIFJlbmRl
ckJsb2NrRmxvdzo6dXBkYXRlUmVnaW9uRm9yTGluZShSb290SW5saW5lQm94KiBsaW5lQm94KSBj
b25zdAogewogICAgIEFTU0VSVChsaW5lQm94KTsKIAotICAgIGlmIChhdXRvIGNvbnRhaW5pbmdS
ZWdpb24gPSByZWdpb25BdEJsb2NrT2Zmc2V0KGxpbmVCb3gtPmxpbmVUb3BXaXRoTGVhZGluZygp
KSkKLSAgICAgICAgbGluZUJveC0+c2V0Q29udGFpbmluZ1JlZ2lvbigqY29udGFpbmluZ1JlZ2lv
bik7Ci0gICAgZWxzZQorICAgIGlmICghaGFzUmVnaW9uUmFuZ2VJbkZsb3dUaHJlYWQoKSkKICAg
ICAgICAgbGluZUJveC0+Y2xlYXJDb250YWluaW5nUmVnaW9uKCk7CisgICAgZWxzZSB7CisgICAg
ICAgIGlmIChhdXRvIGNvbnRhaW5pbmdSZWdpb24gPSByZWdpb25BdEJsb2NrT2Zmc2V0KGxpbmVC
b3gtPmxpbmVUb3BXaXRoTGVhZGluZygpKSkKKyAgICAgICAgICAgIGxpbmVCb3gtPnNldENvbnRh
aW5pbmdSZWdpb24oKmNvbnRhaW5pbmdSZWdpb24pOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBsaW5lQm94LT5jbGVhckNvbnRhaW5pbmdSZWdpb24oKTsKKyAgICB9CiAKICAgICBSb290SW5s
aW5lQm94KiBwcmV2TGluZUJveCA9IGxpbmVCb3gtPnByZXZSb290Qm94KCk7CiAgICAgaWYgKCFw
cmV2TGluZUJveCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFk
LmNwcAppbmRleCBiNDVkZTk4ZGMzMjNkMjQxNmMwOGM1ZmNiNDZjMjRmOWZlNzFkMTYwLi4xZmY2
ZGQ3YzBiM2RmNzc5YjhlYzhhMTIxYmMxMzIwZWY4MmU3ZDQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCkBAIC01NzgsMTIgKzU3OCwxMyBAQCB2
b2lkIFJlbmRlckZsb3dUaHJlYWQ6OnJlbW92ZVJlbmRlckJveFJlZ2lvbkluZm8oUmVuZGVyQm94
KiBib3gpCiAKICAgICBSZW5kZXJSZWdpb24qIHN0YXJ0UmVnaW9uID0gbnVsbHB0cjsKICAgICBS
ZW5kZXJSZWdpb24qIGVuZFJlZ2lvbiA9IG51bGxwdHI7Ci0gICAgZ2V0UmVnaW9uUmFuZ2VGb3JC
b3goYm94LCBzdGFydFJlZ2lvbiwgZW5kUmVnaW9uKTsKLQotICAgIGZvciAoYXV0byYgcmVnaW9u
IDogbV9yZWdpb25MaXN0KSB7Ci0gICAgICAgIHJlZ2lvbi0+cmVtb3ZlUmVuZGVyQm94UmVnaW9u
SW5mbyhib3gpOwotICAgICAgICBpZiAocmVnaW9uID09IGVuZFJlZ2lvbikKLSAgICAgICAgICAg
IGJyZWFrOworICAgIGlmIChnZXRSZWdpb25SYW5nZUZvckJveChib3gsIHN0YXJ0UmVnaW9uLCBl
bmRSZWdpb24pKSB7CisgICAgICAgIGZvciAoYXV0byBpdCA9IG1fcmVnaW9uTGlzdC5maW5kKHN0
YXJ0UmVnaW9uKSwgZW5kID0gbV9yZWdpb25MaXN0LmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsK
KyAgICAgICAgICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gKml0OworICAgICAgICAgICAgcmVn
aW9uLT5yZW1vdmVSZW5kZXJCb3hSZWdpb25JbmZvKGJveCk7CisgICAgICAgICAgICBpZiAocmVn
aW9uID09IGVuZFJlZ2lvbikKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAg
IH0KIAogI2lmbmRlZiBOREVCVUcKQEAgLTY0MCw5ICs2NDEsMTEgQEAgdm9pZCBSZW5kZXJGbG93
VGhyZWFkOjpsb2dpY2FsV2lkdGhDaGFuZ2VkSW5SZWdpb25zRm9yQmxvY2soY29uc3QgUmVuZGVy
QmxvY2sqIGIKIAogICAgIFJlbmRlclJlZ2lvbiogc3RhcnRSZWdpb24gPSBudWxscHRyOwogICAg
IFJlbmRlclJlZ2lvbiogZW5kUmVnaW9uID0gbnVsbHB0cjsKLSAgICBnZXRSZWdpb25SYW5nZUZv
ckJveChibG9jaywgc3RhcnRSZWdpb24sIGVuZFJlZ2lvbik7CisgICAgaWYgKCFnZXRSZWdpb25S
YW5nZUZvckJveChibG9jaywgc3RhcnRSZWdpb24sIGVuZFJlZ2lvbikpCisgICAgICAgIHJldHVy
bjsKIAotICAgIGZvciAoYXV0byYgcmVnaW9uIDogbV9yZWdpb25MaXN0KSB7CisgICAgZm9yIChh
dXRvIGl0ID0gbV9yZWdpb25MaXN0LmZpbmQoc3RhcnRSZWdpb24pLCBlbmQgPSBtX3JlZ2lvbkxp
c3QuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAgICBSZW5kZXJSZWdpb24qIHJlZ2lv
biA9ICppdDsKICAgICAgICAgQVNTRVJUKCFyZWdpb24tPm5lZWRzTGF5b3V0KCkgfHwgcmVnaW9u
LT5pc1JlbmRlclJlZ2lvblNldCgpKTsKIAogICAgICAgICAvLyBXZSBoYXZlIG5vIGluZm9ybWF0
aW9uIGNvbXB1dGVkIGZvciB0aGlzIHJlZ2lvbiBzbyB3ZSBuZWVkIHRvIGRvIGl0LgpAQCAtNzU0
LDE0ICs3NTcsNyBAQCBib29sIFJlbmRlckZsb3dUaHJlYWQ6Omhhc0NhY2hlZFJlZ2lvblJhbmdl
Rm9yQm94KGNvbnN0IFJlbmRlckJveCogYm94KSBjb25zdAogewogICAgIEFTU0VSVChib3gpOwog
Ci0gICAgaWYgKG1fcmVnaW9uUmFuZ2VNYXAuY29udGFpbnMoYm94KSkKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0KLSAgICBJbmxpbmVFbGVtZW50Qm94KiBib3hXcmFwcGVyID0gYm94LT5pbmxpbmVC
b3hXcmFwcGVyKCk7Ci0gICAgaWYgKGJveFdyYXBwZXIgJiYgYm94V3JhcHBlci0+cm9vdCgpLmNv
bnRhaW5pbmdSZWdpb24oKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICByZXR1cm4gZmFs
c2U7CisgICAgcmV0dXJuIG1fcmVnaW9uUmFuZ2VNYXAuY29udGFpbnMoYm94KTsKIH0KIAogYm9v
bCBSZW5kZXJGbG93VGhyZWFkOjpnZXRSZWdpb25SYW5nZUZvckJveEZyb21DYWNoZWRJbmZvKGNv
bnN0IFJlbmRlckJveCogYm94LCBSZW5kZXJSZWdpb24qJiBzdGFydFJlZ2lvbiwgUmVuZGVyUmVn
aW9uKiYgZW5kUmVnaW9uKSBjb25zdApAQCAtNzc5LDEzICs3NzUsNiBAQCBib29sIFJlbmRlckZs
b3dUaHJlYWQ6OmdldFJlZ2lvblJhbmdlRm9yQm94RnJvbUNhY2hlZEluZm8oY29uc3QgUmVuZGVy
Qm94KiBib3gsCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIElubGluZUVsZW1l
bnRCb3gqIGJveFdyYXBwZXIgPSBib3gtPmlubGluZUJveFdyYXBwZXIoKTsKLSAgICBpZiAoYm94
V3JhcHBlciAmJiBib3hXcmFwcGVyLT5yb290KCkuY29udGFpbmluZ1JlZ2lvbigpKSB7Ci0gICAg
ICAgIHN0YXJ0UmVnaW9uID0gZW5kUmVnaW9uID0gYm94V3JhcHBlci0+cm9vdCgpLmNvbnRhaW5p
bmdSZWdpb24oKTsKLSAgICAgICAgQVNTRVJUKG1fcmVnaW9uTGlzdC5jb250YWlucyhzdGFydFJl
Z2lvbikgJiYgbV9yZWdpb25MaXN0LmNvbnRhaW5zKGVuZFJlZ2lvbikpOwotICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9Ci0KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTgwNSwxMiArNzk0
LDMyIEBAIGJvb2wgUmVuZGVyRmxvd1RocmVhZDo6Z2V0UmVnaW9uUmFuZ2VGb3JCb3goY29uc3Qg
UmVuZGVyQm94KiBib3gsIFJlbmRlclJlZ2lvbiomCiAgICAgaWYgKGdldFJlZ2lvblJhbmdlRm9y
Qm94RnJvbUNhY2hlZEluZm8oYm94LCBzdGFydFJlZ2lvbiwgZW5kUmVnaW9uKSkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUmVuZGVyRmxvd1Ro
cmVhZDo6Y29tcHV0ZWRSZWdpb25SYW5nZUZvckJveChjb25zdCBSZW5kZXJCb3gqIGJveCwgUmVu
ZGVyUmVnaW9uKiYgc3RhcnRSZWdpb24sIFJlbmRlclJlZ2lvbiomIGVuZFJlZ2lvbikgY29uc3QK
K3sKKyAgICBBU1NFUlQoYm94KTsKKworICAgIHN0YXJ0UmVnaW9uID0gZW5kUmVnaW9uID0gbnVs
bHB0cjsKKyAgICBpZiAoIWhhc1ZhbGlkUmVnaW9uSW5mbygpKSAvLyBXZSBjbGVhciB0aGUgcmFu
Z2VzIHdoZW4gd2UgaW52YWxpZGF0ZSB0aGUgcmVnaW9ucy4KKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgaWYgKGdldFJlZ2lvblJhbmdlRm9yQm94KGJveCwgc3RhcnRSZWdpb24sIGVuZFJl
Z2lvbikpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgLy8gQ2hlY2sgaWYgdGhlIGJveCBp
cyBjb250YWluZWQgaW4gYW4gdW5zcGxpdHRhYmxlIGJveC4KICAgICAvLyBJZiB0aGUgdW5zcGxp
dHRhYmxlIGJveCBoYXMgcmVnaW9uIHJhbmdlLCB0aGVuIHRoZSBzdGFydCBhbmQgZW5kIHJlZ2lv
biBmb3IgdGhlIGJveAogICAgIC8vIHNob3VsZCBiZSBlcXVhbCB3aXRoIHRoZSByZWdpb24gZm9y
IHRoZSB1bnNwbGl0dGFibGUgYm94IGlmIGFueS4KICAgICBSZW5kZXJCb3gqIGNiID0gY29uc3Rf
Y2FzdDxSZW5kZXJCb3gqPihib3gpOwotICAgIFJlbmRlckJveCogY2JUb1VzZSA9IG51bGxwdHI7
Ci0gICAgd2hpbGUgKCFjYi0+aXNSZW5kZXJGbG93VGhyZWFkKCkgJiYgIWNiVG9Vc2UpIHsKKyAg
ICB3aGlsZSAoIWNiLT5pc1JlbmRlckZsb3dUaHJlYWQoKSkgeworICAgICAgICBJbmxpbmVFbGVt
ZW50Qm94KiBib3hXcmFwcGVyID0gY2ItPmlubGluZUJveFdyYXBwZXIoKTsKKyAgICAgICAgaWYg
KGJveFdyYXBwZXIgJiYgYm94V3JhcHBlci0+cm9vdCgpLmNvbnRhaW5pbmdSZWdpb24oKSkgewor
ICAgICAgICAgICAgc3RhcnRSZWdpb24gPSBlbmRSZWdpb24gPSBib3hXcmFwcGVyLT5yb290KCku
Y29udGFpbmluZ1JlZ2lvbigpOworICAgICAgICAgICAgQVNTRVJUKG1fcmVnaW9uTGlzdC5jb250
YWlucyhzdGFydFJlZ2lvbikpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0K
KwogICAgICAgICAvLyBGSVhNRTogVXNlIHRoZSBjb250YWluaW5nQmxvY2soKSB2YWx1ZSBvbmNl
IHdlIHBhdGNoIGFsbCB0aGUgbGF5b3V0IHN5c3RlbXMgdG8gYmUgcmVnaW9uIHJhbmdlIGF3YXJl
CiAgICAgICAgIC8vIChlLmcuIGlmIHdlIHVzZSBjb250YWluaW5nQmxvY2soKSB0aGUgc2hhZG93
IGNvbnRyb2xzIG9mIGEgdmlkZW8gZWxlbWVudCB3b24ndCBnZXQgdGhlIHJhbmdlIGZyb20gdGhl
CiAgICAgICAgIC8vIHZpZGVvIGJveCBiZWNhdXNlIGl0J3Mgbm90IGEgYmxvY2s7IHRoZXkgbmVl
ZCB0byBiZSBwYXRjaGVkIHNlcGFyYXRlbHkpLgpAQCAtODE4LDE3ICs4MjcsMTUgQEAgYm9vbCBS
ZW5kZXJGbG93VGhyZWFkOjpnZXRSZWdpb25SYW5nZUZvckJveChjb25zdCBSZW5kZXJCb3gqIGJv
eCwgUmVuZGVyUmVnaW9uKiYKICAgICAgICAgY2IgPSBjYi0+cGFyZW50KCktPmVuY2xvc2luZ0Jv
eCgpOwogICAgICAgICBBU1NFUlQoY2IpOwogCi0gICAgICAgIGlmIChoYXNDYWNoZWRSZWdpb25S
YW5nZUZvckJveChjYikpCi0gICAgICAgICAgICBjYlRvVXNlID0gY2I7Ci0gICAgfQotCi0gICAg
Ly8gSWYgYSBib3ggZG9lc24ndCBoYXZlIGEgY2FjaGVkIHJlZ2lvbiByYW5nZSBpdCB1c3VhbGx5
IG1lYW5zIHRoZSBib3ggYmVsb25ncyB0byBhIGxpbmUgc28gc3RhcnRSZWdpb24gc2hvdWxkIGJl
IGVxdWFsIHdpdGggZW5kUmVnaW9uLgotICAgIC8vIEZJWE1FOiBGaW5kIHRoZSBjYXNlcyB3aGVu
IHRoaXMgc3RhcnRSZWdpb24gc2hvdWxkIG5vdCBiZSBlcXVhbCB3aXRoIGVuZFJlZ2lvbiBhbmQg
bWFrZSBzdXJlIHRoZXNlIGJveGVzIGhhdmUgY2FjaGVkIHJlZ2lvbiByYW5nZXMuCi0gICAgaWYg
KGNiVG9Vc2UpIHsKLSAgICAgICAgc3RhcnRSZWdpb24gPSBlbmRSZWdpb24gPSBjb25zdF9jYXN0
PFJlbmRlckZsb3dUaHJlYWQqPih0aGlzKS0+cmVnaW9uQXRCbG9ja09mZnNldChjYlRvVXNlLCBi
b3gtPm9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSwgdHJ1ZSwgRGlzYWxsb3dSZWdp
b25BdXRvR2VuZXJhdGlvbik7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAvLyBJZiBh
IGJveCBkb2Vzbid0IGhhdmUgYSBjYWNoZWQgcmVnaW9uIHJhbmdlIGl0IHVzdWFsbHkgbWVhbnMg
dGhlIGJveCBiZWxvbmdzIHRvIGEgbGluZSBzbyBzdGFydFJlZ2lvbiBzaG91bGQgYmUgZXF1YWwg
d2l0aCBlbmRSZWdpb24uCisgICAgICAgIC8vIEZJWE1FOiBGaW5kIHRoZSBjYXNlcyB3aGVuIHRo
aXMgc3RhcnRSZWdpb24gc2hvdWxkIG5vdCBiZSBlcXVhbCB3aXRoIGVuZFJlZ2lvbiBhbmQgbWFr
ZSBzdXJlIHRoZXNlIGJveGVzIGhhdmUgY2FjaGVkIHJlZ2lvbiByYW5nZXMuCisgICAgICAgIGlm
IChoYXNDYWNoZWRSZWdpb25SYW5nZUZvckJveChjYikpIHsKKyAgICAgICAgICAgIHN0YXJ0UmVn
aW9uID0gZW5kUmVnaW9uID0gY29uc3RfY2FzdDxSZW5kZXJGbG93VGhyZWFkKj4odGhpcyktPnJl
Z2lvbkF0QmxvY2tPZmZzZXQoY2IsIGJveC0+b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFn
ZSgpLCB0cnVlLCBEaXNhbGxvd1JlZ2lvbkF1dG9HZW5lcmF0aW9uKTsKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICB9CiAgICAgfQogCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBAIC04NjQsNyArODcxLDcgQEAgYm9vbCBSZW5kZXJG
bG93VGhyZWFkOjpvYmplY3RTaG91bGRGcmFnbWVudEluRmxvd1JlZ2lvbihjb25zdCBSZW5kZXJP
YmplY3QqIG9iamUKICAgICBSZW5kZXJSZWdpb24qIGVuY2xvc2luZ0JveEVuZFJlZ2lvbiA9IG51
bGxwdHI7CiAgICAgLy8gSWYgdGhlIGJveCBoYXMgbm8gcmFuZ2UsIGRvIG5vdCBjaGVjayByZWdp
b25JblJhbmdlLiBCb3hlcyBpbnNpZGUgaW5saW5lcyBkbyBub3QgZ2V0IHJhbmdlcy4KICAgICAv
LyBJbnN0ZWFkLCB0aGUgY29udGFpbmluZyBSb290SW5saW5lQm94IHdpbGwgYWJvcnQgd2hlbiB0
cnlpbmcgdG8gcGFpbnQgaW5zaWRlIHRoZSB3cm9uZyByZWdpb24uCi0gICAgaWYgKGdldFJlZ2lv
blJhbmdlRm9yQm94KGVuY2xvc2luZ0JveCwgZW5jbG9zaW5nQm94U3RhcnRSZWdpb24sIGVuY2xv
c2luZ0JveEVuZFJlZ2lvbikKKyAgICBpZiAoY29tcHV0ZWRSZWdpb25SYW5nZUZvckJveChlbmNs
b3NpbmdCb3gsIGVuY2xvc2luZ0JveFN0YXJ0UmVnaW9uLCBlbmNsb3NpbmdCb3hFbmRSZWdpb24p
CiAgICAgICAgICYmICFyZWdpb25JblJhbmdlKHJlZ2lvbiwgZW5jbG9zaW5nQm94U3RhcnRSZWdp
b24sIGVuY2xvc2luZ0JveEVuZFJlZ2lvbikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCmluZGV4IGRkNGM4
NGRlMDRiNGEyYzQ1NDFmZjI3Y2MzNGY0N2UwMjVhMzQzNDkuLjljOWQ5MGRjYTJiYTZiOWYyNjBk
OWE1YjFiNzYzNzg3MjJiYjhhMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsb3dUaHJlYWQuaApAQCAtMTQzLDYgKzE0Myw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
dm9pZCBzZXRSZWdpb25SYW5nZUZvckJveChjb25zdCBSZW5kZXJCb3gqLCBSZW5kZXJSZWdpb24q
LCBSZW5kZXJSZWdpb24qKTsKICAgICBib29sIGdldFJlZ2lvblJhbmdlRm9yQm94KGNvbnN0IFJl
bmRlckJveCosIFJlbmRlclJlZ2lvbiomIHN0YXJ0UmVnaW9uLCBSZW5kZXJSZWdpb24qJiBlbmRS
ZWdpb24pIGNvbnN0OworICAgIGJvb2wgY29tcHV0ZWRSZWdpb25SYW5nZUZvckJveChjb25zdCBS
ZW5kZXJCb3gqLCBSZW5kZXJSZWdpb24qJiBzdGFydFJlZ2lvbiwgUmVuZGVyUmVnaW9uKiYgZW5k
UmVnaW9uKSBjb25zdDsKICAgICBib29sIGhhc0NhY2hlZFJlZ2lvblJhbmdlRm9yQm94KGNvbnN0
IFJlbmRlckJveCopIGNvbnN0OwogCiAgICAgLy8gQ2hlY2sgaWYgdGhlIG9iamVjdCBpcyBpbiBy
ZWdpb24gYW5kIHRoZSByZWdpb24gaXMgcGFydCBvZiB0aGlzIGZsb3cgdGhyZWFkLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAppbmRl
eCAyNTgxMGQzMDUzMDYyMWMxZWIzNTUzOWZlY2U3ZmU5MGIxMmEwZGVlLi43ODA3ZWU5YWMxMDEy
ZGNlODI0ZTA1MTYyZDMwZjM2YTRiNTNkYWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcApAQCAtODIwLDcgKzgyMCw3IEBAIGJv
b2wgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjphYnNvbHV0ZVF1YWRzRm9yQm94KFZlY3RvcjxGbG9h
dFF1YWQ+JiBxdWFkcywgYm9vbCoKICAgICBSZW5kZXJSZWdpb24qIHN0YXJ0UmVnaW9uID0gbnVs
bHB0cjsKICAgICBSZW5kZXJSZWdpb24qIGVuZFJlZ2lvbiA9IG51bGxwdHI7CiAgICAgLy8gSWYg
dGhlIGJveCBkb2Vzbid0IGhhdmUgYSByYW5nZSwgd2UgZG9uJ3Qga25vdyBob3cgaXQgaXMgZnJh
Z21lbnRlZCBzbyBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBiZWhhdmlvdXIuCi0gICAgaWYgKCFn
ZXRSZWdpb25SYW5nZUZvckJveChyZW5kZXJlciwgc3RhcnRSZWdpb24sIGVuZFJlZ2lvbikpCisg
ICAgaWYgKCFjb21wdXRlZFJlZ2lvblJhbmdlRm9yQm94KHJlbmRlcmVyLCBzdGFydFJlZ2lvbiwg
ZW5kUmVnaW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgZm9yIChhdXRvIGl0ZXIg
PSBtX3JlZ2lvbkxpc3QuZmluZChzdGFydFJlZ2lvbiksIGVuZCA9IG1fcmVnaW9uTGlzdC5lbmQo
KTsgaXRlciAhPSBlbmQ7ICsraXRlcikgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFhMWMyZTcxNGUyZmVhZDZiMTFjMTE5
ZmM5YWI0MzU4ZmFjMTAwMjMuLmRkYWY0MzYyZWNlMDgzN2QxOWNhODk5YzY2YWNiY2ViM2RjNDc2
NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0wNS0xMyAgQW5kcmVpIEJ1Y3VyICA8YWJ1
Y3VyQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNdIEFzc2VydGlvbiBmYWlsdXJl
IGluIHNvbWUgY2FzZXMgd2l0aCBpbmxpbmUgYmxvY2tzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI4NTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IHRoYXQgbW92aW5nIGxpbmVzIHdpdGggaW5s
aW5lIGJsb2NrcyBkb2Vzbid0IGNhdXNlIGFuIGFzc2VydGlvbi4KKworICAgICAgICAqIGZhc3Qv
cmVnaW9ucy9pbmxpbmUtYmxvY2stc2hpZnRlZC1yZWdpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvaW5saW5lLWJsb2NrLXNoaWZ0ZWQtcmVnaW9uLmh0bWw6
IEFkZGVkLgorCiAyMDE0LTA1LTEzICBMb3JlbnpvIFRpbHZlICA8bHRpbHZlQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUS10gVW5yZXZpZXdlZCBHVEsgZ2FyZGVuaW5nCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaW5saW5lLWJsb2NrLXNoaWZ0ZWQtcmVnaW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9pbmxpbmUtYmxvY2stc2hpZnRlZC1y
ZWdpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmZWIxZTliODI0MGVlMjQyZWQ1ZmUwZGMy
YzM4ZGMwZjE5ZTgxZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lv
bnMvaW5saW5lLWJsb2NrLXNoaWZ0ZWQtcmVnaW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKK1Rlc3QgZm9yIFtDU1MgUmVnaW9uc10gQXNzZXJ0aW9uIGZhaWx1cmUgaW4gc29tZSBjYXNl
cyB3aXRoIGlubGluZSBibG9ja3MuIFRoZSB0ZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBubyBjcmFz
aC4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaW5saW5lLWJsb2Nr
LXNoaWZ0ZWQtcmVnaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaW5saW5lLWJs
b2NrLXNoaWZ0ZWQtcmVnaW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGM2MTEwN2I2YTdjY2I2NzA5ODUy
MTI0ZjE5NDNkZGVlNTFiNTEzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9pbmxpbmUtYmxvY2stc2hpZnRlZC1yZWdpb24uaHRtbApAQCAtMCwwICsxLDY0IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
PgorICAgIC5yZWdpb24geworICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKKyAgICAg
ICAgaGVpZ2h0OiAxMjBweDsKKyAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICBmbG9hdDog
bGVmdDsKKyAgICB9CisKKyAgICAjY29udGVudCB7CisgICAgICAgIC13ZWJraXQtZmxvdy1pbnRv
OiBmbG93OworICAgICAgICBtYXJnaW4tdG9wOiA1MHB4OworICAgICAgICBmb250LWZhbWlseTog
QWhlbTsKKyAgICAgICAgZm9udC1zaXplOiAxMnB4OworICAgIH0KKworICAgICNvbmUgeworICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKyAgICAjdHdvIHsKKyAgICAgICAgd2lkdGg6IDEw
cHg7CisgICAgICAgIGhlaWdodDogMTBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1
ZTsKKyAgICB9CisKKyAgICAjaW5saW5lYmxvY2sgeworICAgICAgICBkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICAgIHBhZGRpbmc6
IDEwcHg7CisgICAgfQorCisgICAgI2JveG9ubGluZSB7CisgICAgICAgIGJhY2tncm91bmQtY29s
b3I6IGdyZWVuOworICAgIH0KKworICAgICNvdXRzaWRlIHsKKyAgICAgICAgYm9yZGVyOiB0aGlu
IHNvbGlkIHJlZDsKKyAgICAgICAgbWFyZ2luOiA1cHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI4NTkiPltDU1MgUmVnaW9uc10gQXNzZXJ0aW9uIGZhaWx1
cmUgaW4gc29tZSBjYXNlcyB3aXRoIGlubGluZSBibG9ja3M8L2E+LiBUaGUgdGVzdCBwYXNzZXMg
aWYgdGhlcmUgaXMgbm8gY3Jhc2guPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+
CisgICAgPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKworICAgIDxkaXYgaWQ9ImNvbnRlbnQi
PjxkaXYgaWQ9Im91dHNpZGUiPkFBQTxici8+QUFBPGJyLz5BQUE8YnIvPkFBQTxici8+PGRpdiBp
ZD0iaW5saW5lYmxvY2siPjxkaXYgaWQ9ImJveG9ubGluZSI+QTwvZGl2PjwvZGl2PjwvYnI+QUFB
PC9kaXY+PC9kaXY+CisKKyAgICA8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICBkb2N1bWVudC5ib2R5Lm9m
ZnNldFRvcDsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGVudCIpLnN0eWxlLm1h
cmdpblRvcCA9ICIwcHgiOworICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworICAgIGRvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnQiKSk7
CisgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231376</attachid>
            <date>2014-05-13 07:01:07 -0700</date>
            <delta_ts>2014-05-13 07:26:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132859-20140513170043.patch</filename>
            <type>text/plain</type>
            <size>16696</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4Njc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDY5NDY0NzRjMTI4YTI2
OGQ0YmQ3YmRjZmYyYzc0YzEwMGFjNDkyOC4uZTVjMjZmNjgzZDVmZjMxOGViMjRkYzIxYTJjZDA0
MGJhMGQzM2I4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE0LTA1LTEzICBBbmRy
ZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gQXNz
ZXJ0aW9uIGZhaWx1cmUgaW4gc29tZSBjYXNlcyB3aXRoIGlubGluZSBibG9ja3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjg1OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwYXRjaCBoYXJkZW5z
IHRoZSBjb25kaXRpb25zIHdoZW4gdGhlIHJlZ2lvbiByYW5nZSBjYWNoZXMgYXJlCisgICAgICAg
IHBvcHVsYXRlZCB0byBhdm9pZCBkZXN5bmNocm9uaXphdGlvbnMgd2hlbiBvYmplY3RzIG1vdmUg
ZHVyaW5nIGxheW91dC4KKyAgICAgICAgVGhpcyBpcyB0cnVlIGVzcGVjaWFsbHkgaW4gdGhlIGNh
c2Ugb2YgdGhlIGJveGVzIGZvdW5kIGluc2lkZQorICAgICAgICBpbmxpbmUgYmxvY2tzLCB0aGF0
IGdldCB0aGVpciByYW5nZSBmcm9tIHRoZSBjb250YWluaW5nIGxpbmUuCisKKyAgICAgICAgVGhl
cmUgaXMgYSBuZXcgZnVuY3Rpb24gfGNvbXB1dGVkUmVnaW9uUmFuZ2VGb3JCb3h8IHRoYXQgd2ls
bCBhbHdheXMKKyAgICAgICAgcmV0dXJuIGEgcmVnaW9uIHJhbmdlIGZvciBhIGJveCB1c2luZyBh
IGJlc3QgZWZmb3J0IGFsZ29yaXRobS4gVGhpcyBzaG91bGQKKyAgICAgICAgYmUgdXNlZCBvbmx5
IHdoZW4gdGhlcmUncyBubyBuZWVkIHRvIGNhY2hlIHJlZ2lvbiBpbmZvcm1hdGlvbi4KKworICAg
ICAgICBUaGlzIGNoYW5nZSBhbHNvIGFsbG93cyBiZXR0ZXIgY29udHJvbCBvdmVyIHRoZSBsaWZl
Y3ljbGUgb2YgdGhlCisgICAgICAgIHxSZW5kZXJCb3hSZWdpb25JbmZvfCBvYmplY3RzIHN0b3Jl
ZCBvbiB0aGUgcmVnaW9ucy4gV2UgY2FuIG5vdyBpdGVyYXRlCisgICAgICAgIG92ZXIgdGhlIGZ1
bGwgcmFuZ2Ugb2YgdGhlIGJveCB3aGVuIGNsZWFuaW5nIHVwIHRoZSByZWdpb24gYm94IGluZm8u
IFRoZQorICAgICAgICBzYW1lIGFwcGxpZXMgZm9yIHRoZSB3aWR0aCBjaGFuZ2UgZGV0ZWN0aW9u
IGZ1bmN0aW9uLgorCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9ucy9pbmxpbmUtYmxvY2stc2hp
ZnRlZC1yZWdpb24uaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpoYXNSZWdpb25SYW5nZUluRmxvd1RocmVh
ZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9ja0Zsb3c6OnVwZGF0ZVJlZ2lvbkZvckxpbmUpOiBEb24ndCBzZXQgdGhlIGNvbnRhaW5pbmcK
KyAgICAgICAgcmVnaW9uIGlmIHRoZSBibG9jayBkb2Vzbid0IGhhdmUgYSByYW5nZS4gVGhlIHJl
dHVybmVkIHZhbHVlIHdvdWxkIG5vdAorICAgICAgICBiZSBjb3JyZWN0bHkgY2xhbXBlZC4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJGbG93VGhyZWFkOjpyZW1vdmVSZW5kZXJCb3hSZWdpb25JbmZvKTogSXRlcmF0ZSBv
bmx5IG92ZXIKKyAgICAgICAgdGhlIHJhbmdlIG9mIHRoZSBib3gsIG5vdCBmcm9tIHRoZSBzdGFy
dCBvZiB0aGUgcmVnaW9uIGNoYWluLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVh
ZDo6bG9naWNhbFdpZHRoQ2hhbmdlZEluUmVnaW9uc0ZvckJsb2NrKTogU2FtZSBhcworICAgICAg
ICBhYm92ZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6Omhhc0NhY2hlZFJl
Z2lvblJhbmdlRm9yQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6Omdl
dFJlZ2lvblJhbmdlRm9yQm94RnJvbUNhY2hlZEluZm8pOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRmxvd1RocmVhZDo6Z2V0UmVnaW9uUmFuZ2VGb3JCb3gpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRmxvd1RocmVhZDo6Y29tcHV0ZWRSZWdpb25SYW5nZUZvckJveCk6IEJlc3QgZWZmb3J0
IGZ1bmN0aW9uCisgICAgICAgIHRvIGRldGVybWluZSB0aGUgcmFuZ2Ugb2YgYSBib3guIEl0IHdp
bGwgYWx3YXlzIHJldHVybiBzb21ldGhpbmcgYXMgbG9uZworICAgICAgICBhcyB0aGUgZmxvdyB0
aHJlYWQgaGFzIHJlZ2lvbnMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpv
YmplY3RTaG91bGRGcmFnbWVudEluRmxvd1JlZ2lvbik6IFVzZSB0aGUgbmV3IGZ1bmN0aW9uCisg
ICAgICAgIHRvIGRldGVybWluZSB0aGUgcmFuZ2UuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckZsb3dUaHJlYWQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFk
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6YWJzb2x1dGVR
dWFkc0ZvckJveCk6IFVzZSB0aGUgbmV3IGZ1bmN0aW9uIHRvIGRldGVybWluZQorICAgICAgICB0
aGUgcmFuZ2UuCisKIDIwMTQtMDUtMTIgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYktpdDIgb24gaU9TIG5lZWRzIHRvIGNhcHR1cmUgdGhlIG1haW4gdGhyZWFk
J3MgZmxvYXRpbmcgcG9pbnQgZW52aXJvbm1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAppbmRleCBjNTA3ZDY2YmI4ZjJkODZmNWUwNWQ5ZmMwYmU3YTJmMzU3MzY3
ZTZmLi43YjAzYTE5Yzg5ZTc3MjlkZGI3MWJkOWMzM2FjMjRjOWE0YzhkODcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTM4NzQsNiArMzg3NCwxNSBAQCBM
YXlvdXRVbml0IFJlbmRlckJsb2NrOjpvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkg
Y29uc3QKICAgICByZXR1cm4gMDsKIH0KIAorYm9vbCBSZW5kZXJCbG9jazo6aGFzUmVnaW9uUmFu
Z2VJbkZsb3dUaHJlYWQoKSBjb25zdAoreworICAgIFJlbmRlckZsb3dUaHJlYWQqIGZsb3dUaHJl
YWQgPSBmbG93VGhyZWFkQ29udGFpbmluZ0Jsb2NrKCk7CisgICAgaWYgKCFmbG93VGhyZWFkIHx8
ICFmbG93VGhyZWFkLT5oYXNWYWxpZFJlZ2lvbkluZm8oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgcmV0dXJuIGZsb3dUaHJlYWQtPmhhc0NhY2hlZFJlZ2lvblJhbmdlRm9yQm94KHRo
aXMpOworfQorCiBSZW5kZXJSZWdpb24qIFJlbmRlckJsb2NrOjpyZWdpb25BdEJsb2NrT2Zmc2V0
KExheW91dFVuaXQgYmxvY2tPZmZzZXQpIGNvbnN0CiB7CiAgICAgUmVuZGVyRmxvd1RocmVhZCog
Zmxvd1RocmVhZCA9IGZsb3dUaHJlYWRDb250YWluaW5nQmxvY2soKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggZTMwM2NkMmJmNzZiMzhlYjM2NjViNzZkMWI3ZjJi
Mzk3NzIwYThiNS4uYzdkYWFhZmQzN2ZiMjk2Mjk1Y2I3OTMzZjgwODJmMzA3ZDgwMzc3MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTUxOSw2ICs1MTksNyBAQCBw
cm90ZWN0ZWQ6CiBwdWJsaWM6CiAgICAgdmlydHVhbCBMYXlvdXRVbml0IG9mZnNldEZyb21Mb2dp
Y2FsVG9wT2ZGaXJzdFBhZ2UoKSBjb25zdCBvdmVycmlkZTsKICAgICBSZW5kZXJSZWdpb24qIHJl
Z2lvbkF0QmxvY2tPZmZzZXQoTGF5b3V0VW5pdCkgY29uc3Q7CisgICAgYm9vbCBoYXNSZWdpb25S
YW5nZUluRmxvd1RocmVhZCgpIGNvbnN0OwogCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgdGVtcG9y
YXJ5IHRvIGFsbG93IHVzIHRvIG1vdmUgY29kZSBmcm9tIFJlbmRlckJsb2NrIGludG8gUmVuZGVy
QmxvY2tGbG93IHRoYXQgYWNjZXNzZXMgbWVtYmVyIHZhcmlhYmxlcyB0aGF0IHdlIGhhdmVuJ3Qg
bW92ZWQgb3V0IG9mCiAgICAgLy8gUmVuZGVyQmxvY2sgeWV0LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAppbmRleCBjMmRjZWRkYWUz
NzM2NzQ1N2QzMTRiMWQzYjQxZGE4NTRiNzViNDA3Li43MGE2YzBlMTQ0ODViMWM1NzBiYmE5NThm
OTNjNjM3OWU3NDEzNWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tMaW5lTGF5b3V0LmNwcApAQCAtMTkxOCwxMCArMTkxOCwxNCBAQCB2b2lkIFJlbmRl
ckJsb2NrRmxvdzo6dXBkYXRlUmVnaW9uRm9yTGluZShSb290SW5saW5lQm94KiBsaW5lQm94KSBj
b25zdAogewogICAgIEFTU0VSVChsaW5lQm94KTsKIAotICAgIGlmIChhdXRvIGNvbnRhaW5pbmdS
ZWdpb24gPSByZWdpb25BdEJsb2NrT2Zmc2V0KGxpbmVCb3gtPmxpbmVUb3BXaXRoTGVhZGluZygp
KSkKLSAgICAgICAgbGluZUJveC0+c2V0Q29udGFpbmluZ1JlZ2lvbigqY29udGFpbmluZ1JlZ2lv
bik7Ci0gICAgZWxzZQorICAgIGlmICghaGFzUmVnaW9uUmFuZ2VJbkZsb3dUaHJlYWQoKSkKICAg
ICAgICAgbGluZUJveC0+Y2xlYXJDb250YWluaW5nUmVnaW9uKCk7CisgICAgZWxzZSB7CisgICAg
ICAgIGlmIChhdXRvIGNvbnRhaW5pbmdSZWdpb24gPSByZWdpb25BdEJsb2NrT2Zmc2V0KGxpbmVC
b3gtPmxpbmVUb3BXaXRoTGVhZGluZygpKSkKKyAgICAgICAgICAgIGxpbmVCb3gtPnNldENvbnRh
aW5pbmdSZWdpb24oKmNvbnRhaW5pbmdSZWdpb24pOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBsaW5lQm94LT5jbGVhckNvbnRhaW5pbmdSZWdpb24oKTsKKyAgICB9CiAKICAgICBSb290SW5s
aW5lQm94KiBwcmV2TGluZUJveCA9IGxpbmVCb3gtPnByZXZSb290Qm94KCk7CiAgICAgaWYgKCFw
cmV2TGluZUJveCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFk
LmNwcAppbmRleCBiNDVkZTk4ZGMzMjNkMjQxNmMwOGM1ZmNiNDZjMjRmOWZlNzFkMTYwLi4wNTNm
OGI1NWUyNTM3OGY5Nzk2ZWEzNWZhZWE3M2JiOTUwMjg2MGJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCkBAIC01NzgsMTIgKzU3OCwxMyBAQCB2
b2lkIFJlbmRlckZsb3dUaHJlYWQ6OnJlbW92ZVJlbmRlckJveFJlZ2lvbkluZm8oUmVuZGVyQm94
KiBib3gpCiAKICAgICBSZW5kZXJSZWdpb24qIHN0YXJ0UmVnaW9uID0gbnVsbHB0cjsKICAgICBS
ZW5kZXJSZWdpb24qIGVuZFJlZ2lvbiA9IG51bGxwdHI7Ci0gICAgZ2V0UmVnaW9uUmFuZ2VGb3JC
b3goYm94LCBzdGFydFJlZ2lvbiwgZW5kUmVnaW9uKTsKLQotICAgIGZvciAoYXV0byYgcmVnaW9u
IDogbV9yZWdpb25MaXN0KSB7Ci0gICAgICAgIHJlZ2lvbi0+cmVtb3ZlUmVuZGVyQm94UmVnaW9u
SW5mbyhib3gpOwotICAgICAgICBpZiAocmVnaW9uID09IGVuZFJlZ2lvbikKLSAgICAgICAgICAg
IGJyZWFrOworICAgIGlmIChnZXRSZWdpb25SYW5nZUZvckJveChib3gsIHN0YXJ0UmVnaW9uLCBl
bmRSZWdpb24pKSB7CisgICAgICAgIGZvciAoYXV0byBpdCA9IG1fcmVnaW9uTGlzdC5maW5kKHN0
YXJ0UmVnaW9uKSwgZW5kID0gbV9yZWdpb25MaXN0LmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsK
KyAgICAgICAgICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gKml0OworICAgICAgICAgICAgcmVn
aW9uLT5yZW1vdmVSZW5kZXJCb3hSZWdpb25JbmZvKGJveCk7CisgICAgICAgICAgICBpZiAocmVn
aW9uID09IGVuZFJlZ2lvbikKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAg
IH0KIAogI2lmbmRlZiBOREVCVUcKQEAgLTY0MCw5ICs2NDEsMTEgQEAgdm9pZCBSZW5kZXJGbG93
VGhyZWFkOjpsb2dpY2FsV2lkdGhDaGFuZ2VkSW5SZWdpb25zRm9yQmxvY2soY29uc3QgUmVuZGVy
QmxvY2sqIGIKIAogICAgIFJlbmRlclJlZ2lvbiogc3RhcnRSZWdpb24gPSBudWxscHRyOwogICAg
IFJlbmRlclJlZ2lvbiogZW5kUmVnaW9uID0gbnVsbHB0cjsKLSAgICBnZXRSZWdpb25SYW5nZUZv
ckJveChibG9jaywgc3RhcnRSZWdpb24sIGVuZFJlZ2lvbik7CisgICAgaWYgKCFnZXRSZWdpb25S
YW5nZUZvckJveChibG9jaywgc3RhcnRSZWdpb24sIGVuZFJlZ2lvbikpCisgICAgICAgIHJldHVy
bjsKIAotICAgIGZvciAoYXV0byYgcmVnaW9uIDogbV9yZWdpb25MaXN0KSB7CisgICAgZm9yIChh
dXRvIGl0ID0gbV9yZWdpb25MaXN0LmZpbmQoc3RhcnRSZWdpb24pLCBlbmQgPSBtX3JlZ2lvbkxp
c3QuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAgICBSZW5kZXJSZWdpb24qIHJlZ2lv
biA9ICppdDsKICAgICAgICAgQVNTRVJUKCFyZWdpb24tPm5lZWRzTGF5b3V0KCkgfHwgcmVnaW9u
LT5pc1JlbmRlclJlZ2lvblNldCgpKTsKIAogICAgICAgICAvLyBXZSBoYXZlIG5vIGluZm9ybWF0
aW9uIGNvbXB1dGVkIGZvciB0aGlzIHJlZ2lvbiBzbyB3ZSBuZWVkIHRvIGRvIGl0LgpAQCAtNzU0
LDE0ICs3NTcsNyBAQCBib29sIFJlbmRlckZsb3dUaHJlYWQ6Omhhc0NhY2hlZFJlZ2lvblJhbmdl
Rm9yQm94KGNvbnN0IFJlbmRlckJveCogYm94KSBjb25zdAogewogICAgIEFTU0VSVChib3gpOwog
Ci0gICAgaWYgKG1fcmVnaW9uUmFuZ2VNYXAuY29udGFpbnMoYm94KSkKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0KLSAgICBJbmxpbmVFbGVtZW50Qm94KiBib3hXcmFwcGVyID0gYm94LT5pbmxpbmVC
b3hXcmFwcGVyKCk7Ci0gICAgaWYgKGJveFdyYXBwZXIgJiYgYm94V3JhcHBlci0+cm9vdCgpLmNv
bnRhaW5pbmdSZWdpb24oKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICByZXR1cm4gZmFs
c2U7CisgICAgcmV0dXJuIG1fcmVnaW9uUmFuZ2VNYXAuY29udGFpbnMoYm94KTsKIH0KIAogYm9v
bCBSZW5kZXJGbG93VGhyZWFkOjpnZXRSZWdpb25SYW5nZUZvckJveEZyb21DYWNoZWRJbmZvKGNv
bnN0IFJlbmRlckJveCogYm94LCBSZW5kZXJSZWdpb24qJiBzdGFydFJlZ2lvbiwgUmVuZGVyUmVn
aW9uKiYgZW5kUmVnaW9uKSBjb25zdApAQCAtNzc5LDEzICs3NzUsNiBAQCBib29sIFJlbmRlckZs
b3dUaHJlYWQ6OmdldFJlZ2lvblJhbmdlRm9yQm94RnJvbUNhY2hlZEluZm8oY29uc3QgUmVuZGVy
Qm94KiBib3gsCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIElubGluZUVsZW1l
bnRCb3gqIGJveFdyYXBwZXIgPSBib3gtPmlubGluZUJveFdyYXBwZXIoKTsKLSAgICBpZiAoYm94
V3JhcHBlciAmJiBib3hXcmFwcGVyLT5yb290KCkuY29udGFpbmluZ1JlZ2lvbigpKSB7Ci0gICAg
ICAgIHN0YXJ0UmVnaW9uID0gZW5kUmVnaW9uID0gYm94V3JhcHBlci0+cm9vdCgpLmNvbnRhaW5p
bmdSZWdpb24oKTsKLSAgICAgICAgQVNTRVJUKG1fcmVnaW9uTGlzdC5jb250YWlucyhzdGFydFJl
Z2lvbikgJiYgbV9yZWdpb25MaXN0LmNvbnRhaW5zKGVuZFJlZ2lvbikpOwotICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9Ci0KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTgwNSwxMiArNzk0
LDMxIEBAIGJvb2wgUmVuZGVyRmxvd1RocmVhZDo6Z2V0UmVnaW9uUmFuZ2VGb3JCb3goY29uc3Qg
UmVuZGVyQm94KiBib3gsIFJlbmRlclJlZ2lvbiomCiAgICAgaWYgKGdldFJlZ2lvblJhbmdlRm9y
Qm94RnJvbUNhY2hlZEluZm8oYm94LCBzdGFydFJlZ2lvbiwgZW5kUmVnaW9uKSkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAKLSAgICAvLyBDaGVjayBpZiB0aGUgYm94IGlzIGNvbnRhaW5lZCBpbiBh
biB1bnNwbGl0dGFibGUgYm94LgotICAgIC8vIElmIHRoZSB1bnNwbGl0dGFibGUgYm94IGhhcyBy
ZWdpb24gcmFuZ2UsIHRoZW4gdGhlIHN0YXJ0IGFuZCBlbmQgcmVnaW9uIGZvciB0aGUgYm94Ci0g
ICAgLy8gc2hvdWxkIGJlIGVxdWFsIHdpdGggdGhlIHJlZ2lvbiBmb3IgdGhlIHVuc3BsaXR0YWJs
ZSBib3ggaWYgYW55LgorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBSZW5kZXJGbG93VGhy
ZWFkOjpjb21wdXRlZFJlZ2lvblJhbmdlRm9yQm94KGNvbnN0IFJlbmRlckJveCogYm94LCBSZW5k
ZXJSZWdpb24qJiBzdGFydFJlZ2lvbiwgUmVuZGVyUmVnaW9uKiYgZW5kUmVnaW9uKSBjb25zdAor
eworICAgIEFTU0VSVChib3gpOworCisgICAgc3RhcnRSZWdpb24gPSBlbmRSZWdpb24gPSBudWxs
cHRyOworICAgIGlmICghaGFzVmFsaWRSZWdpb25JbmZvKCkpIC8vIFdlIGNsZWFyIHRoZSByYW5n
ZXMgd2hlbiB3ZSBpbnZhbGlkYXRlIHRoZSByZWdpb25zLgorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoZ2V0UmVnaW9uUmFuZ2VGb3JCb3goYm94LCBzdGFydFJlZ2lvbiwgZW5kUmVn
aW9uKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyBTZWFyY2ggdGhlIHJlZ2lvbiBy
YW5nZSB1c2luZyB0aGUgaW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgdGhlCisgICAgLy8gY29udGFp
bmluZyBibG9jayBjaGFpbi4KICAgICBSZW5kZXJCb3gqIGNiID0gY29uc3RfY2FzdDxSZW5kZXJC
b3gqPihib3gpOwotICAgIFJlbmRlckJveCogY2JUb1VzZSA9IG51bGxwdHI7Ci0gICAgd2hpbGUg
KCFjYi0+aXNSZW5kZXJGbG93VGhyZWFkKCkgJiYgIWNiVG9Vc2UpIHsKKyAgICB3aGlsZSAoIWNi
LT5pc1JlbmRlckZsb3dUaHJlYWQoKSkgeworICAgICAgICBJbmxpbmVFbGVtZW50Qm94KiBib3hX
cmFwcGVyID0gY2ItPmlubGluZUJveFdyYXBwZXIoKTsKKyAgICAgICAgaWYgKGJveFdyYXBwZXIg
JiYgYm94V3JhcHBlci0+cm9vdCgpLmNvbnRhaW5pbmdSZWdpb24oKSkgeworICAgICAgICAgICAg
c3RhcnRSZWdpb24gPSBlbmRSZWdpb24gPSBib3hXcmFwcGVyLT5yb290KCkuY29udGFpbmluZ1Jl
Z2lvbigpOworICAgICAgICAgICAgQVNTRVJUKG1fcmVnaW9uTGlzdC5jb250YWlucyhzdGFydFJl
Z2lvbikpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKwogICAgICAgICAv
LyBGSVhNRTogVXNlIHRoZSBjb250YWluaW5nQmxvY2soKSB2YWx1ZSBvbmNlIHdlIHBhdGNoIGFs
bCB0aGUgbGF5b3V0IHN5c3RlbXMgdG8gYmUgcmVnaW9uIHJhbmdlIGF3YXJlCiAgICAgICAgIC8v
IChlLmcuIGlmIHdlIHVzZSBjb250YWluaW5nQmxvY2soKSB0aGUgc2hhZG93IGNvbnRyb2xzIG9m
IGEgdmlkZW8gZWxlbWVudCB3b24ndCBnZXQgdGhlIHJhbmdlIGZyb20gdGhlCiAgICAgICAgIC8v
IHZpZGVvIGJveCBiZWNhdXNlIGl0J3Mgbm90IGEgYmxvY2s7IHRoZXkgbmVlZCB0byBiZSBwYXRj
aGVkIHNlcGFyYXRlbHkpLgpAQCAtODE4LDE3ICs4MjYsMTUgQEAgYm9vbCBSZW5kZXJGbG93VGhy
ZWFkOjpnZXRSZWdpb25SYW5nZUZvckJveChjb25zdCBSZW5kZXJCb3gqIGJveCwgUmVuZGVyUmVn
aW9uKiYKICAgICAgICAgY2IgPSBjYi0+cGFyZW50KCktPmVuY2xvc2luZ0JveCgpOwogICAgICAg
ICBBU1NFUlQoY2IpOwogCi0gICAgICAgIGlmIChoYXNDYWNoZWRSZWdpb25SYW5nZUZvckJveChj
YikpCi0gICAgICAgICAgICBjYlRvVXNlID0gY2I7Ci0gICAgfQotCi0gICAgLy8gSWYgYSBib3gg
ZG9lc24ndCBoYXZlIGEgY2FjaGVkIHJlZ2lvbiByYW5nZSBpdCB1c3VhbGx5IG1lYW5zIHRoZSBi
b3ggYmVsb25ncyB0byBhIGxpbmUgc28gc3RhcnRSZWdpb24gc2hvdWxkIGJlIGVxdWFsIHdpdGgg
ZW5kUmVnaW9uLgotICAgIC8vIEZJWE1FOiBGaW5kIHRoZSBjYXNlcyB3aGVuIHRoaXMgc3RhcnRS
ZWdpb24gc2hvdWxkIG5vdCBiZSBlcXVhbCB3aXRoIGVuZFJlZ2lvbiBhbmQgbWFrZSBzdXJlIHRo
ZXNlIGJveGVzIGhhdmUgY2FjaGVkIHJlZ2lvbiByYW5nZXMuCi0gICAgaWYgKGNiVG9Vc2UpIHsK
LSAgICAgICAgc3RhcnRSZWdpb24gPSBlbmRSZWdpb24gPSBjb25zdF9jYXN0PFJlbmRlckZsb3dU
aHJlYWQqPih0aGlzKS0+cmVnaW9uQXRCbG9ja09mZnNldChjYlRvVXNlLCBib3gtPm9mZnNldEZy
b21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSwgdHJ1ZSwgRGlzYWxsb3dSZWdpb25BdXRvR2VuZXJh
dGlvbik7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAvLyBJZiBhIGJveCBkb2Vzbid0
IGhhdmUgYSBjYWNoZWQgcmVnaW9uIHJhbmdlIGl0IHVzdWFsbHkgbWVhbnMgdGhlIGJveCBiZWxv
bmdzIHRvIGEgbGluZSBzbyBzdGFydFJlZ2lvbiBzaG91bGQgYmUgZXF1YWwgd2l0aCBlbmRSZWdp
b24uCisgICAgICAgIC8vIEZJWE1FOiBGaW5kIHRoZSBjYXNlcyB3aGVuIHRoaXMgc3RhcnRSZWdp
b24gc2hvdWxkIG5vdCBiZSBlcXVhbCB3aXRoIGVuZFJlZ2lvbiBhbmQgbWFrZSBzdXJlIHRoZXNl
IGJveGVzIGhhdmUgY2FjaGVkIHJlZ2lvbiByYW5nZXMuCisgICAgICAgIGlmIChoYXNDYWNoZWRS
ZWdpb25SYW5nZUZvckJveChjYikpIHsKKyAgICAgICAgICAgIHN0YXJ0UmVnaW9uID0gZW5kUmVn
aW9uID0gY29uc3RfY2FzdDxSZW5kZXJGbG93VGhyZWFkKj4odGhpcyktPnJlZ2lvbkF0QmxvY2tP
ZmZzZXQoY2IsIGJveC0+b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSgpLCB0cnVlLCBE
aXNhbGxvd1JlZ2lvbkF1dG9HZW5lcmF0aW9uKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICB9CiAgICAgfQogCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCkBAIC04NjQsNyArODcwLDcgQEAgYm9vbCBSZW5kZXJGbG93VGhyZWFkOjpv
YmplY3RTaG91bGRGcmFnbWVudEluRmxvd1JlZ2lvbihjb25zdCBSZW5kZXJPYmplY3QqIG9iamUK
ICAgICBSZW5kZXJSZWdpb24qIGVuY2xvc2luZ0JveEVuZFJlZ2lvbiA9IG51bGxwdHI7CiAgICAg
Ly8gSWYgdGhlIGJveCBoYXMgbm8gcmFuZ2UsIGRvIG5vdCBjaGVjayByZWdpb25JblJhbmdlLiBC
b3hlcyBpbnNpZGUgaW5saW5lcyBkbyBub3QgZ2V0IHJhbmdlcy4KICAgICAvLyBJbnN0ZWFkLCB0
aGUgY29udGFpbmluZyBSb290SW5saW5lQm94IHdpbGwgYWJvcnQgd2hlbiB0cnlpbmcgdG8gcGFp
bnQgaW5zaWRlIHRoZSB3cm9uZyByZWdpb24uCi0gICAgaWYgKGdldFJlZ2lvblJhbmdlRm9yQm94
KGVuY2xvc2luZ0JveCwgZW5jbG9zaW5nQm94U3RhcnRSZWdpb24sIGVuY2xvc2luZ0JveEVuZFJl
Z2lvbikKKyAgICBpZiAoY29tcHV0ZWRSZWdpb25SYW5nZUZvckJveChlbmNsb3NpbmdCb3gsIGVu
Y2xvc2luZ0JveFN0YXJ0UmVnaW9uLCBlbmNsb3NpbmdCb3hFbmRSZWdpb24pCiAgICAgICAgICYm
ICFyZWdpb25JblJhbmdlKHJlZ2lvbiwgZW5jbG9zaW5nQm94U3RhcnRSZWdpb24sIGVuY2xvc2lu
Z0JveEVuZFJlZ2lvbikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCmluZGV4IGRkNGM4NGRlMDRiNGEyYzQ1
NDFmZjI3Y2MzNGY0N2UwMjVhMzQzNDkuLjljOWQ5MGRjYTJiYTZiOWYyNjBkOWE1YjFiNzYzNzg3
MjJiYjhhMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93
VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQu
aApAQCAtMTQzLDYgKzE0Myw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZWdp
b25SYW5nZUZvckJveChjb25zdCBSZW5kZXJCb3gqLCBSZW5kZXJSZWdpb24qLCBSZW5kZXJSZWdp
b24qKTsKICAgICBib29sIGdldFJlZ2lvblJhbmdlRm9yQm94KGNvbnN0IFJlbmRlckJveCosIFJl
bmRlclJlZ2lvbiomIHN0YXJ0UmVnaW9uLCBSZW5kZXJSZWdpb24qJiBlbmRSZWdpb24pIGNvbnN0
OworICAgIGJvb2wgY29tcHV0ZWRSZWdpb25SYW5nZUZvckJveChjb25zdCBSZW5kZXJCb3gqLCBS
ZW5kZXJSZWdpb24qJiBzdGFydFJlZ2lvbiwgUmVuZGVyUmVnaW9uKiYgZW5kUmVnaW9uKSBjb25z
dDsKICAgICBib29sIGhhc0NhY2hlZFJlZ2lvblJhbmdlRm9yQm94KGNvbnN0IFJlbmRlckJveCop
IGNvbnN0OwogCiAgICAgLy8gQ2hlY2sgaWYgdGhlIG9iamVjdCBpcyBpbiByZWdpb24gYW5kIHRo
ZSByZWdpb24gaXMgcGFydCBvZiB0aGlzIGZsb3cgdGhyZWFkLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAppbmRleCAyNTgxMGQzMDUz
MDYyMWMxZWIzNTUzOWZlY2U3ZmU5MGIxMmEwZGVlLi43ODA3ZWU5YWMxMDEyZGNlODI0ZTA1MTYy
ZDMwZjM2YTRiNTNkYWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTmFtZWRGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTmFtZWRGbG93VGhyZWFkLmNwcApAQCAtODIwLDcgKzgyMCw3IEBAIGJvb2wgUmVuZGVyTmFt
ZWRGbG93VGhyZWFkOjphYnNvbHV0ZVF1YWRzRm9yQm94KFZlY3RvcjxGbG9hdFF1YWQ+JiBxdWFk
cywgYm9vbCoKICAgICBSZW5kZXJSZWdpb24qIHN0YXJ0UmVnaW9uID0gbnVsbHB0cjsKICAgICBS
ZW5kZXJSZWdpb24qIGVuZFJlZ2lvbiA9IG51bGxwdHI7CiAgICAgLy8gSWYgdGhlIGJveCBkb2Vz
bid0IGhhdmUgYSByYW5nZSwgd2UgZG9uJ3Qga25vdyBob3cgaXQgaXMgZnJhZ21lbnRlZCBzbyBm
YWxsYmFjayB0byB0aGUgZGVmYXVsdCBiZWhhdmlvdXIuCi0gICAgaWYgKCFnZXRSZWdpb25SYW5n
ZUZvckJveChyZW5kZXJlciwgc3RhcnRSZWdpb24sIGVuZFJlZ2lvbikpCisgICAgaWYgKCFjb21w
dXRlZFJlZ2lvblJhbmdlRm9yQm94KHJlbmRlcmVyLCBzdGFydFJlZ2lvbiwgZW5kUmVnaW9uKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgZm9yIChhdXRvIGl0ZXIgPSBtX3JlZ2lvbkxp
c3QuZmluZChzdGFydFJlZ2lvbiksIGVuZCA9IG1fcmVnaW9uTGlzdC5lbmQoKTsgaXRlciAhPSBl
bmQ7ICsraXRlcikgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFhMWMyZTcxNGUyZmVhZDZiMTFjMTE5ZmM5YWI0MzU4ZmFj
MTAwMjMuLmRkYWY0MzYyZWNlMDgzN2QxOWNhODk5YzY2YWNiY2ViM2RjNDc2NjcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxNC0wNS0xMyAgQW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNv
bT4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNdIEFzc2VydGlvbiBmYWlsdXJlIGluIHNvbWUgY2Fz
ZXMgd2l0aCBpbmxpbmUgYmxvY2tzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMzI4NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0IHRoYXQgbW92aW5nIGxpbmVzIHdpdGggaW5saW5lIGJsb2NrcyBk
b2Vzbid0IGNhdXNlIGFuIGFzc2VydGlvbi4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy9pbmxp
bmUtYmxvY2stc2hpZnRlZC1yZWdpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3JlZ2lvbnMvaW5saW5lLWJsb2NrLXNoaWZ0ZWQtcmVnaW9uLmh0bWw6IEFkZGVkLgorCiAy
MDE0LTA1LTEzICBMb3JlbnpvIFRpbHZlICA8bHRpbHZlQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS10gVW5yZXZpZXdlZCBHVEsgZ2FyZGVuaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvaW5saW5lLWJsb2NrLXNoaWZ0ZWQtcmVnaW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9pbmxpbmUtYmxvY2stc2hpZnRlZC1yZWdpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFmZWIxZTliODI0MGVlMjQyZWQ1ZmUwZGMyYzM4ZGMwZjE5ZTgx
ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaW5saW5lLWJs
b2NrLXNoaWZ0ZWQtcmVnaW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1Rlc3QgZm9y
IFtDU1MgUmVnaW9uc10gQXNzZXJ0aW9uIGZhaWx1cmUgaW4gc29tZSBjYXNlcyB3aXRoIGlubGlu
ZSBibG9ja3MuIFRoZSB0ZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBubyBjcmFzaC4KKworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaW5saW5lLWJsb2NrLXNoaWZ0ZWQtcmVn
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaW5saW5lLWJsb2NrLXNoaWZ0ZWQt
cmVnaW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGM2MTEwN2I2YTdjY2I2NzA5ODUyMTI0ZjE5NDNkZGVl
NTFiNTEzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9pbmxp
bmUtYmxvY2stc2hpZnRlZC1yZWdpb24uaHRtbApAQCAtMCwwICsxLDY0IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIC5yZWdp
b24geworICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKKyAgICAgICAgaGVpZ2h0OiAx
MjBweDsKKyAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICBmbG9hdDogbGVmdDsKKyAgICB9
CisKKyAgICAjY29udGVudCB7CisgICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OworICAg
ICAgICBtYXJnaW4tdG9wOiA1MHB4OworICAgICAgICBmb250LWZhbWlseTogQWhlbTsKKyAgICAg
ICAgZm9udC1zaXplOiAxMnB4OworICAgIH0KKworICAgICNvbmUgeworICAgICAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgIH0KKyAgICAjdHdvIHsKKyAgICAgICAgd2lkdGg6IDEwcHg7CisgICAgICAg
IGhlaWdodDogMTBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICB9CisK
KyAgICAjaW5saW5lYmxvY2sgeworICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAg
ICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICAgIHBhZGRpbmc6IDEwcHg7CisgICAg
fQorCisgICAgI2JveG9ubGluZSB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwor
ICAgIH0KKworICAgICNvdXRzaWRlIHsKKyAgICAgICAgYm9yZGVyOiB0aGluIHNvbGlkIHJlZDsK
KyAgICAgICAgbWFyZ2luOiA1cHg7CisgICAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
ICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzI4NTkiPltDU1MgUmVnaW9uc10gQXNzZXJ0aW9uIGZhaWx1cmUgaW4gc29tZSBj
YXNlcyB3aXRoIGlubGluZSBibG9ja3M8L2E+LiBUaGUgdGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMg
bm8gY3Jhc2guPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgPGRpdiBj
bGFzcz0icmVnaW9uIj48L2Rpdj4KKworICAgIDxkaXYgaWQ9ImNvbnRlbnQiPjxkaXYgaWQ9Im91
dHNpZGUiPkFBQTxici8+QUFBPGJyLz5BQUE8YnIvPkFBQTxici8+PGRpdiBpZD0iaW5saW5lYmxv
Y2siPjxkaXYgaWQ9ImJveG9ubGluZSI+QTwvZGl2PjwvZGl2PjwvYnI+QUFBPC9kaXY+PC9kaXY+
CisKKyAgICA8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKKyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGVudCIpLnN0eWxlLm1hcmdpblRvcCA9ICIw
cHgiOworICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworICAgIGRvY3VtZW50LmJvZHkucmVt
b3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnQiKSk7CisgICAgZG9jdW1l
bnQuYm9keS5vZmZzZXRUb3A7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231379</attachid>
            <date>2014-05-13 07:26:32 -0700</date>
            <delta_ts>2014-05-13 23:34:21 -0700</delta_ts>
            <desc>Patch with feedback</desc>
            <filename>bug-132859-20140513172608.patch</filename>
            <type>text/plain</type>
            <size>16670</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4Njc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDY5NDY0NzRjMTI4YTI2
OGQ0YmQ3YmRjZmYyYzc0YzEwMGFjNDkyOC4uMzVlNzExNTZjNzJjYTYxMmIwNzQwYWViM2JmMTQy
YmYxYTg4NjM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE0LTA1LTEzICBBbmRy
ZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gQXNz
ZXJ0aW9uIGZhaWx1cmUgaW4gc29tZSBjYXNlcyB3aXRoIGlubGluZSBibG9ja3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjg1OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwYXRjaCBoYXJkZW5z
IHRoZSBjb25kaXRpb25zIHdoZW4gdGhlIHJlZ2lvbiByYW5nZSBjYWNoZXMgYXJlCisgICAgICAg
IHBvcHVsYXRlZCB0byBhdm9pZCBkZXN5bmNocm9uaXphdGlvbnMgd2hlbiBvYmplY3RzIG1vdmUg
ZHVyaW5nIGxheW91dC4KKyAgICAgICAgVGhpcyBpcyB0cnVlIGVzcGVjaWFsbHkgaW4gdGhlIGNh
c2Ugb2YgdGhlIGJveGVzIGZvdW5kIGluc2lkZQorICAgICAgICBpbmxpbmUgYmxvY2tzLCB0aGF0
IGdldCB0aGVpciByYW5nZSBmcm9tIHRoZSBjb250YWluaW5nIGxpbmUuCisKKyAgICAgICAgVGhl
cmUgaXMgYSBuZXcgZnVuY3Rpb24gfGNvbXB1dGVkUmVnaW9uUmFuZ2VGb3JCb3h8IHRoYXQgd2ls
bCBhbHdheXMKKyAgICAgICAgcmV0dXJuIGEgcmVnaW9uIHJhbmdlIGZvciBhIGJveCB1c2luZyBh
IGJlc3QgZWZmb3J0IGFsZ29yaXRobS4gVGhpcyBzaG91bGQKKyAgICAgICAgYmUgdXNlZCBvbmx5
IHdoZW4gdGhlcmUncyBubyBuZWVkIHRvIGNhY2hlIHJlZ2lvbiBpbmZvcm1hdGlvbi4KKworICAg
ICAgICBUaGlzIGNoYW5nZSBhbHNvIGFsbG93cyBiZXR0ZXIgY29udHJvbCBvdmVyIHRoZSBsaWZl
Y3ljbGUgb2YgdGhlCisgICAgICAgIHxSZW5kZXJCb3hSZWdpb25JbmZvfCBvYmplY3RzIHN0b3Jl
ZCBvbiB0aGUgcmVnaW9ucy4gV2UgY2FuIG5vdyBpdGVyYXRlCisgICAgICAgIG92ZXIgdGhlIGZ1
bGwgcmFuZ2Ugb2YgdGhlIGJveCB3aGVuIGNsZWFuaW5nIHVwIHRoZSByZWdpb24gYm94IGluZm8u
IFRoZQorICAgICAgICBzYW1lIGFwcGxpZXMgZm9yIHRoZSB3aWR0aCBjaGFuZ2UgZGV0ZWN0aW9u
IGZ1bmN0aW9uLgorCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9ucy9pbmxpbmUtYmxvY2stc2hp
ZnRlZC1yZWdpb24uaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxh
eW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnVwZGF0ZVJlZ2lv
bkZvckxpbmUpOiBEb24ndCBzZXQgdGhlIGNvbnRhaW5pbmcKKyAgICAgICAgcmVnaW9uIGlmIHRo
ZSBibG9jayBkb2Vzbid0IGhhdmUgYSByYW5nZS4gVGhlIHJldHVybmVkIHZhbHVlIHdvdWxkIG5v
dAorICAgICAgICBiZSBjb3JyZWN0bHkgY2xhbXBlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpoYXNSZWdpb25SYW5n
ZUluRmxvd1RocmVhZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckZsb3dUaHJlYWQ6OnJlbW92ZVJlbmRlckJveFJlZ2lvbkluZm8pOiBJdGVyYXRlIG9ubHkg
b3ZlcgorICAgICAgICB0aGUgcmFuZ2Ugb2YgdGhlIGJveCwgbm90IGZyb20gdGhlIHN0YXJ0IG9m
IHRoZSByZWdpb24gY2hhaW4uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjps
b2dpY2FsV2lkdGhDaGFuZ2VkSW5SZWdpb25zRm9yQmxvY2spOiBTYW1lIGFzCisgICAgICAgIGFi
b3ZlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6aGFzQ2FjaGVkUmVnaW9u
UmFuZ2VGb3JCb3gpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6Z2V0UmVn
aW9uUmFuZ2VGb3JCb3hGcm9tQ2FjaGVkSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJG
bG93VGhyZWFkOjpnZXRSZWdpb25SYW5nZUZvckJveCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJGbG93VGhyZWFkOjpjb21wdXRlZFJlZ2lvblJhbmdlRm9yQm94KTogQmVzdCBlZmZvcnQgZnVu
Y3Rpb24KKyAgICAgICAgdG8gZGV0ZXJtaW5lIHRoZSByYW5nZSBvZiBhIGJveC4gSXQgd2lsbCBh
bHdheXMgcmV0dXJuIHNvbWV0aGluZyBhcyBsb25nCisgICAgICAgIGFzIHRoZSBmbG93IHRocmVh
ZCBoYXMgcmVnaW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6Om9iamVj
dFNob3VsZEZyYWdtZW50SW5GbG93UmVnaW9uKTogVXNlIHRoZSBuZXcgZnVuY3Rpb24KKyAgICAg
ICAgdG8gZGV0ZXJtaW5lIHRoZSByYW5nZS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxv
d1RocmVhZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTmFtZWRGbG93VGhyZWFkOjphYnNvbHV0ZVF1YWRz
Rm9yQm94KTogVXNlIHRoZSBuZXcgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lCisgICAgICAgIHRoZSBy
YW5nZS4KKwogMjAxNC0wNS0xMiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViS2l0MiBvbiBpT1MgbmVlZHMgdG8gY2FwdHVyZSB0aGUgbWFpbiB0aHJlYWQncyBm
bG9hdGluZyBwb2ludCBlbnZpcm9ubWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKaW5kZXggYzJkY2VkZGFlMzczNjc0NTdkMzE0
YjFkM2I0MWRhODU0Yjc1YjQwNy4uNzBhNmMwZTE0NDg1YjFjNTcwYmJhOTU4ZjkzYzYzNzllNzQx
MzVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGlu
ZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGlu
ZUxheW91dC5jcHAKQEAgLTE5MTgsMTAgKzE5MTgsMTQgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6
OnVwZGF0ZVJlZ2lvbkZvckxpbmUoUm9vdElubGluZUJveCogbGluZUJveCkgY29uc3QKIHsKICAg
ICBBU1NFUlQobGluZUJveCk7CiAKLSAgICBpZiAoYXV0byBjb250YWluaW5nUmVnaW9uID0gcmVn
aW9uQXRCbG9ja09mZnNldChsaW5lQm94LT5saW5lVG9wV2l0aExlYWRpbmcoKSkpCi0gICAgICAg
IGxpbmVCb3gtPnNldENvbnRhaW5pbmdSZWdpb24oKmNvbnRhaW5pbmdSZWdpb24pOwotICAgIGVs
c2UKKyAgICBpZiAoIWhhc1JlZ2lvblJhbmdlSW5GbG93VGhyZWFkKCkpCiAgICAgICAgIGxpbmVC
b3gtPmNsZWFyQ29udGFpbmluZ1JlZ2lvbigpOworICAgIGVsc2UgeworICAgICAgICBpZiAoYXV0
byBjb250YWluaW5nUmVnaW9uID0gcmVnaW9uQXRCbG9ja09mZnNldChsaW5lQm94LT5saW5lVG9w
V2l0aExlYWRpbmcoKSkpCisgICAgICAgICAgICBsaW5lQm94LT5zZXRDb250YWluaW5nUmVnaW9u
KCpjb250YWluaW5nUmVnaW9uKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbGluZUJveC0+
Y2xlYXJDb250YWluaW5nUmVnaW9uKCk7CisgICAgfQogCiAgICAgUm9vdElubGluZUJveCogcHJl
dkxpbmVCb3ggPSBsaW5lQm94LT5wcmV2Um9vdEJveCgpOwogICAgIGlmICghcHJldkxpbmVCb3gp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGY5ZThlOWMyNjUwNjhh
OTFjYzNlYjFlMjJlNWNhYWM2ZTZlZTI0MDEuLmZmM2I1NGY5MWNkMzBjNDJkYzUxMjJkYWU5NTYw
MjEyZjIzYmQyN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0x
NTAsNiArMTUwLDE1IEBAIFJlbmRlclJlZ2lvbiogUmVuZGVyQm94OjpjbGFtcFRvU3RhcnRBbmRF
bmRSZWdpb25zKFJlbmRlclJlZ2lvbiogcmVnaW9uKSBjb25zdAogICAgIHJldHVybiByZWdpb247
CiB9CiAKK2Jvb2wgUmVuZGVyQm94OjpoYXNSZWdpb25SYW5nZUluRmxvd1RocmVhZCgpIGNvbnN0
Cit7CisgICAgUmVuZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCA9IGZsb3dUaHJlYWRDb250YWlu
aW5nQmxvY2soKTsKKyAgICBpZiAoIWZsb3dUaHJlYWQgfHwgIWZsb3dUaHJlYWQtPmhhc1ZhbGlk
UmVnaW9uSW5mbygpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gZmxvd1Ro
cmVhZC0+aGFzQ2FjaGVkUmVnaW9uUmFuZ2VGb3JCb3godGhpcyk7Cit9CisKIExheW91dFJlY3Qg
UmVuZGVyQm94OjpjbGllbnRCb3hSZWN0SW5SZWdpb24oUmVuZGVyUmVnaW9uKiByZWdpb24pIGNv
bnN0CiB7CiAgICAgaWYgKCFyZWdpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgK
aW5kZXggMzdjMDQ5NjBiNTczNzlhMjBkN2FiODg0NmU4MjRhMDIzNmU4MzRkOS4uZTU0NzZmYzZh
MTAyM2NjMGFjNzE1ODZmY2U5ZmJhMGMyNzc1MmY1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guaApAQCAtMzgzLDYgKzM4Myw3IEBAIHB1YmxpYzoKICAgICBMYXlvdXRSZWN0IGJv
cmRlckJveFJlY3RJblJlZ2lvbihSZW5kZXJSZWdpb24qLCBSZW5kZXJCb3hSZWdpb25JbmZvRmxh
Z3MgPSBDYWNoZVJlbmRlckJveFJlZ2lvbkluZm8pIGNvbnN0OwogICAgIExheW91dFJlY3QgY2xp
ZW50Qm94UmVjdEluUmVnaW9uKFJlbmRlclJlZ2lvbiopIGNvbnN0OwogICAgIFJlbmRlclJlZ2lv
biogY2xhbXBUb1N0YXJ0QW5kRW5kUmVnaW9ucyhSZW5kZXJSZWdpb24qKSBjb25zdDsKKyAgICBi
b29sIGhhc1JlZ2lvblJhbmdlSW5GbG93VGhyZWFkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBMYXlv
dXRVbml0IG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSBjb25zdDsKICAgICAKICAg
ICB2b2lkIHBvc2l0aW9uTGluZUJveChJbmxpbmVFbGVtZW50Qm94Jik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5kZXggYjQ1ZGU5OGRjMzIzZDI0
MTZjMDhjNWZjYjQ2YzI0ZjlmZTcxZDE2MC4uMDUzZjhiNTVlMjUzNzhmOTc5NmVhMzVmYWVhNzNi
Yjk1MDI4NjBiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
b3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhy
ZWFkLmNwcApAQCAtNTc4LDEyICs1NzgsMTMgQEAgdm9pZCBSZW5kZXJGbG93VGhyZWFkOjpyZW1v
dmVSZW5kZXJCb3hSZWdpb25JbmZvKFJlbmRlckJveCogYm94KQogCiAgICAgUmVuZGVyUmVnaW9u
KiBzdGFydFJlZ2lvbiA9IG51bGxwdHI7CiAgICAgUmVuZGVyUmVnaW9uKiBlbmRSZWdpb24gPSBu
dWxscHRyOwotICAgIGdldFJlZ2lvblJhbmdlRm9yQm94KGJveCwgc3RhcnRSZWdpb24sIGVuZFJl
Z2lvbik7Ci0KLSAgICBmb3IgKGF1dG8mIHJlZ2lvbiA6IG1fcmVnaW9uTGlzdCkgewotICAgICAg
ICByZWdpb24tPnJlbW92ZVJlbmRlckJveFJlZ2lvbkluZm8oYm94KTsKLSAgICAgICAgaWYgKHJl
Z2lvbiA9PSBlbmRSZWdpb24pCi0gICAgICAgICAgICBicmVhazsKKyAgICBpZiAoZ2V0UmVnaW9u
UmFuZ2VGb3JCb3goYm94LCBzdGFydFJlZ2lvbiwgZW5kUmVnaW9uKSkgeworICAgICAgICBmb3Ig
KGF1dG8gaXQgPSBtX3JlZ2lvbkxpc3QuZmluZChzdGFydFJlZ2lvbiksIGVuZCA9IG1fcmVnaW9u
TGlzdC5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgICAgICBSZW5kZXJSZWdpb24q
IHJlZ2lvbiA9ICppdDsKKyAgICAgICAgICAgIHJlZ2lvbi0+cmVtb3ZlUmVuZGVyQm94UmVnaW9u
SW5mbyhib3gpOworICAgICAgICAgICAgaWYgKHJlZ2lvbiA9PSBlbmRSZWdpb24pCisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICB9CiAKICNpZm5kZWYgTkRFQlVHCkBAIC02
NDAsOSArNjQxLDExIEBAIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6bG9naWNhbFdpZHRoQ2hhbmdl
ZEluUmVnaW9uc0ZvckJsb2NrKGNvbnN0IFJlbmRlckJsb2NrKiBiCiAKICAgICBSZW5kZXJSZWdp
b24qIHN0YXJ0UmVnaW9uID0gbnVsbHB0cjsKICAgICBSZW5kZXJSZWdpb24qIGVuZFJlZ2lvbiA9
IG51bGxwdHI7Ci0gICAgZ2V0UmVnaW9uUmFuZ2VGb3JCb3goYmxvY2ssIHN0YXJ0UmVnaW9uLCBl
bmRSZWdpb24pOworICAgIGlmICghZ2V0UmVnaW9uUmFuZ2VGb3JCb3goYmxvY2ssIHN0YXJ0UmVn
aW9uLCBlbmRSZWdpb24pKQorICAgICAgICByZXR1cm47CiAKLSAgICBmb3IgKGF1dG8mIHJlZ2lv
biA6IG1fcmVnaW9uTGlzdCkgeworICAgIGZvciAoYXV0byBpdCA9IG1fcmVnaW9uTGlzdC5maW5k
KHN0YXJ0UmVnaW9uKSwgZW5kID0gbV9yZWdpb25MaXN0LmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQp
IHsKKyAgICAgICAgUmVuZGVyUmVnaW9uKiByZWdpb24gPSAqaXQ7CiAgICAgICAgIEFTU0VSVCgh
cmVnaW9uLT5uZWVkc0xheW91dCgpIHx8IHJlZ2lvbi0+aXNSZW5kZXJSZWdpb25TZXQoKSk7CiAK
ICAgICAgICAgLy8gV2UgaGF2ZSBubyBpbmZvcm1hdGlvbiBjb21wdXRlZCBmb3IgdGhpcyByZWdp
b24gc28gd2UgbmVlZCB0byBkbyBpdC4KQEAgLTc1NCwxNCArNzU3LDcgQEAgYm9vbCBSZW5kZXJG
bG93VGhyZWFkOjpoYXNDYWNoZWRSZWdpb25SYW5nZUZvckJveChjb25zdCBSZW5kZXJCb3gqIGJv
eCkgY29uc3QKIHsKICAgICBBU1NFUlQoYm94KTsKIAotICAgIGlmIChtX3JlZ2lvblJhbmdlTWFw
LmNvbnRhaW5zKGJveCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgSW5saW5lRWxlbWVu
dEJveCogYm94V3JhcHBlciA9IGJveC0+aW5saW5lQm94V3JhcHBlcigpOwotICAgIGlmIChib3hX
cmFwcGVyICYmIGJveFdyYXBwZXItPnJvb3QoKS5jb250YWluaW5nUmVnaW9uKCkpCi0gICAgICAg
IHJldHVybiB0cnVlOwotCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX3JlZ2lvblJh
bmdlTWFwLmNvbnRhaW5zKGJveCk7CiB9CiAKIGJvb2wgUmVuZGVyRmxvd1RocmVhZDo6Z2V0UmVn
aW9uUmFuZ2VGb3JCb3hGcm9tQ2FjaGVkSW5mbyhjb25zdCBSZW5kZXJCb3gqIGJveCwgUmVuZGVy
UmVnaW9uKiYgc3RhcnRSZWdpb24sIFJlbmRlclJlZ2lvbiomIGVuZFJlZ2lvbikgY29uc3QKQEAg
LTc3OSwxMyArNzc1LDYgQEAgYm9vbCBSZW5kZXJGbG93VGhyZWFkOjpnZXRSZWdpb25SYW5nZUZv
ckJveEZyb21DYWNoZWRJbmZvKGNvbnN0IFJlbmRlckJveCogYm94LAogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9CiAKLSAgICBJbmxpbmVFbGVtZW50Qm94KiBib3hXcmFwcGVyID0gYm94LT5p
bmxpbmVCb3hXcmFwcGVyKCk7Ci0gICAgaWYgKGJveFdyYXBwZXIgJiYgYm94V3JhcHBlci0+cm9v
dCgpLmNvbnRhaW5pbmdSZWdpb24oKSkgewotICAgICAgICBzdGFydFJlZ2lvbiA9IGVuZFJlZ2lv
biA9IGJveFdyYXBwZXItPnJvb3QoKS5jb250YWluaW5nUmVnaW9uKCk7Ci0gICAgICAgIEFTU0VS
VChtX3JlZ2lvbkxpc3QuY29udGFpbnMoc3RhcnRSZWdpb24pICYmIG1fcmVnaW9uTGlzdC5jb250
YWlucyhlbmRSZWdpb24pKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCkBAIC04MDUsMTIgKzc5NCwzMSBAQCBib29sIFJlbmRlckZsb3dUaHJl
YWQ6OmdldFJlZ2lvblJhbmdlRm9yQm94KGNvbnN0IFJlbmRlckJveCogYm94LCBSZW5kZXJSZWdp
b24qJgogICAgIGlmIChnZXRSZWdpb25SYW5nZUZvckJveEZyb21DYWNoZWRJbmZvKGJveCwgc3Rh
cnRSZWdpb24sIGVuZFJlZ2lvbikpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgLy8gQ2hl
Y2sgaWYgdGhlIGJveCBpcyBjb250YWluZWQgaW4gYW4gdW5zcGxpdHRhYmxlIGJveC4KLSAgICAv
LyBJZiB0aGUgdW5zcGxpdHRhYmxlIGJveCBoYXMgcmVnaW9uIHJhbmdlLCB0aGVuIHRoZSBzdGFy
dCBhbmQgZW5kIHJlZ2lvbiBmb3IgdGhlIGJveAotICAgIC8vIHNob3VsZCBiZSBlcXVhbCB3aXRo
IHRoZSByZWdpb24gZm9yIHRoZSB1bnNwbGl0dGFibGUgYm94IGlmIGFueS4KKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK2Jvb2wgUmVuZGVyRmxvd1RocmVhZDo6Y29tcHV0ZWRSZWdpb25SYW5nZUZv
ckJveChjb25zdCBSZW5kZXJCb3gqIGJveCwgUmVuZGVyUmVnaW9uKiYgc3RhcnRSZWdpb24sIFJl
bmRlclJlZ2lvbiomIGVuZFJlZ2lvbikgY29uc3QKK3sKKyAgICBBU1NFUlQoYm94KTsKKworICAg
IHN0YXJ0UmVnaW9uID0gZW5kUmVnaW9uID0gbnVsbHB0cjsKKyAgICBpZiAoIWhhc1ZhbGlkUmVn
aW9uSW5mbygpKSAvLyBXZSBjbGVhciB0aGUgcmFuZ2VzIHdoZW4gd2UgaW52YWxpZGF0ZSB0aGUg
cmVnaW9ucy4KKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGdldFJlZ2lvblJhbmdl
Rm9yQm94KGJveCwgc3RhcnRSZWdpb24sIGVuZFJlZ2lvbikpCisgICAgICAgIHJldHVybiB0cnVl
OworCisgICAgLy8gU2VhcmNoIHRoZSByZWdpb24gcmFuZ2UgdXNpbmcgdGhlIGluZm9ybWF0aW9u
IHByb3ZpZGVkIGJ5IHRoZQorICAgIC8vIGNvbnRhaW5pbmcgYmxvY2sgY2hhaW4uCiAgICAgUmVu
ZGVyQm94KiBjYiA9IGNvbnN0X2Nhc3Q8UmVuZGVyQm94Kj4oYm94KTsKLSAgICBSZW5kZXJCb3gq
IGNiVG9Vc2UgPSBudWxscHRyOwotICAgIHdoaWxlICghY2ItPmlzUmVuZGVyRmxvd1RocmVhZCgp
ICYmICFjYlRvVXNlKSB7CisgICAgd2hpbGUgKCFjYi0+aXNSZW5kZXJGbG93VGhyZWFkKCkpIHsK
KyAgICAgICAgSW5saW5lRWxlbWVudEJveCogYm94V3JhcHBlciA9IGNiLT5pbmxpbmVCb3hXcmFw
cGVyKCk7CisgICAgICAgIGlmIChib3hXcmFwcGVyICYmIGJveFdyYXBwZXItPnJvb3QoKS5jb250
YWluaW5nUmVnaW9uKCkpIHsKKyAgICAgICAgICAgIHN0YXJ0UmVnaW9uID0gZW5kUmVnaW9uID0g
Ym94V3JhcHBlci0+cm9vdCgpLmNvbnRhaW5pbmdSZWdpb24oKTsKKyAgICAgICAgICAgIEFTU0VS
VChtX3JlZ2lvbkxpc3QuY29udGFpbnMoc3RhcnRSZWdpb24pKTsKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICB9CisKICAgICAgICAgLy8gRklYTUU6IFVzZSB0aGUgY29udGFpbmlu
Z0Jsb2NrKCkgdmFsdWUgb25jZSB3ZSBwYXRjaCBhbGwgdGhlIGxheW91dCBzeXN0ZW1zIHRvIGJl
IHJlZ2lvbiByYW5nZSBhd2FyZQogICAgICAgICAvLyAoZS5nLiBpZiB3ZSB1c2UgY29udGFpbmlu
Z0Jsb2NrKCkgdGhlIHNoYWRvdyBjb250cm9scyBvZiBhIHZpZGVvIGVsZW1lbnQgd29uJ3QgZ2V0
IHRoZSByYW5nZSBmcm9tIHRoZQogICAgICAgICAvLyB2aWRlbyBib3ggYmVjYXVzZSBpdCdzIG5v
dCBhIGJsb2NrOyB0aGV5IG5lZWQgdG8gYmUgcGF0Y2hlZCBzZXBhcmF0ZWx5KS4KQEAgLTgxOCwx
NyArODI2LDE1IEBAIGJvb2wgUmVuZGVyRmxvd1RocmVhZDo6Z2V0UmVnaW9uUmFuZ2VGb3JCb3go
Y29uc3QgUmVuZGVyQm94KiBib3gsIFJlbmRlclJlZ2lvbiomCiAgICAgICAgIGNiID0gY2ItPnBh
cmVudCgpLT5lbmNsb3NpbmdCb3goKTsKICAgICAgICAgQVNTRVJUKGNiKTsKIAotICAgICAgICBp
ZiAoaGFzQ2FjaGVkUmVnaW9uUmFuZ2VGb3JCb3goY2IpKQotICAgICAgICAgICAgY2JUb1VzZSA9
IGNiOwotICAgIH0KLQotICAgIC8vIElmIGEgYm94IGRvZXNuJ3QgaGF2ZSBhIGNhY2hlZCByZWdp
b24gcmFuZ2UgaXQgdXN1YWxseSBtZWFucyB0aGUgYm94IGJlbG9uZ3MgdG8gYSBsaW5lIHNvIHN0
YXJ0UmVnaW9uIHNob3VsZCBiZSBlcXVhbCB3aXRoIGVuZFJlZ2lvbi4KLSAgICAvLyBGSVhNRTog
RmluZCB0aGUgY2FzZXMgd2hlbiB0aGlzIHN0YXJ0UmVnaW9uIHNob3VsZCBub3QgYmUgZXF1YWwg
d2l0aCBlbmRSZWdpb24gYW5kIG1ha2Ugc3VyZSB0aGVzZSBib3hlcyBoYXZlIGNhY2hlZCByZWdp
b24gcmFuZ2VzLgotICAgIGlmIChjYlRvVXNlKSB7Ci0gICAgICAgIHN0YXJ0UmVnaW9uID0gZW5k
UmVnaW9uID0gY29uc3RfY2FzdDxSZW5kZXJGbG93VGhyZWFkKj4odGhpcyktPnJlZ2lvbkF0Qmxv
Y2tPZmZzZXQoY2JUb1VzZSwgYm94LT5vZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCks
IHRydWUsIERpc2FsbG93UmVnaW9uQXV0b0dlbmVyYXRpb24pOwotICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgLy8gSWYgYSBib3ggZG9lc24ndCBoYXZlIGEgY2FjaGVkIHJlZ2lvbiByYW5n
ZSBpdCB1c3VhbGx5IG1lYW5zIHRoZSBib3ggYmVsb25ncyB0byBhIGxpbmUgc28gc3RhcnRSZWdp
b24gc2hvdWxkIGJlIGVxdWFsIHdpdGggZW5kUmVnaW9uLgorICAgICAgICAvLyBGSVhNRTogRmlu
ZCB0aGUgY2FzZXMgd2hlbiB0aGlzIHN0YXJ0UmVnaW9uIHNob3VsZCBub3QgYmUgZXF1YWwgd2l0
aCBlbmRSZWdpb24gYW5kIG1ha2Ugc3VyZSB0aGVzZSBib3hlcyBoYXZlIGNhY2hlZCByZWdpb24g
cmFuZ2VzLgorICAgICAgICBpZiAoaGFzQ2FjaGVkUmVnaW9uUmFuZ2VGb3JCb3goY2IpKSB7Cisg
ICAgICAgICAgICBzdGFydFJlZ2lvbiA9IGVuZFJlZ2lvbiA9IGNvbnN0X2Nhc3Q8UmVuZGVyRmxv
d1RocmVhZCo+KHRoaXMpLT5yZWdpb25BdEJsb2NrT2Zmc2V0KGNiLCBib3gtPm9mZnNldEZyb21M
b2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSwgdHJ1ZSwgRGlzYWxsb3dSZWdpb25BdXRvR2VuZXJhdGlv
bik7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgIH0KIAorICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtODY0LDcgKzg3
MCw3IEBAIGJvb2wgUmVuZGVyRmxvd1RocmVhZDo6b2JqZWN0U2hvdWxkRnJhZ21lbnRJbkZsb3dS
ZWdpb24oY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplCiAgICAgUmVuZGVyUmVnaW9uKiBlbmNsb3Np
bmdCb3hFbmRSZWdpb24gPSBudWxscHRyOwogICAgIC8vIElmIHRoZSBib3ggaGFzIG5vIHJhbmdl
LCBkbyBub3QgY2hlY2sgcmVnaW9uSW5SYW5nZS4gQm94ZXMgaW5zaWRlIGlubGluZXMgZG8gbm90
IGdldCByYW5nZXMuCiAgICAgLy8gSW5zdGVhZCwgdGhlIGNvbnRhaW5pbmcgUm9vdElubGluZUJv
eCB3aWxsIGFib3J0IHdoZW4gdHJ5aW5nIHRvIHBhaW50IGluc2lkZSB0aGUgd3JvbmcgcmVnaW9u
LgotICAgIGlmIChnZXRSZWdpb25SYW5nZUZvckJveChlbmNsb3NpbmdCb3gsIGVuY2xvc2luZ0Jv
eFN0YXJ0UmVnaW9uLCBlbmNsb3NpbmdCb3hFbmRSZWdpb24pCisgICAgaWYgKGNvbXB1dGVkUmVn
aW9uUmFuZ2VGb3JCb3goZW5jbG9zaW5nQm94LCBlbmNsb3NpbmdCb3hTdGFydFJlZ2lvbiwgZW5j
bG9zaW5nQm94RW5kUmVnaW9uKQogICAgICAgICAmJiAhcmVnaW9uSW5SYW5nZShyZWdpb24sIGVu
Y2xvc2luZ0JveFN0YXJ0UmVnaW9uLCBlbmNsb3NpbmdCb3hFbmRSZWdpb24pKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dU
aHJlYWQuaAppbmRleCBkZDRjODRkZTA0YjRhMmM0NTQxZmYyN2NjMzRmNDdlMDI1YTM0MzQ5Li45
YzlkOTBkY2EyYmE2YjlmMjYwZDlhNWIxYjc2Mzc4NzIyYmI4YTI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTE0Myw2ICsxNDMsNyBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVnaW9uUmFuZ2VGb3JCb3goY29uc3QgUmVuZGVy
Qm94KiwgUmVuZGVyUmVnaW9uKiwgUmVuZGVyUmVnaW9uKik7CiAgICAgYm9vbCBnZXRSZWdpb25S
YW5nZUZvckJveChjb25zdCBSZW5kZXJCb3gqLCBSZW5kZXJSZWdpb24qJiBzdGFydFJlZ2lvbiwg
UmVuZGVyUmVnaW9uKiYgZW5kUmVnaW9uKSBjb25zdDsKKyAgICBib29sIGNvbXB1dGVkUmVnaW9u
UmFuZ2VGb3JCb3goY29uc3QgUmVuZGVyQm94KiwgUmVuZGVyUmVnaW9uKiYgc3RhcnRSZWdpb24s
IFJlbmRlclJlZ2lvbiomIGVuZFJlZ2lvbikgY29uc3Q7CiAgICAgYm9vbCBoYXNDYWNoZWRSZWdp
b25SYW5nZUZvckJveChjb25zdCBSZW5kZXJCb3gqKSBjb25zdDsKIAogICAgIC8vIENoZWNrIGlm
IHRoZSBvYmplY3QgaXMgaW4gcmVnaW9uIGFuZCB0aGUgcmVnaW9uIGlzIHBhcnQgb2YgdGhpcyBm
bG93IHRocmVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJO
YW1lZEZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVk
Rmxvd1RocmVhZC5jcHAKaW5kZXggMjU4MTBkMzA1MzA2MjFjMWViMzU1MzlmZWNlN2ZlOTBiMTJh
MGRlZS4uNzgwN2VlOWFjMTAxMmRjZTgyNGUwNTE2MmQzMGYzNmE0YjUzZGFkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKQEAg
LTgyMCw3ICs4MjAsNyBAQCBib29sIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6YWJzb2x1dGVRdWFk
c0ZvckJveChWZWN0b3I8RmxvYXRRdWFkPiYgcXVhZHMsIGJvb2wqCiAgICAgUmVuZGVyUmVnaW9u
KiBzdGFydFJlZ2lvbiA9IG51bGxwdHI7CiAgICAgUmVuZGVyUmVnaW9uKiBlbmRSZWdpb24gPSBu
dWxscHRyOwogICAgIC8vIElmIHRoZSBib3ggZG9lc24ndCBoYXZlIGEgcmFuZ2UsIHdlIGRvbid0
IGtub3cgaG93IGl0IGlzIGZyYWdtZW50ZWQgc28gZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgYmVo
YXZpb3VyLgotICAgIGlmICghZ2V0UmVnaW9uUmFuZ2VGb3JCb3gocmVuZGVyZXIsIHN0YXJ0UmVn
aW9uLCBlbmRSZWdpb24pKQorICAgIGlmICghY29tcHV0ZWRSZWdpb25SYW5nZUZvckJveChyZW5k
ZXJlciwgc3RhcnRSZWdpb24sIGVuZFJlZ2lvbikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIGZvciAoYXV0byBpdGVyID0gbV9yZWdpb25MaXN0LmZpbmQoc3RhcnRSZWdpb24pLCBlbmQg
PSBtX3JlZ2lvbkxpc3QuZW5kKCk7IGl0ZXIgIT0gZW5kOyArK2l0ZXIpIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhYTFj
MmU3MTRlMmZlYWQ2YjExYzExOWZjOWFiNDM1OGZhYzEwMDIzLi5kZGFmNDM2MmVjZTA4MzdkMTlj
YTg5OWM2NmFjYmNlYjNkYzQ3NjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTQtMDUtMTMg
IEFuZHJlaSBCdWN1ciAgPGFidWN1ckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBSZWdpb25z
XSBBc3NlcnRpb24gZmFpbHVyZSBpbiBzb21lIGNhc2VzIHdpdGggaW5saW5lIGJsb2NrcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyODU5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB0aGF0IG1v
dmluZyBsaW5lcyB3aXRoIGlubGluZSBibG9ja3MgZG9lc24ndCBjYXVzZSBhbiBhc3NlcnRpb24u
CisKKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvaW5saW5lLWJsb2NrLXNoaWZ0ZWQtcmVnaW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL2lubGluZS1ibG9jay1z
aGlmdGVkLXJlZ2lvbi5odG1sOiBBZGRlZC4KKwogMjAxNC0wNS0xMyAgTG9yZW56byBUaWx2ZSAg
PGx0aWx2ZUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFVucmV2aWV3ZWQgR1RLIGdhcmRl
bmluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2lubGluZS1ibG9jay1z
aGlmdGVkLXJlZ2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaW5s
aW5lLWJsb2NrLXNoaWZ0ZWQtcmVnaW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZmViMWU5
YjgyNDBlZTI0MmVkNWZlMGRjMmMzOGRjMGYxOWU4MWZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9yZWdpb25zL2lubGluZS1ibG9jay1zaGlmdGVkLXJlZ2lvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzIEBACitUZXN0IGZvciBbQ1NTIFJlZ2lvbnNdIEFzc2VydGlvbiBm
YWlsdXJlIGluIHNvbWUgY2FzZXMgd2l0aCBpbmxpbmUgYmxvY2tzLiBUaGUgdGVzdCBwYXNzZXMg
aWYgdGhlcmUgaXMgbm8gY3Jhc2guCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL2lubGluZS1ibG9jay1zaGlmdGVkLXJlZ2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9yZWdpb25zL2lubGluZS1ibG9jay1zaGlmdGVkLXJlZ2lvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhj
NjExMDdiNmE3Y2NiNjcwOTg1MjEyNGYxOTQzZGRlZTUxYjUxMzkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaW5saW5lLWJsb2NrLXNoaWZ0ZWQtcmVnaW9uLmh0
bWwKQEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0
eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAucmVnaW9uIHsKKyAgICAgICAgLXdlYmtpdC1mbG93
LWZyb206IGZsb3c7CisgICAgICAgIGhlaWdodDogMTIwcHg7CisgICAgICAgIHdpZHRoOiAzMDBw
eDsKKyAgICAgICAgZmxvYXQ6IGxlZnQ7CisgICAgfQorCisgICAgI2NvbnRlbnQgeworICAgICAg
ICAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsKKyAgICAgICAgbWFyZ2luLXRvcDogNTBweDsKKyAg
ICAgICAgZm9udC1mYW1pbHk6IEFoZW07CisgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKKyAgICB9
CisKKyAgICAjb25lIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisgICAgI3R3byB7
CisgICAgICAgIHdpZHRoOiAxMHB4OworICAgICAgICBoZWlnaHQ6IDEwcHg7CisgICAgICAgIGJh
Y2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgfQorCisgICAgI2lubGluZWJsb2NrIHsKKyAgICAg
ICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVl
OworICAgICAgICBwYWRkaW5nOiAxMHB4OworICAgIH0KKworICAgICNib3hvbmxpbmUgeworICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICB9CisKKyAgICAjb3V0c2lkZSB7Cisg
ICAgICAgIGJvcmRlcjogdGhpbiBzb2xpZCByZWQ7CisgICAgICAgIG1hcmdpbjogNXB4OworICAg
IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyODU5Ij5bQ1NTIFJlZ2lv
bnNdIEFzc2VydGlvbiBmYWlsdXJlIGluIHNvbWUgY2FzZXMgd2l0aCBpbmxpbmUgYmxvY2tzPC9h
Pi4gVGhlIHRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIG5vIGNyYXNoLjwvcD4KKyAgICA8ZGl2IGNs
YXNzPSJyZWdpb24iPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisKKyAg
ICA8ZGl2IGlkPSJjb250ZW50Ij48ZGl2IGlkPSJvdXRzaWRlIj5BQUE8YnIvPkFBQTxici8+QUFB
PGJyLz5BQUE8YnIvPjxkaXYgaWQ9ImlubGluZWJsb2NrIj48ZGl2IGlkPSJib3hvbmxpbmUiPkE8
L2Rpdj48L2Rpdj48L2JyPkFBQTwvZGl2PjwvZGl2PgorCisgICAgPHNjcmlwdD4KKyAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisg
ICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRlbnQiKS5zdHlsZS5tYXJnaW5Ub3AgPSAiMHB4IjsKKyAgICBkb2N1bWVudC5ib2R5Lm9m
ZnNldFRvcDsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250ZW50IikpOworICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworICAgIDwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>