<?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>139921</bug_id>
          
          <creation_ts>2014-12-23 15:42:57 -0800</creation_ts>
          <short_desc>[iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources</short_desc>
          <delta_ts>2015-03-06 10:47:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>139944</dependson>
    
    <dependson>141788</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1057679</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-23 15:42:57 -0800</bug_when>
    <thetext>Log better using FeatureCounter why PageCache is failing due to pruned resources. The reason can be:
- Page cache reached maximum capacity
- Memory pressure
- Process suspended (WK2)

Radar: &lt;rdar://problem/19255690&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057685</commentid>
    <comment_count>1</comment_count>
      <attachid>243707</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-23 15:56:04 -0800</bug_when>
    <thetext>Created attachment 243707
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057686</commentid>
    <comment_count>2</comment_count>
      <attachid>243708</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-23 15:57:15 -0800</bug_when>
    <thetext>Created attachment 243708
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057697</commentid>
    <comment_count>3</comment_count>
      <attachid>243710</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-23 16:33:14 -0800</bug_when>
    <thetext>Created attachment 243710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057720</commentid>
    <comment_count>4</comment_count>
      <attachid>243710</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-23 17:14:06 -0800</bug_when>
    <thetext>Comment on attachment 243710
Patch

Clearing flags on attachment: 243710

Committed r177712: &lt;http://trac.webkit.org/changeset/177712&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057721</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-23 17:14:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057827</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-24 23:33:14 -0800</bug_when>
    <thetext>This made a regression test flakily assert:

http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=fast%2Floader%2Fcrash-copying-backforwardlist.html

0   com.apple.JavaScriptCore      	0x0000000106ce8b8a WTFCrash + 42 (Assertions.cpp:321)
1   com.apple.WebCore             	0x000000010cb57a51 WebCore::pruningReasonToFeatureCounterKey(WebCore::PruningReason) + 193 (PageCache.cpp:451)
2   com.apple.WebCore             	0x000000010cb57ba2 WebCore::PageCache::get(WebCore::HistoryItem*, WebCore::Page*) + 306 (PageCache.cpp:512)
3   com.apple.WebCore             	0x000000010bee4164 WebCore::FrameLoader::loadDifferentDocumentItem(WebCore::HistoryItem*, WebCore::FrameLoadType, WebCore::FrameLoader::FormSubmissionCacheLoadPolicy) + 116 (FrameLoader.cpp:3178)
4   com.apple.WebCore             	0x000000010beee676 WebCore::FrameLoader::loadItem(WebCore::HistoryItem*, WebCore::FrameLoadType) + 166 (FrameLoader.cpp:3271)
5   com.apple.WebCore             	0x000000010c00183d WebCore::HistoryController::recursiveGoToItem(WebCore::HistoryItem*, WebCore::HistoryItem*, WebCore::FrameLoadType) + 141 (HistoryController.cpp:740)
6   com.apple.WebCore             	0x000000010c0015a5 WebCore::HistoryController::goToItem(WebCore::HistoryItem*, WebCore::FrameLoadType) + 405 (HistoryController.cpp:301)
7   com.apple.WebCore             	0x000000010cb45f99 WebCore::Page::goToItem(WebCore::HistoryItem*, WebCore::FrameLoadType) + 201 (Page.cpp:446)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057832</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-25 08:19:32 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 139944</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057849</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-25 11:28:08 -0800</bug_when>
    <thetext>Ok, the problem seems to be that HistoryItem::m_prunedReason is not correctly initialized in the HistoryItem copy constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057851</commentid>
    <comment_count>9</comment_count>
      <attachid>243748</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-25 12:00:57 -0800</bug_when>
    <thetext>Created attachment 243748
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057852</commentid>
    <comment_count>10</comment_count>
      <attachid>243748</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-25 12:03:19 -0800</bug_when>
    <thetext>Comment on attachment 243748
Patch

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

&gt; Source/WebCore/history/HistoryItem.cpp:165
&gt; +    , m_pruningReason(PruningReason::None)

This is what was missing in the previous patch that landed. I missed it because m_next / m_prev pointers weren&apos;t initialized here either. I am now initializing m_next / m_prev here as well as there is no guarantee those will be initialized to nullptr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057854</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-25 12:27:01 -0800</bug_when>
    <thetext>rs=me on the additional changes. I think that this should be landed under original Gavin&apos;s review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057855</commentid>
    <comment_count>12</comment_count>
      <attachid>243749</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-25 12:29:41 -0800</bug_when>
    <thetext>Created attachment 243749
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057856</commentid>
    <comment_count>13</comment_count>
      <attachid>243749</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-25 13:09:45 -0800</bug_when>
    <thetext>Comment on attachment 243749
Patch

Clearing flags on attachment: 243749

Committed r177738: &lt;http://trac.webkit.org/changeset/177738&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057857</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-25 13:09:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243707</attachid>
            <date>2014-12-23 15:56:04 -0800</date>
            <delta_ts>2014-12-23 15:57:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139921-20141223155605.patch</filename>
            <type>text/plain</type>
            <size>15393</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDBlOGRkYjM0OGQ3M2Ex
YTIwMTgzZmVjMGViMTY1ZWQ3OGQ4ZjE5MC4uM2EzYTVlODFiOTg1ODNkNDBkNjMzZTE4ZWU3YzVm
ZDJjMjY2YzU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTEyLTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9nIGJldHRlciB1
c2luZyBGZWF0dXJlQ291bnRlciB3aHkgUGFnZUNhY2hlIGlzIGZhaWxpbmcgZHVlIHRvIHBydW5l
ZCByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzOTkyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIExvZyBiZXR0ZXIgdXNpbmcgRmVhdHVyZUNvdW50ZXIgd2h5IFBhZ2VDYWNoZSBpcyBmYWls
aW5nIGR1ZSB0byBwcnVuZWQKKyAgICAgICAgcmVzb3VyY2VzLiBJbiBwYXJ0aWN1bGFyLCB3ZSBu
b3cgZGlzdGluZ3Vpc2ggaWYgdGhlIHJlc291cmNlIHdhcyBwcnVuZWQKKyAgICAgICAgZHVlIHRv
OgorICAgICAgICAtIE1lbW9yeSBwcmVzc3VyZQorICAgICAgICAtIFBhZ2UgY2FjaGUgY2FwYWNp
dHkgcmVhY2hlZAorICAgICAgICAtIFdlYlByb2Nlc3Mgc3VzcGVuZGVkIChXSzIpCisKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBoaXN0b3J5L0hpc3RvcnlJdGVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpIaXN0b3J5SXRlbSk6CisgICAgICAgICog
aGlzdG9yeS9IaXN0b3J5SXRlbS5oOgorICAgICAgICAqIGhpc3RvcnkvUGFnZUNhY2hlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6cHJ1bmVUb0NhcGFjaXR5Tm93KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6c2V0Q2FwYWNpdHkpOgorICAgICAgICAoV2ViQ29yZTo6
cHJ1bmluZ1JlYXNvblRvRmVhdHVyZUNvdW50ZXJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZUNhY2hlOjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjp0YWtlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNo
ZTo6cHJ1bmUpOgorICAgICAgICAqIGhpc3RvcnkvUGFnZUNhY2hlLmg6CisgICAgICAgICogbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb21t
aXRQcm92aXNpb25hbExvYWQpOgorICAgICAgICAqIHBsYXRmb3JtL0ZlYXR1cmVDb3VudGVyS2V5
cy5oOgorICAgICAgICAqIHBsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnJlbGVhc2VDcml0aWNhbE1lbW9y
eSk6CisKIDIwMTQtMTItMjMgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZW5hbWUgV2ViQ29udGV4dCB0byBXZWJQcm9jZXNzUG9vbApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGViMzU4
MDI3OGQwNmMyM2MyZjcxNjBkMDFiY2UwNmE3NzAxYjQ3NzguLjQ5MjI3MDQzODY0NzU0YThkODI5
YmM1Mjc1NjhlOWJkZGFlY2I2ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNC0x
Mi0yMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIExv
ZyBiZXR0ZXIgdXNpbmcgRmVhdHVyZUNvdW50ZXIgd2h5IFBhZ2VDYWNoZSBpcyBmYWlsaW5nIGR1
ZSB0byBwcnVuZWQgcmVzb3VyY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMzk5MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDYWxsIFBhZ2VDYWNoZTo6cHJ1bmVUb0NhcGFjaXR5Tm93KCkgaW5zdGVh
ZCBvZiBtdWx0aXBsZSBjYWxscyB0bworICAgICAgICBzZXRDYXBhY2l0eSgpIGFzIGl0IGRvZXMg
ZXhhY3RseSB3aGF0IHdlIHdhbnQuIEFsc28gcGFzcyB0aGUgbmV3CisgICAgICAgIFBydW5lZFJl
YXNvbiBhcmd1bWVudCBzbyBoZWxwIHVzIGRvIGJldHRlciBsb2dnaW5nLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
cmVsZWFzZVBhZ2VDYWNoZSk6CisKIDIwMTQtMTItMjMgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgaGFuZGxlIHRyYW5zZm9ybSBmdW5jdGlvbnMg
dG8gV2ViQ29ubmVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA3OTkwM2ZiMTYwMjI2Nzdk
NDQxMzdiZGJhMTc1YzdiZWQxNWMyZjhmLi5jNTI5ZTcxZDExN2Y0NzI4NjZhODYyNTc0NDQwMDQ2
ZjhkMTAwZWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTU1OSw2ICsxNTU5LDcgQEAgX19a
TjdXZWJDb3JlOUpTRWxlbWVudDl0b1dyYXBwZWRFTjNKU0M3SlNWYWx1ZUUKIF9fWk43V2ViQ29y
ZTlMYXllclBvb2xDMUV2CiBfX1pON1dlYkNvcmU5TGF5ZXJQb29sRDFFdgogX19aTjdXZWJDb3Jl
OVBhZ2VDYWNoZTExc2V0Q2FwYWNpdHlFaQorX19aTjdXZWJDb3JlOVBhZ2VDYWNoZTE4cHJ1bmVU
b0NhcGFjaXR5Tm93RWlOU18xM1BydW5pbmdSZWFzb25FCiBfX1pON1dlYkNvcmU5UGFnZUNhY2hl
MzNtYXJrUGFnZXNGb3JWaXN0ZWRMaW5rU3R5bGVSZWNhbGNFdgogX19aTjdXZWJDb3JlOVBhZ2VD
YWNoZTZyZW1vdmVFUE5TXzExSGlzdG9yeUl0ZW1FCiBfX1pON1dlYkNvcmU5UGFnZUdyb3VwMTZz
eW5jTG9jYWxTdG9yYWdlRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlz
dG9yeUl0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKaW5k
ZXggODJlMDNiMzZkNWRkY2UwNzU1MTBmN2JkNzg0ZGE4MjVjNGQ5YzA4Zi4uOWYyMzA1ZTQ5ZDdm
ZjM5NzYwOTExYWRkYzUzMjVkYzNkN2RlNDk1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0
b3J5SXRlbS5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKCkK
ICAgICAsIG1fZG9jdW1lbnRTZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkp
CiAgICAgLCBtX25leHQoMCkKICAgICAsIG1fcHJldigwKQotICAgICwgbV93YXNQcnVuZWQoZmFs
c2UpCisgICAgLCBtX3BydW5pbmdSZWFzb24oUHJ1bmluZ1JlYXNvbjo6Tm9uZSkKICNpZiBQTEFU
Rk9STShJT1MpCiAgICAgLCBtX3NjYWxlKDApCiAgICAgLCBtX3NjYWxlSXNJbml0aWFsKGZhbHNl
KQpAQCAtODMsNyArODMsNyBAQCBIaXN0b3J5SXRlbTo6SGlzdG9yeUl0ZW0oY29uc3QgU3RyaW5n
JiB1cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiAgICAgLCBtX2RvY3VtZW50U2VxdWVu
Y2VOdW1iZXIoZ2VuZXJhdGVTZXF1ZW5jZU51bWJlcigpKQogICAgICwgbV9uZXh0KDApCiAgICAg
LCBtX3ByZXYoMCkKLSAgICAsIG1fd2FzUHJ1bmVkKGZhbHNlKQorICAgICwgbV9wcnVuaW5nUmVh
c29uKFBydW5pbmdSZWFzb246Ok5vbmUpCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICwgbV9zY2Fs
ZSgwKQogICAgICwgbV9zY2FsZUlzSW5pdGlhbChmYWxzZSkKQEAgLTEwNSw3ICsxMDUsNyBAQCBI
aXN0b3J5SXRlbTo6SGlzdG9yeUl0ZW0oY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIGNvbnN0IFN0
cmluZyYgdGl0bGUsIGNvbnN0IFN0cgogICAgICwgbV9kb2N1bWVudFNlcXVlbmNlTnVtYmVyKGdl
bmVyYXRlU2VxdWVuY2VOdW1iZXIoKSkKICAgICAsIG1fbmV4dCgwKQogICAgICwgbV9wcmV2KDAp
Ci0gICAgLCBtX3dhc1BydW5lZChmYWxzZSkKKyAgICAsIG1fcHJ1bmluZ1JlYXNvbihQcnVuaW5n
UmVhc29uOjpOb25lKQogI2lmIFBMQVRGT1JNKElPUykKICAgICAsIG1fc2NhbGUoMCkKICAgICAs
IG1fc2NhbGVJc0luaXRpYWwoZmFsc2UpCkBAIC0xMjgsNyArMTI4LDcgQEAgSGlzdG9yeUl0ZW06
Okhpc3RvcnlJdGVtKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHRhcmdldCwgY29uc3Qg
U3RyaW5nJiBwYXIKICAgICAsIG1fZG9jdW1lbnRTZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVl
bmNlTnVtYmVyKCkpCiAgICAgLCBtX25leHQoMCkKICAgICAsIG1fcHJldigwKQotICAgICwgbV93
YXNQcnVuZWQoZmFsc2UpCisgICAgLCBtX3BydW5pbmdSZWFzb24oUHJ1bmluZ1JlYXNvbjo6Tm9u
ZSkKICNpZiBQTEFURk9STShJT1MpCiAgICAgLCBtX3NjYWxlKDApCiAgICAgLCBtX3NjYWxlSXNJ
bml0aWFsKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5
SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5oCmluZGV4IDA5Zjli
MTBiZTdkYjA0NmRmZjkzOWEyYWY5ODgwMWUwZmQ4Y2EzMzQuLmE5Y2FmZDNiYjI3MDQ3NGNmNmM3
ODk2MmRiM2RkODU5YjdiMmMwYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
SGlzdG9yeUl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmgK
QEAgLTU4LDYgKzU4LDggQEAgdHlwZWRlZiBWZWN0b3I8UmVmUHRyPEhpc3RvcnlJdGVtPj4gSGlz
dG9yeUl0ZW1WZWN0b3I7CiAKIGV4dGVybiB2b2lkICgqbm90aWZ5SGlzdG9yeUl0ZW1DaGFuZ2Vk
KShIaXN0b3J5SXRlbSopOwogCitlbnVtIGNsYXNzIFBydW5pbmdSZWFzb24geyBOb25lLCBQcm9j
ZXNzU3VzcGVuZGVkLCBNZW1vcnlQcmVzc3VyZSwgUmVhY2hlZENhcGFjaXR5IH07CisKIGNsYXNz
IEhpc3RvcnlJdGVtIDogcHVibGljIFJlZkNvdW50ZWQ8SGlzdG9yeUl0ZW0+IHsKICAgICBmcmll
bmQgY2xhc3MgUGFnZUNhY2hlOwogCkBAIC0yNTgsNyArMjYwLDcgQEAgcHJpdmF0ZToKICAgICBI
aXN0b3J5SXRlbSogbV9uZXh0OwogICAgIEhpc3RvcnlJdGVtKiBtX3ByZXY7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENhY2hlZFBhZ2U+IG1fY2FjaGVkUGFnZTsKLSAgICBib29sIG1fd2FzUHJ1bmVk
OworICAgIFBydW5pbmdSZWFzb24gbV9wcnVuaW5nUmVhc29uOwogCiAjaWYgUExBVEZPUk0oSU9T
KQogICAgIEZsb2F0UmVjdCBtX2V4cG9zZWRDb250ZW50UmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
UGFnZUNhY2hlLmNwcAppbmRleCA0MDY5NTcxYjE0YTU5ODdhMWY0OWM2NDYxZDJiZWQ2YTA1MjI5
M2M5Li41NzNjYWY1Njc5MzFkZDQzZjAwY2E4ODUwZDcyZGUxNTYwOTgxZGMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCkBAIC00Miw3ICs0Miw2IEBACiAjaW5jbHVkZSAiRnJh
bWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRl
ICJIaXN0b3J5Q29udHJvbGxlci5oIgotI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIk1lbW9yeVBy
ZXNzdXJlSGFuZGxlci5oIgpAQCAtNTEsNiArNTAsNyBAQAogI2luY2x1ZGUgIlNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuaCIKICNpbmNsdWRlICJTdWJmcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgPHd0
Zi9DdXJyZW50VGltZS5oPgorI2luY2x1ZGUgPHd0Zi9UZW1wb3JhcnlDaGFuZ2UuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0
ZW5hdGUuaD4KIApAQCAtMzcwLDExICszNzAsMTAgQEAgYm9vbCBQYWdlQ2FjaGU6OmNhbkNhY2hl
KFBhZ2UqIHBhZ2UpIGNvbnN0CiAgICAgICAgICAgICB8fCBsb2FkVHlwZSA9PSBGcmFtZUxvYWRU
eXBlOjpJbmRleGVkQmFja0ZvcndhcmQpOwogfQogCi12b2lkIFBhZ2VDYWNoZTo6cHJ1bmVUb0Nh
cGFjaXR5Tm93KGludCBjYXBhY2l0eSkKK3ZvaWQgUGFnZUNhY2hlOjpwcnVuZVRvQ2FwYWNpdHlO
b3coaW50IGNhcGFjaXR5LCBQcnVuaW5nUmVhc29uIHBydW5pbmdSZWFzb24pCiB7Ci0gICAgaW50
IHNhdmVkQ2FwYWNpdHkgPSBtX2NhcGFjaXR5OwotICAgIHNldENhcGFjaXR5KGNhcGFjaXR5KTsK
LSAgICBzZXRDYXBhY2l0eShzYXZlZENhcGFjaXR5KTsKKyAgICBUZW1wb3JhcnlDaGFuZ2U8aW50
PihtX2NhcGFjaXR5LCBzdGQ6Om1heChjYXBhY2l0eSwgMCkpOworICAgIHBydW5lKHBydW5pbmdS
ZWFzb24pOwogfQogCiB2b2lkIFBhZ2VDYWNoZTo6c2V0Q2FwYWNpdHkoaW50IGNhcGFjaXR5KQpA
QCAtMzgyLDcgKzM4MSw3IEBAIHZvaWQgUGFnZUNhY2hlOjpzZXRDYXBhY2l0eShpbnQgY2FwYWNp
dHkpCiAgICAgQVNTRVJUKGNhcGFjaXR5ID49IDApOwogICAgIG1fY2FwYWNpdHkgPSBzdGQ6Om1h
eChjYXBhY2l0eSwgMCk7CiAKLSAgICBwcnVuZSgpOworICAgIHBydW5lKFBydW5pbmdSZWFzb246
Ok5vbmUpOwogfQogCiBpbnQgUGFnZUNhY2hlOjpmcmFtZUNvdW50KCkgY29uc3QKQEAgLTQzMyw2
ICs0MzIsMjEgQEAgdm9pZCBQYWdlQ2FjaGU6Om1hcmtQYWdlc0ZvckNhcHRpb25QcmVmZXJlbmNl
c0NoYW5nZWQoKQogfQogI2VuZGlmCiAKK3N0YXRpYyBjb25zdCBjaGFyKiBwcnVuaW5nUmVhc29u
VG9GZWF0dXJlQ291bnRlcktleShQcnVuaW5nUmVhc29uIHBydW5pbmdSZWFzb24pCit7CisgICAg
c3dpdGNoIChwcnVuaW5nUmVhc29uKSB7CisgICAgY2FzZSBQcnVuaW5nUmVhc29uOjpNZW1vcnlQ
cmVzc3VyZToKKyAgICAgICAgcmV0dXJuIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZVBy
dW5lZE1lbW9yeVByZXNzdXJlS2V5OworICAgIGNhc2UgUHJ1bmluZ1JlYXNvbjo6UHJvY2Vzc1N1
c3BlbmRlZDoKKyAgICAgICAgcmV0dXJuIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZVBy
dW5lZFByb2Nlc3NlZFN1c3BlbmRlZEtleTsKKyAgICBjYXNlIFBydW5pbmdSZWFzb246OlJlYWNo
ZWRDYXBhY2l0eToKKyAgICAgICAgcmV0dXJuIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVy
ZVBydW5lZENhcGFjaXR5UmVhY2hlZEtleTsKKyAgICBjYXNlIFBydW5pbmdSZWFzb246Ok5vbmU6
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICB9Cit9CisKIHZvaWQgUGFnZUNhY2hlOjphZGQoUGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4g
cHJwSXRlbSwgUGFnZSYgcGFnZSkKIHsKICAgICBBU1NFUlQocHJwSXRlbSk7CkBAIC00NDUsMTEg
KzQ1OSwxMSBAQCB2b2lkIFBhZ2VDYWNoZTo6YWRkKFBhc3NSZWZQdHI8SGlzdG9yeUl0ZW0+IHBy
cEl0ZW0sIFBhZ2UmIHBhZ2UpCiAgICAgICAgIHJlbW92ZShpdGVtKTsKIAogICAgIGl0ZW0tPm1f
Y2FjaGVkUGFnZSA9IHN0ZDo6bWFrZV91bmlxdWU8Q2FjaGVkUGFnZT4ocGFnZSk7Ci0gICAgaXRl
bS0+bV93YXNQcnVuZWQgPSBmYWxzZTsKKyAgICBpdGVtLT5tX3BydW5pbmdSZWFzb24gPSBQcnVu
aW5nUmVhc29uOjpOb25lOwogICAgIGFkZFRvTFJVTGlzdChpdGVtKTsKICAgICArK21fc2l6ZTsK
ICAgICAKLSAgICBwcnVuZSgpOworICAgIHBydW5lKFBydW5pbmdSZWFzb246OlJlYWNoZWRDYXBh
Y2l0eSk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxDYWNoZWRQYWdlPiBQYWdlQ2FjaGU6OnRha2Uo
SGlzdG9yeUl0ZW0qIGl0ZW0sIFBhZ2UqIHBhZ2UpCkBAIC00NjUsOCArNDc5LDggQEAgc3RkOjp1
bmlxdWVfcHRyPENhY2hlZFBhZ2U+IFBhZ2VDYWNoZTo6dGFrZShIaXN0b3J5SXRlbSogaXRlbSwg
UGFnZSogcGFnZSkKICAgICBpdGVtLT5kZXJlZigpOyAvLyBCYWxhbmNlZCBpbiBhZGQoKS4KIAog
ICAgIGlmICghY2FjaGVkUGFnZSkgewotICAgICAgICBpZiAoaXRlbS0+bV93YXNQcnVuZWQpCi0g
ICAgICAgICAgICBGRUFUVVJFX0NPVU5URVJfSU5DUkVNRU5UX0tFWShwYWdlLCBGZWF0dXJlQ291
bnRlclBhZ2VDYWNoZUZhaWx1cmVXYXNQcnVuZWRLZXkpOworICAgICAgICBpZiAoaXRlbS0+bV9w
cnVuaW5nUmVhc29uICE9IFBydW5pbmdSZWFzb246Ok5vbmUpCisgICAgICAgICAgICBGRUFUVVJF
X0NPVU5URVJfSU5DUkVNRU5UX0tFWShwYWdlLCBwcnVuaW5nUmVhc29uVG9GZWF0dXJlQ291bnRl
cktleShpdGVtLT5tX3BydW5pbmdSZWFzb24pKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgfQogCkBAIC00OTEsOCArNTA1LDggQEAgQ2FjaGVkUGFnZSogUGFnZUNhY2hlOjpnZXQoSGlz
dG9yeUl0ZW0qIGl0ZW0sIFBhZ2UqIHBhZ2UpCiAgICAgICAgIExPRyhQYWdlQ2FjaGUsICJOb3Qg
cmVzdG9yaW5nIHBhZ2UgZm9yICVzIGZyb20gYmFjay9mb3J3YXJkIGNhY2hlIGJlY2F1c2UgY2Fj
aGUgZW50cnkgaGFzIGV4cGlyZWQiLCBpdGVtLT51cmwoKS5zdHJpbmcoKS5hc2NpaSgpLmRhdGEo
KSk7CiAgICAgICAgIEZFQVRVUkVfQ09VTlRFUl9JTkNSRU1FTlRfS0VZKHBhZ2UsIEZlYXR1cmVD
b3VudGVyUGFnZUNhY2hlRmFpbHVyZUV4cGlyZWRLZXkpOwogICAgICAgICBwYWdlQ2FjaGUoKS0+
cmVtb3ZlKGl0ZW0pOwotICAgIH0gZWxzZSBpZiAoaXRlbS0+bV93YXNQcnVuZWQpCi0gICAgICAg
IEZFQVRVUkVfQ09VTlRFUl9JTkNSRU1FTlRfS0VZKHBhZ2UsIEZlYXR1cmVDb3VudGVyUGFnZUNh
Y2hlRmFpbHVyZVdhc1BydW5lZEtleSk7CisgICAgfSBlbHNlIGlmIChpdGVtLT5tX3BydW5pbmdS
ZWFzb24gIT0gUHJ1bmluZ1JlYXNvbjo6Tm9uZSkKKyAgICAgICAgRkVBVFVSRV9DT1VOVEVSX0lO
Q1JFTUVOVF9LRVkocGFnZSwgcHJ1bmluZ1JlYXNvblRvRmVhdHVyZUNvdW50ZXJLZXkoaXRlbS0+
bV9wcnVuaW5nUmVhc29uKSk7CiAKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KQEAgLTUxMCwxMSAr
NTI0LDExIEBAIHZvaWQgUGFnZUNhY2hlOjpyZW1vdmUoSGlzdG9yeUl0ZW0qIGl0ZW0pCiAgICAg
aXRlbS0+ZGVyZWYoKTsgLy8gQmFsYW5jZWQgaW4gYWRkKCkuCiB9CiAKLXZvaWQgUGFnZUNhY2hl
OjpwcnVuZSgpCit2b2lkIFBhZ2VDYWNoZTo6cHJ1bmUoUHJ1bmluZ1JlYXNvbiBwcnVuaW5nUmVh
c29uKQogewogICAgIHdoaWxlIChtX3NpemUgPiBtX2NhcGFjaXR5KSB7CiAgICAgICAgIEFTU0VS
VChtX3RhaWwgJiYgbV90YWlsLT5tX2NhY2hlZFBhZ2UpOwotICAgICAgICBtX3RhaWwtPm1fd2Fz
UHJ1bmVkID0gdHJ1ZTsKKyAgICAgICAgbV90YWlsLT5tX3BydW5pbmdSZWFzb24gPSBwcnVuaW5n
UmVhc29uOwogICAgICAgICByZW1vdmUobV90YWlsKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9QYWdlQ2FjaGUuaAppbmRleCBjOTZmNDdhZGMyY2QyM2ExODcyZTVkY2I2NTNhZDQ4ZWI3YjY5
NGFmLi5lM2YzNmJhOTQxNWQ4ZjM2M2FlZGE0ODBiMmM0ZjhiNWJhMWE4M2RlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgUGFnZUNhY2hl
X2gKICNkZWZpbmUgUGFnZUNhY2hlX2gKIAorI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAjaW5j
bHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+CkBAIC0zNSw3ICszNiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNs
YXNzIENhY2hlZFBhZ2U7CiAgICAgY2xhc3MgRnJhbWU7Ci0gICAgY2xhc3MgSGlzdG9yeUl0ZW07
CiAgICAgY2xhc3MgUGFnZTsKICAgICAKICAgICBjbGFzcyBQYWdlQ2FjaGUgewpAQCAtNjIsNyAr
NjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgbWFya1BhZ2VzRm9yRnVs
bFN0eWxlUmVjYWxjKFBhZ2UqKTsKIAogICAgICAgICAvLyBVc2VkIHdoZW4gbWVtb3J5IGlzIGxv
dyB0byBwcnVuZSBzb21lIGNhY2hlZCBwYWdlcy4KLSAgICAgICAgdm9pZCBwcnVuZVRvQ2FwYWNp
dHlOb3coaW50IGNhcGFjaXR5KTsKKyAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwcnVuZVRv
Q2FwYWNpdHlOb3coaW50IGNhcGFjaXR5LCBQcnVuaW5nUmVhc29uKTsKIAogI2lmIEVOQUJMRShW
SURFT19UUkFDSykKICAgICAgICAgdm9pZCBtYXJrUGFnZXNGb3JDYXB0aW9uUHJlZmVyZW5jZXND
aGFuZ2VkKCk7CkBAIC04MSw3ICs4MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dm9pZCBhZGRUb0xSVUxpc3QoSGlzdG9yeUl0ZW0qKTsgLy8gQWRkcyB0byB0aGUgaGVhZCBvZiB0
aGUgbGlzdC4KICAgICAgICAgdm9pZCByZW1vdmVGcm9tTFJVTGlzdChIaXN0b3J5SXRlbSopOwog
Ci0gICAgICAgIHZvaWQgcHJ1bmUoKTsKKyAgICAgICAgdm9pZCBwcnVuZShQcnVuaW5nUmVhc29u
KTsKIAogICAgICAgICBpbnQgbV9jYXBhY2l0eTsKICAgICAgICAgaW50IG1fc2l6ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDMwYWMyMGZmNTRhZTdjMjk2OTEwMDVm
OWE5N2YwYWNmMWQ5MmM4NDcuLmI3NTQ1ZWYyYzRjYTA5YTIyOWFiN2ZiM2I3MjM0YzgzZjAwZmI0
MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTc2NiwxMSArMTc2
NiwxMSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjb21taXRQcm92aXNpb25hbExvYWQoKQogICAgICAg
ICAgICAgTE9HKE1lbW9yeVByZXNzdXJlLCAiUHJ1bmluZyBwYWdlIGNhY2hlIGJlY2F1c2UgdW5k
ZXIgbWVtb3J5IHByZXNzdXJlIGF0OiAlcyIsIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgICAg
ICAgICAgTE9HKFBhZ2VDYWNoZSwgIlBydW5pbmcgcGFnZSBjYWNoZSB0byAwIGR1ZSB0byBtZW1v
cnkgcHJlc3N1cmUiKTsKICAgICAgICAgICAgIC8vIERvbid0IGNhY2hlIGFueSBwYWdlIGlmIHdl
IGFyZSB1bmRlciBtZW1vcnkgcHJlc3N1cmUuCi0gICAgICAgICAgICBwYWdlQ2FjaGUoKS0+cHJ1
bmVUb0NhcGFjaXR5Tm93KDApOworICAgICAgICAgICAgcGFnZUNhY2hlKCktPnBydW5lVG9DYXBh
Y2l0eU5vdygwLCBQcnVuaW5nUmVhc29uOjpNZW1vcnlQcmVzc3VyZSk7CiAgICAgICAgIH0gZWxz
ZSBpZiAoc3lzdGVtTWVtb3J5TGV2ZWwoKSA8PSBtZW1vcnlMZXZlbFRocmVzaG9sZFRvUHJ1bmVQ
YWdlQ2FjaGUpIHsKICAgICAgICAgICAgIExPRyhNZW1vcnlQcmVzc3VyZSwgIlBydW5pbmcgcGFn
ZSBjYWNoZSBiZWNhdXNlIHN5c3RlbSBtZW1vcnkgbGV2ZWwgaXMgJWQgYXQ6ICVzIiwgc3lzdGVt
TWVtb3J5TGV2ZWwoKSwgX19QUkVUVFlfRlVOQ1RJT05fXyk7CiAgICAgICAgICAgICBMT0coUGFn
ZUNhY2hlLCAiUHJ1bmluZyBwYWdlIGNhY2hlIHRvICVkIGR1ZSB0byBsb3cgbWVtb3J5IChsZXZl
bCAlZCBsZXNzIG9yIGVxdWFsIHRvICVkIHRocmVzaG9sZCkiLCBwYWdlQ2FjaGUoKS0+Y2FwYWNp
dHkoKSAvIDIsIHN5c3RlbU1lbW9yeUxldmVsKCksIG1lbW9yeUxldmVsVGhyZXNob2xkVG9QcnVu
ZVBhZ2VDYWNoZSk7Ci0gICAgICAgICAgICBwYWdlQ2FjaGUoKS0+cHJ1bmVUb0NhcGFjaXR5Tm93
KHBhZ2VDYWNoZSgpLT5jYXBhY2l0eSgpIC8gMik7CisgICAgICAgICAgICBwYWdlQ2FjaGUoKS0+
cHJ1bmVUb0NhcGFjaXR5Tm93KHBhZ2VDYWNoZSgpLT5jYXBhY2l0eSgpIC8gMiwgUHJ1bmluZ1Jl
YXNvbjo6TWVtb3J5UHJlc3N1cmUpOwogICAgICAgICB9CiAgICAgfQogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GZWF0dXJlQ291bnRlcktleXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0ZlYXR1cmVDb3VudGVyS2V5cy5oCmluZGV4IDNlZGY1MzI5YThl
YjVkYTcwNzBkZWE5ZjVlYjhhYmM2OTRhNDZiMTQuLjFkODcyNjQ2YWMyMDQ2NDE5NTk4ZjRhM2Q3
OWQ1NGI3OTNhODNiZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZlYXR1
cmVDb3VudGVyS2V5cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZlYXR1cmVDb3Vu
dGVyS2V5cy5oCkBAIC01OSw3ICs1OSw5IEBAIHN0YXRpYyBjb25zdCBjaGFyIEZlYXR1cmVDb3Vu
dGVyUGFnZUNhY2hlRmFpbHVyZVJlbG9hZEtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQuCiBzdGF0
aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZUZhaWx1cmVSZWxvYWRGcm9tT3Jp
Z2luS2V5W10gPSAiY29tLmFwcGxlLldlYktpdC5wYWdlQ2FjaGUuZmFpbHVyZS5yZWxvYWRGcm9t
T3JpZ2luIjsKIHN0YXRpYyBjb25zdCBjaGFyIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVy
ZVNhbWVMb2FkS2V5W10gPSAiY29tLmFwcGxlLldlYktpdC5wYWdlQ2FjaGUuZmFpbHVyZS5zYW1l
TG9hZCI7CiBzdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZUZhaWx1cmVF
eHBpcmVkS2V5W10gPSAiY29tLmFwcGxlLldlYktpdC5wYWdlQ2FjaGUuZmFpbHVyZS5leHBpcmVk
IjsKLXN0YXRpYyBjb25zdCBjaGFyIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZVdhc1By
dW5lZEtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hlLmZhaWx1cmUud2FzUHJ1bmVk
IjsKK3N0YXRpYyBjb25zdCBjaGFyIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZVBydW5l
ZE1lbW9yeVByZXNzdXJlS2V5W10gPSAiY29tLmFwcGxlLldlYktpdC5wYWdlQ2FjaGUuZmFpbHVy
ZS5wcnVuZWQubWVtb3J5UHJlc3N1cmUiOworc3RhdGljIGNvbnN0IGNoYXIgRmVhdHVyZUNvdW50
ZXJQYWdlQ2FjaGVGYWlsdXJlUHJ1bmVkQ2FwYWNpdHlSZWFjaGVkS2V5W10gPSAiY29tLmFwcGxl
LldlYktpdC5wYWdlQ2FjaGUuZmFpbHVyZS5wcnVuZWQuY2FwYWNpdHlSZWFjaGVkIjsKK3N0YXRp
YyBjb25zdCBjaGFyIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZVBydW5lZFByb2Nlc3Nl
ZFN1c3BlbmRlZEtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hlLmZhaWx1cmUucHJ1
bmVkLnByb2Nlc3NTdXNwZW5kZWQiOwogc3RhdGljIGNvbnN0IGNoYXIgRmVhdHVyZUNvdW50ZXJQ
YWdlQ2FjaGVGYWlsdXJlS2V5W10gPSAiY29tLmFwcGxlLldlYktpdC5wYWdlQ2FjaGUuZmFpbHVy
ZSI7CiBzdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZVN1Y2Nlc3NLZXlb
XSA9ICJjb20uYXBwbGUuV2ViS2l0LnBhZ2VDYWNoZS5zdWNjZXNzIjsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKaW5kZXggMTgxMmRl
YzFjOWE0ZWYxYjJiMGY5MTA5OTE3M2Q0NmQ0NGEyYzQ0My4uNjg5MjgzZWUwMjc0NzIxZjRlYTcy
M2JiNTY5MzdlZGE4YmM1ZmM1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9N
ZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCkBAIC0xMDEsOSArMTAxLDkgQEAgdm9pZCBNZW1vcnlQ
cmVzc3VyZUhhbmRsZXI6OnJlbGVhc2VDcml0aWNhbE1lbW9yeSgpCiB7CiAgICAgewogICAgICAg
ICBSZWxpZWZMb2dnZXIgbG9nKCJFbXB0eSB0aGUgUGFnZUNhY2hlIik7Ci0gICAgICAgIGludCBz
YXZlZFBhZ2VDYWNoZUNhcGFjaXR5ID0gcGFnZUNhY2hlKCktPmNhcGFjaXR5KCk7Ci0gICAgICAg
IHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eSgwKTsKLSAgICAgICAgcGFnZUNhY2hlKCktPnNldENh
cGFjaXR5KHNhdmVkUGFnZUNhY2hlQ2FwYWNpdHkpOworICAgICAgICAvLyBSaWdodCBub3csIHRo
ZSBvbmx5IHJlYXNvbiB3ZSBjYWxsIHJlbGVhc2UgY3JpdGljYWwgbWVtb3J5IHdoaWxlIG5vdCB1
bmRlciBtZW1vcnkgcHJlc3N1cmUgaXMgaWYgdGhlIHByb2Nlc3MgaXMgYWJvdXQgdG8gYmUgc3Vz
cGVuZGVkLgorICAgICAgICBQcnVuaW5nUmVhc29uIHBydW5pbmdSZWFzb24gPSBtZW1vcnlQcmVz
c3VyZUhhbmRsZXIoKS5pc1VuZGVyTWVtb3J5UHJlc3N1cmUoKSA/IFBydW5pbmdSZWFzb246Ok1l
bW9yeVByZXNzdXJlIDogUHJ1bmluZ1JlYXNvbjo6UHJvY2Vzc1N1c3BlbmRlZDsKKyAgICAgICAg
cGFnZUNhY2hlKCktPnBydW5lVG9DYXBhY2l0eU5vdygwLCBwcnVuaW5nUmVhc29uKTsKICAgICB9
CiAKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBh
YWFkYjhjZDdhMWI2YjYwNDhjYjQyNmVjMmZmZDM2ZDgxNWJiNTBjLi5lY2QzNWI5YzBmYzY1YmFh
ZGNhNjQ0NmE3YzhmN2QxOWM5MGMyMWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKQEAgLTExMjgsOSArMTEyOCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0VGV4
dENoZWNrZXJTdGF0ZShjb25zdCBUZXh0Q2hlY2tlclN0YXRlJiB0ZXh0Q2hlY2tlclN0YXRlKQog
CiB2b2lkIFdlYlByb2Nlc3M6OnJlbGVhc2VQYWdlQ2FjaGUoKQogewotICAgIGludCBzYXZlZFBh
Z2VDYWNoZUNhcGFjaXR5ID0gcGFnZUNhY2hlKCktPmNhcGFjaXR5KCk7Ci0gICAgcGFnZUNhY2hl
KCktPnNldENhcGFjaXR5KDApOwotICAgIHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eShzYXZlZFBh
Z2VDYWNoZUNhcGFjaXR5KTsKKyAgICBwYWdlQ2FjaGUoKS0+cHJ1bmVUb0NhcGFjaXR5Tm93KDAs
IFBydW5pbmdSZWFzb246Ok1lbW9yeVByZXNzdXJlKTsKIH0KIAogI2lmICFQTEFURk9STShDT0NP
QSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243708</attachid>
            <date>2014-12-23 15:57:15 -0800</date>
            <delta_ts>2014-12-23 16:33:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139921-20141223155716.patch</filename>
            <type>text/plain</type>
            <size>15463</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDBlOGRkYjM0OGQ3M2Ex
YTIwMTgzZmVjMGViMTY1ZWQ3OGQ4ZjE5MC4uNzZhMzY0ODI3ZDg3MTQ0NGU3ZDA4YWU2ODAzNTY0
OTM3NTc5NGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE0LTEyLTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9nIGJldHRlciB1
c2luZyBGZWF0dXJlQ291bnRlciB3aHkgUGFnZUNhY2hlIGlzIGZhaWxpbmcgZHVlIHRvIHBydW5l
ZCByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzOTkyMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTkyNTU2OTA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTG9nIGJldHRlciB1c2luZyBG
ZWF0dXJlQ291bnRlciB3aHkgUGFnZUNhY2hlIGlzIGZhaWxpbmcgZHVlIHRvIHBydW5lZAorICAg
ICAgICByZXNvdXJjZXMuIEluIHBhcnRpY3VsYXIsIHdlIG5vdyBkaXN0aW5ndWlzaCBpZiB0aGUg
cmVzb3VyY2Ugd2FzIHBydW5lZAorICAgICAgICBkdWUgdG86CisgICAgICAgIC0gTWVtb3J5IHBy
ZXNzdXJlCisgICAgICAgIC0gUGFnZSBjYWNoZSBjYXBhY2l0eSByZWFjaGVkCisgICAgICAgIC0g
V2ViUHJvY2VzcyBzdXNwZW5kZWQgKFdLMikKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgor
ICAgICAgICAqIGhpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlz
dG9yeUl0ZW06Okhpc3RvcnlJdGVtKToKKyAgICAgICAgKiBoaXN0b3J5L0hpc3RvcnlJdGVtLmg6
CisgICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZUNhY2hlOjpwcnVuZVRvQ2FwYWNpdHlOb3cpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hl
OjpzZXRDYXBhY2l0eSk6CisgICAgICAgIChXZWJDb3JlOjpwcnVuaW5nUmVhc29uVG9GZWF0dXJl
Q291bnRlcktleSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2FjaGU6OmFkZCk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlQ2FjaGU6OnRha2UpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hl
OjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjpwcnVuZSk6CisgICAgICAgICog
aGlzdG9yeS9QYWdlQ2FjaGUuaDoKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNvbW1pdFByb3Zpc2lvbmFsTG9hZCk6Cisg
ICAgICAgICogcGxhdGZvcm0vRmVhdHVyZUNvdW50ZXJLZXlzLmg6CisgICAgICAgICogcGxhdGZv
cm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeVBy
ZXNzdXJlSGFuZGxlcjo6cmVsZWFzZUNyaXRpY2FsTWVtb3J5KToKKwogMjAxNC0xMi0yMyAgU2Ft
IFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbmFtZSBXZWJDb250ZXh0IHRv
IFdlYlByb2Nlc3NQb29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWIzNTgwMjc4ZDA2YzIzYzJmNzE2MGQwMWJj
ZTA2YTc3MDFiNDc3OC4uZGVhNGQ4MjI4MDIzODkxMTE1Y2QwY2YyZDgzNjYxZjZhZTZmOWExYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTEyLTIzICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9nIGJldHRlciB1c2luZyBGZWF0dXJl
Q291bnRlciB3aHkgUGFnZUNhY2hlIGlzIGZhaWxpbmcgZHVlIHRvIHBydW5lZCByZXNvdXJjZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTkyMQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTkyNTU2OTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FsbCBQYWdlQ2FjaGU6OnBydW5lVG9DYXBhY2l0
eU5vdygpIGluc3RlYWQgb2YgbXVsdGlwbGUgY2FsbHMgdG8KKyAgICAgICAgc2V0Q2FwYWNpdHko
KSBhcyBpdCBkb2VzIGV4YWN0bHkgd2hhdCB3ZSB3YW50LiBBbHNvIHBhc3MgdGhlIG5ldworICAg
ICAgICBQcnVuZWRSZWFzb24gYXJndW1lbnQgc28gaGVscCB1cyBkbyBiZXR0ZXIgbG9nZ2luZy4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OnJlbGVhc2VQYWdlQ2FjaGUpOgorCiAyMDE0LTEyLTIzICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGhhbmRsZSB0cmFuc2Zv
cm0gZnVuY3Rpb25zIHRvIFdlYkNvbm5lY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNzk5
MDNmYjE2MDIyNjc3ZDQ0MTM3YmRiYTE3NWM3YmVkMTVjMmY4Zi4uYzUyOWU3MWQxMTdmNDcyODY2
YTg2MjU3NDQ0MDA0NmY4ZDEwMGVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE1NTksNiAr
MTU1OSw3IEBAIF9fWk43V2ViQ29yZTlKU0VsZW1lbnQ5dG9XcmFwcGVkRU4zSlNDN0pTVmFsdWVF
CiBfX1pON1dlYkNvcmU5TGF5ZXJQb29sQzFFdgogX19aTjdXZWJDb3JlOUxheWVyUG9vbEQxRXYK
IF9fWk43V2ViQ29yZTlQYWdlQ2FjaGUxMXNldENhcGFjaXR5RWkKK19fWk43V2ViQ29yZTlQYWdl
Q2FjaGUxOHBydW5lVG9DYXBhY2l0eU5vd0VpTlNfMTNQcnVuaW5nUmVhc29uRQogX19aTjdXZWJD
b3JlOVBhZ2VDYWNoZTMzbWFya1BhZ2VzRm9yVmlzdGVkTGlua1N0eWxlUmVjYWxjRXYKIF9fWk43
V2ViQ29yZTlQYWdlQ2FjaGU2cmVtb3ZlRVBOU18xMUhpc3RvcnlJdGVtRQogX19aTjdXZWJDb3Jl
OVBhZ2VHcm91cDE2c3luY0xvY2FsU3RvcmFnZUV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9y
eUl0ZW0uY3BwCmluZGV4IDgyZTAzYjM2ZDVkZGNlMDc1NTEwZjdiZDc4NGRhODI1YzRkOWMwOGYu
LjlmMjMwNWU0OWQ3ZmYzOTc2MDkxMWFkZGM1MzI1ZGMzZDdkZTQ5NTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwCkBAIC02Myw3ICs2Myw3IEBAIEhpc3RvcnlJdGVtOjpI
aXN0b3J5SXRlbSgpCiAgICAgLCBtX2RvY3VtZW50U2VxdWVuY2VOdW1iZXIoZ2VuZXJhdGVTZXF1
ZW5jZU51bWJlcigpKQogICAgICwgbV9uZXh0KDApCiAgICAgLCBtX3ByZXYoMCkKLSAgICAsIG1f
d2FzUHJ1bmVkKGZhbHNlKQorICAgICwgbV9wcnVuaW5nUmVhc29uKFBydW5pbmdSZWFzb246Ok5v
bmUpCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICwgbV9zY2FsZSgwKQogICAgICwgbV9zY2FsZUlz
SW5pdGlhbChmYWxzZSkKQEAgLTgzLDcgKzgzLDcgQEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVt
KGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgICwgbV9k
b2N1bWVudFNlcXVlbmNlTnVtYmVyKGdlbmVyYXRlU2VxdWVuY2VOdW1iZXIoKSkKICAgICAsIG1f
bmV4dCgwKQogICAgICwgbV9wcmV2KDApCi0gICAgLCBtX3dhc1BydW5lZChmYWxzZSkKKyAgICAs
IG1fcHJ1bmluZ1JlYXNvbihQcnVuaW5nUmVhc29uOjpOb25lKQogI2lmIFBMQVRGT1JNKElPUykK
ICAgICAsIG1fc2NhbGUoMCkKICAgICAsIG1fc2NhbGVJc0luaXRpYWwoZmFsc2UpCkBAIC0xMDUs
NyArMTA1LDcgQEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3Ry
aW5nLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHIKICAgICAsIG1fZG9jdW1lbnRTZXF1
ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkpCiAgICAgLCBtX25leHQoMCkKICAg
ICAsIG1fcHJldigwKQotICAgICwgbV93YXNQcnVuZWQoZmFsc2UpCisgICAgLCBtX3BydW5pbmdS
ZWFzb24oUHJ1bmluZ1JlYXNvbjo6Tm9uZSkKICNpZiBQTEFURk9STShJT1MpCiAgICAgLCBtX3Nj
YWxlKDApCiAgICAgLCBtX3NjYWxlSXNJbml0aWFsKGZhbHNlKQpAQCAtMTI4LDcgKzEyOCw3IEBA
IEhpc3RvcnlJdGVtOjpIaXN0b3J5SXRlbShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0
YXJnZXQsIGNvbnN0IFN0cmluZyYgcGFyCiAgICAgLCBtX2RvY3VtZW50U2VxdWVuY2VOdW1iZXIo
Z2VuZXJhdGVTZXF1ZW5jZU51bWJlcigpKQogICAgICwgbV9uZXh0KDApCiAgICAgLCBtX3ByZXYo
MCkKLSAgICAsIG1fd2FzUHJ1bmVkKGZhbHNlKQorICAgICwgbV9wcnVuaW5nUmVhc29uKFBydW5p
bmdSZWFzb246Ok5vbmUpCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICwgbV9zY2FsZSgwKQogICAg
ICwgbV9zY2FsZUlzSW5pdGlhbChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hp
c3RvcnkvSGlzdG9yeUl0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0u
aAppbmRleCAwOWY5YjEwYmU3ZGIwNDZkZmY5MzlhMmFmOTg4MDFlMGZkOGNhMzM0Li5hOWNhZmQz
YmIyNzA0NzRjZjZjNzg5NjJkYjNkZDg1OWI3YjJjMGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9I
aXN0b3J5SXRlbS5oCkBAIC01OCw2ICs1OCw4IEBAIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxIaXN0
b3J5SXRlbT4+IEhpc3RvcnlJdGVtVmVjdG9yOwogCiBleHRlcm4gdm9pZCAoKm5vdGlmeUhpc3Rv
cnlJdGVtQ2hhbmdlZCkoSGlzdG9yeUl0ZW0qKTsKIAorZW51bSBjbGFzcyBQcnVuaW5nUmVhc29u
IHsgTm9uZSwgUHJvY2Vzc1N1c3BlbmRlZCwgTWVtb3J5UHJlc3N1cmUsIFJlYWNoZWRDYXBhY2l0
eSB9OworCiBjbGFzcyBIaXN0b3J5SXRlbSA6IHB1YmxpYyBSZWZDb3VudGVkPEhpc3RvcnlJdGVt
PiB7CiAgICAgZnJpZW5kIGNsYXNzIFBhZ2VDYWNoZTsKIApAQCAtMjU4LDcgKzI2MCw3IEBAIHBy
aXZhdGU6CiAgICAgSGlzdG9yeUl0ZW0qIG1fbmV4dDsKICAgICBIaXN0b3J5SXRlbSogbV9wcmV2
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxDYWNoZWRQYWdlPiBtX2NhY2hlZFBhZ2U7Ci0gICAgYm9v
bCBtX3dhc1BydW5lZDsKKyAgICBQcnVuaW5nUmVhc29uIG1fcHJ1bmluZ1JlYXNvbjsKIAogI2lm
IFBMQVRGT1JNKElPUykKICAgICBGbG9hdFJlY3QgbV9leHBvc2VkQ29udGVudFJlY3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKaW5kZXggNDA2OTU3MWIxNGE1OTg3YTFmNDljNjQ2
MWQyYmVkNmEwNTIyOTNjOS4uNTczY2FmNTY3OTMxZGQ0M2YwMGNhODg1MGQ3MmRlMTU2MDk4MWRj
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcApAQCAtNDIsNyArNDIsNiBAQAog
I2luY2x1ZGUgIkZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3
LmgiCiAjaW5jbHVkZSAiSGlzdG9yeUNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJIaXN0b3J5SXRl
bS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKICNpbmNs
dWRlICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKQEAgLTUxLDYgKzUwLDcgQEAKICNpbmNsdWRl
ICJTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgiCiAjaW5jbHVkZSAiU3ViZnJhbWVMb2FkZXIuaCIK
ICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvVGVtcG9yYXJ5Q2hh
bmdlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0NvbmNhdGVuYXRlLmg+CiAKQEAgLTM3MCwxMSArMzcwLDEwIEBAIGJvb2wgUGFnZUNh
Y2hlOjpjYW5DYWNoZShQYWdlKiBwYWdlKSBjb25zdAogICAgICAgICAgICAgfHwgbG9hZFR5cGUg
PT0gRnJhbWVMb2FkVHlwZTo6SW5kZXhlZEJhY2tGb3J3YXJkKTsKIH0KIAotdm9pZCBQYWdlQ2Fj
aGU6OnBydW5lVG9DYXBhY2l0eU5vdyhpbnQgY2FwYWNpdHkpCit2b2lkIFBhZ2VDYWNoZTo6cHJ1
bmVUb0NhcGFjaXR5Tm93KGludCBjYXBhY2l0eSwgUHJ1bmluZ1JlYXNvbiBwcnVuaW5nUmVhc29u
KQogewotICAgIGludCBzYXZlZENhcGFjaXR5ID0gbV9jYXBhY2l0eTsKLSAgICBzZXRDYXBhY2l0
eShjYXBhY2l0eSk7Ci0gICAgc2V0Q2FwYWNpdHkoc2F2ZWRDYXBhY2l0eSk7CisgICAgVGVtcG9y
YXJ5Q2hhbmdlPGludD4obV9jYXBhY2l0eSwgc3RkOjptYXgoY2FwYWNpdHksIDApKTsKKyAgICBw
cnVuZShwcnVuaW5nUmVhc29uKTsKIH0KIAogdm9pZCBQYWdlQ2FjaGU6OnNldENhcGFjaXR5KGlu
dCBjYXBhY2l0eSkKQEAgLTM4Miw3ICszODEsNyBAQCB2b2lkIFBhZ2VDYWNoZTo6c2V0Q2FwYWNp
dHkoaW50IGNhcGFjaXR5KQogICAgIEFTU0VSVChjYXBhY2l0eSA+PSAwKTsKICAgICBtX2NhcGFj
aXR5ID0gc3RkOjptYXgoY2FwYWNpdHksIDApOwogCi0gICAgcHJ1bmUoKTsKKyAgICBwcnVuZShQ
cnVuaW5nUmVhc29uOjpOb25lKTsKIH0KIAogaW50IFBhZ2VDYWNoZTo6ZnJhbWVDb3VudCgpIGNv
bnN0CkBAIC00MzMsNiArNDMyLDIxIEBAIHZvaWQgUGFnZUNhY2hlOjptYXJrUGFnZXNGb3JDYXB0
aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKIH0KICNlbmRpZgogCitzdGF0aWMgY29uc3QgY2hhciog
cHJ1bmluZ1JlYXNvblRvRmVhdHVyZUNvdW50ZXJLZXkoUHJ1bmluZ1JlYXNvbiBwcnVuaW5nUmVh
c29uKQoreworICAgIHN3aXRjaCAocHJ1bmluZ1JlYXNvbikgeworICAgIGNhc2UgUHJ1bmluZ1Jl
YXNvbjo6TWVtb3J5UHJlc3N1cmU6CisgICAgICAgIHJldHVybiBGZWF0dXJlQ291bnRlclBhZ2VD
YWNoZUZhaWx1cmVQcnVuZWRNZW1vcnlQcmVzc3VyZUtleTsKKyAgICBjYXNlIFBydW5pbmdSZWFz
b246OlByb2Nlc3NTdXNwZW5kZWQ6CisgICAgICAgIHJldHVybiBGZWF0dXJlQ291bnRlclBhZ2VD
YWNoZUZhaWx1cmVQcnVuZWRQcm9jZXNzZWRTdXNwZW5kZWRLZXk7CisgICAgY2FzZSBQcnVuaW5n
UmVhc29uOjpSZWFjaGVkQ2FwYWNpdHk6CisgICAgICAgIHJldHVybiBGZWF0dXJlQ291bnRlclBh
Z2VDYWNoZUZhaWx1cmVQcnVuZWRDYXBhY2l0eVJlYWNoZWRLZXk7CisgICAgY2FzZSBQcnVuaW5n
UmVhc29uOjpOb25lOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgfQorfQorCiB2b2lkIFBhZ2VDYWNoZTo6YWRkKFBhc3NSZWZQdHI8
SGlzdG9yeUl0ZW0+IHBycEl0ZW0sIFBhZ2UmIHBhZ2UpCiB7CiAgICAgQVNTRVJUKHBycEl0ZW0p
OwpAQCAtNDQ1LDExICs0NTksMTEgQEAgdm9pZCBQYWdlQ2FjaGU6OmFkZChQYXNzUmVmUHRyPEhp
c3RvcnlJdGVtPiBwcnBJdGVtLCBQYWdlJiBwYWdlKQogICAgICAgICByZW1vdmUoaXRlbSk7CiAK
ICAgICBpdGVtLT5tX2NhY2hlZFBhZ2UgPSBzdGQ6Om1ha2VfdW5pcXVlPENhY2hlZFBhZ2U+KHBh
Z2UpOwotICAgIGl0ZW0tPm1fd2FzUHJ1bmVkID0gZmFsc2U7CisgICAgaXRlbS0+bV9wcnVuaW5n
UmVhc29uID0gUHJ1bmluZ1JlYXNvbjo6Tm9uZTsKICAgICBhZGRUb0xSVUxpc3QoaXRlbSk7CiAg
ICAgKyttX3NpemU7CiAgICAgCi0gICAgcHJ1bmUoKTsKKyAgICBwcnVuZShQcnVuaW5nUmVhc29u
OjpSZWFjaGVkQ2FwYWNpdHkpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8Q2FjaGVkUGFnZT4gUGFn
ZUNhY2hlOjp0YWtlKEhpc3RvcnlJdGVtKiBpdGVtLCBQYWdlKiBwYWdlKQpAQCAtNDY1LDggKzQ3
OSw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxDYWNoZWRQYWdlPiBQYWdlQ2FjaGU6OnRha2UoSGlzdG9y
eUl0ZW0qIGl0ZW0sIFBhZ2UqIHBhZ2UpCiAgICAgaXRlbS0+ZGVyZWYoKTsgLy8gQmFsYW5jZWQg
aW4gYWRkKCkuCiAKICAgICBpZiAoIWNhY2hlZFBhZ2UpIHsKLSAgICAgICAgaWYgKGl0ZW0tPm1f
d2FzUHJ1bmVkKQotICAgICAgICAgICAgRkVBVFVSRV9DT1VOVEVSX0lOQ1JFTUVOVF9LRVkocGFn
ZSwgRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJlV2FzUHJ1bmVkS2V5KTsKKyAgICAgICAg
aWYgKGl0ZW0tPm1fcHJ1bmluZ1JlYXNvbiAhPSBQcnVuaW5nUmVhc29uOjpOb25lKQorICAgICAg
ICAgICAgRkVBVFVSRV9DT1VOVEVSX0lOQ1JFTUVOVF9LRVkocGFnZSwgcHJ1bmluZ1JlYXNvblRv
RmVhdHVyZUNvdW50ZXJLZXkoaXRlbS0+bV9wcnVuaW5nUmVhc29uKSk7CiAgICAgICAgIHJldHVy
biBudWxscHRyOwogICAgIH0KIApAQCAtNDkxLDggKzUwNSw4IEBAIENhY2hlZFBhZ2UqIFBhZ2VD
YWNoZTo6Z2V0KEhpc3RvcnlJdGVtKiBpdGVtLCBQYWdlKiBwYWdlKQogICAgICAgICBMT0coUGFn
ZUNhY2hlLCAiTm90IHJlc3RvcmluZyBwYWdlIGZvciAlcyBmcm9tIGJhY2svZm9yd2FyZCBjYWNo
ZSBiZWNhdXNlIGNhY2hlIGVudHJ5IGhhcyBleHBpcmVkIiwgaXRlbS0+dXJsKCkuc3RyaW5nKCku
YXNjaWkoKS5kYXRhKCkpOwogICAgICAgICBGRUFUVVJFX0NPVU5URVJfSU5DUkVNRU5UX0tFWShw
YWdlLCBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZUZhaWx1cmVFeHBpcmVkS2V5KTsKICAgICAgICAg
cGFnZUNhY2hlKCktPnJlbW92ZShpdGVtKTsKLSAgICB9IGVsc2UgaWYgKGl0ZW0tPm1fd2FzUHJ1
bmVkKQotICAgICAgICBGRUFUVVJFX0NPVU5URVJfSU5DUkVNRU5UX0tFWShwYWdlLCBGZWF0dXJl
Q291bnRlclBhZ2VDYWNoZUZhaWx1cmVXYXNQcnVuZWRLZXkpOworICAgIH0gZWxzZSBpZiAoaXRl
bS0+bV9wcnVuaW5nUmVhc29uICE9IFBydW5pbmdSZWFzb246Ok5vbmUpCisgICAgICAgIEZFQVRV
UkVfQ09VTlRFUl9JTkNSRU1FTlRfS0VZKHBhZ2UsIHBydW5pbmdSZWFzb25Ub0ZlYXR1cmVDb3Vu
dGVyS2V5KGl0ZW0tPm1fcHJ1bmluZ1JlYXNvbikpOwogCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9
CkBAIC01MTAsMTEgKzUyNCwxMSBAQCB2b2lkIFBhZ2VDYWNoZTo6cmVtb3ZlKEhpc3RvcnlJdGVt
KiBpdGVtKQogICAgIGl0ZW0tPmRlcmVmKCk7IC8vIEJhbGFuY2VkIGluIGFkZCgpLgogfQogCi12
b2lkIFBhZ2VDYWNoZTo6cHJ1bmUoKQordm9pZCBQYWdlQ2FjaGU6OnBydW5lKFBydW5pbmdSZWFz
b24gcHJ1bmluZ1JlYXNvbikKIHsKICAgICB3aGlsZSAobV9zaXplID4gbV9jYXBhY2l0eSkgewog
ICAgICAgICBBU1NFUlQobV90YWlsICYmIG1fdGFpbC0+bV9jYWNoZWRQYWdlKTsKLSAgICAgICAg
bV90YWlsLT5tX3dhc1BydW5lZCA9IHRydWU7CisgICAgICAgIG1fdGFpbC0+bV9wcnVuaW5nUmVh
c29uID0gcHJ1bmluZ1JlYXNvbjsKICAgICAgICAgcmVtb3ZlKG1fdGFpbCk7CiAgICAgfQogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKaW5kZXggYzk2ZjQ3YWRjMmNkMjNhMTg3MmU1ZGNi
NjUzYWQ0OGViN2I2OTRhZi4uZTNmMzZiYTk0MTVkOGYzNjNhZWRhNDgwYjJjNGY4YjViYTFhODNk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZu
ZGVmIFBhZ2VDYWNoZV9oCiAjZGVmaW5lIFBhZ2VDYWNoZV9oCiAKKyNpbmNsdWRlICJIaXN0b3J5
SXRlbS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgpAQCAtMzUsNyArMzYsNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBjbGFzcyBDYWNoZWRQYWdlOwogICAgIGNsYXNzIEZyYW1lOwotICAgIGNsYXNz
IEhpc3RvcnlJdGVtOwogICAgIGNsYXNzIFBhZ2U7CiAgICAgCiAgICAgY2xhc3MgUGFnZUNhY2hl
IHsKQEAgLTYyLDcgKzYyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIG1h
cmtQYWdlc0ZvckZ1bGxTdHlsZVJlY2FsYyhQYWdlKik7CiAKICAgICAgICAgLy8gVXNlZCB3aGVu
IG1lbW9yeSBpcyBsb3cgdG8gcHJ1bmUgc29tZSBjYWNoZWQgcGFnZXMuCi0gICAgICAgIHZvaWQg
cHJ1bmVUb0NhcGFjaXR5Tm93KGludCBjYXBhY2l0eSk7CisgICAgICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgcHJ1bmVUb0NhcGFjaXR5Tm93KGludCBjYXBhY2l0eSwgUHJ1bmluZ1JlYXNvbik7CiAK
ICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgICAgIHZvaWQgbWFya1BhZ2VzRm9yQ2FwdGlv
blByZWZlcmVuY2VzQ2hhbmdlZCgpOwpAQCAtODEsNyArODEsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHZvaWQgYWRkVG9MUlVMaXN0KEhpc3RvcnlJdGVtKik7IC8vIEFkZHMgdG8g
dGhlIGhlYWQgb2YgdGhlIGxpc3QuCiAgICAgICAgIHZvaWQgcmVtb3ZlRnJvbUxSVUxpc3QoSGlz
dG9yeUl0ZW0qKTsKIAotICAgICAgICB2b2lkIHBydW5lKCk7CisgICAgICAgIHZvaWQgcHJ1bmUo
UHJ1bmluZ1JlYXNvbik7CiAKICAgICAgICAgaW50IG1fY2FwYWNpdHk7CiAgICAgICAgIGludCBt
X3NpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAzMGFjMjBmZjU0
YWU3YzI5NjkxMDA1ZjlhOTdmMGFjZjFkOTJjODQ3Li5iNzU0NWVmMmM0Y2EwOWEyMjlhYjdmYjNi
NzIzNGM4M2YwMGZiNDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAg
LTE3NjYsMTEgKzE3NjYsMTEgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29tbWl0UHJvdmlzaW9uYWxM
b2FkKCkKICAgICAgICAgICAgIExPRyhNZW1vcnlQcmVzc3VyZSwgIlBydW5pbmcgcGFnZSBjYWNo
ZSBiZWNhdXNlIHVuZGVyIG1lbW9yeSBwcmVzc3VyZSBhdDogJXMiLCBfX1BSRVRUWV9GVU5DVElP
Tl9fKTsKICAgICAgICAgICAgIExPRyhQYWdlQ2FjaGUsICJQcnVuaW5nIHBhZ2UgY2FjaGUgdG8g
MCBkdWUgdG8gbWVtb3J5IHByZXNzdXJlIik7CiAgICAgICAgICAgICAvLyBEb24ndCBjYWNoZSBh
bnkgcGFnZSBpZiB3ZSBhcmUgdW5kZXIgbWVtb3J5IHByZXNzdXJlLgotICAgICAgICAgICAgcGFn
ZUNhY2hlKCktPnBydW5lVG9DYXBhY2l0eU5vdygwKTsKKyAgICAgICAgICAgIHBhZ2VDYWNoZSgp
LT5wcnVuZVRvQ2FwYWNpdHlOb3coMCwgUHJ1bmluZ1JlYXNvbjo6TWVtb3J5UHJlc3N1cmUpOwog
ICAgICAgICB9IGVsc2UgaWYgKHN5c3RlbU1lbW9yeUxldmVsKCkgPD0gbWVtb3J5TGV2ZWxUaHJl
c2hvbGRUb1BydW5lUGFnZUNhY2hlKSB7CiAgICAgICAgICAgICBMT0coTWVtb3J5UHJlc3N1cmUs
ICJQcnVuaW5nIHBhZ2UgY2FjaGUgYmVjYXVzZSBzeXN0ZW0gbWVtb3J5IGxldmVsIGlzICVkIGF0
OiAlcyIsIHN5c3RlbU1lbW9yeUxldmVsKCksIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwogICAgICAg
ICAgICAgTE9HKFBhZ2VDYWNoZSwgIlBydW5pbmcgcGFnZSBjYWNoZSB0byAlZCBkdWUgdG8gbG93
IG1lbW9yeSAobGV2ZWwgJWQgbGVzcyBvciBlcXVhbCB0byAlZCB0aHJlc2hvbGQpIiwgcGFnZUNh
Y2hlKCktPmNhcGFjaXR5KCkgLyAyLCBzeXN0ZW1NZW1vcnlMZXZlbCgpLCBtZW1vcnlMZXZlbFRo
cmVzaG9sZFRvUHJ1bmVQYWdlQ2FjaGUpOwotICAgICAgICAgICAgcGFnZUNhY2hlKCktPnBydW5l
VG9DYXBhY2l0eU5vdyhwYWdlQ2FjaGUoKS0+Y2FwYWNpdHkoKSAvIDIpOworICAgICAgICAgICAg
cGFnZUNhY2hlKCktPnBydW5lVG9DYXBhY2l0eU5vdyhwYWdlQ2FjaGUoKS0+Y2FwYWNpdHkoKSAv
IDIsIFBydW5pbmdSZWFzb246Ok1lbW9yeVByZXNzdXJlKTsKICAgICAgICAgfQogICAgIH0KICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmVhdHVyZUNvdW50ZXJL
ZXlzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GZWF0dXJlQ291bnRlcktleXMuaAppbmRl
eCAzZWRmNTMyOWE4ZWI1ZGE3MDcwZGVhOWY1ZWI4YWJjNjk0YTQ2YjE0Li4xZDg3MjY0NmFjMjA0
NjQxOTU5OGY0YTNkNzlkNTRiNzkzYTgzYmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GZWF0dXJlQ291bnRlcktleXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9GZWF0dXJlQ291bnRlcktleXMuaApAQCAtNTksNyArNTksOSBAQCBzdGF0aWMgY29uc3QgY2hh
ciBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZUZhaWx1cmVSZWxvYWRLZXlbXSA9ICJjb20uYXBwbGUu
V2ViS2l0Lgogc3RhdGljIGNvbnN0IGNoYXIgRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJl
UmVsb2FkRnJvbU9yaWdpbktleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hlLmZhaWx1
cmUucmVsb2FkRnJvbU9yaWdpbiI7CiBzdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBh
Z2VDYWNoZUZhaWx1cmVTYW1lTG9hZEtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hl
LmZhaWx1cmUuc2FtZUxvYWQiOwogc3RhdGljIGNvbnN0IGNoYXIgRmVhdHVyZUNvdW50ZXJQYWdl
Q2FjaGVGYWlsdXJlRXhwaXJlZEtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hlLmZh
aWx1cmUuZXhwaXJlZCI7Ci1zdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNo
ZUZhaWx1cmVXYXNQcnVuZWRLZXlbXSA9ICJjb20uYXBwbGUuV2ViS2l0LnBhZ2VDYWNoZS5mYWls
dXJlLndhc1BydW5lZCI7CitzdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNo
ZUZhaWx1cmVQcnVuZWRNZW1vcnlQcmVzc3VyZUtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFn
ZUNhY2hlLmZhaWx1cmUucHJ1bmVkLm1lbW9yeVByZXNzdXJlIjsKK3N0YXRpYyBjb25zdCBjaGFy
IEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZVBydW5lZENhcGFjaXR5UmVhY2hlZEtleVtd
ID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hlLmZhaWx1cmUucHJ1bmVkLmNhcGFjaXR5UmVh
Y2hlZCI7CitzdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZUZhaWx1cmVQ
cnVuZWRQcm9jZXNzZWRTdXNwZW5kZWRLZXlbXSA9ICJjb20uYXBwbGUuV2ViS2l0LnBhZ2VDYWNo
ZS5mYWlsdXJlLnBydW5lZC5wcm9jZXNzU3VzcGVuZGVkIjsKIHN0YXRpYyBjb25zdCBjaGFyIEZl
YXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZUtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFn
ZUNhY2hlLmZhaWx1cmUiOwogc3RhdGljIGNvbnN0IGNoYXIgRmVhdHVyZUNvdW50ZXJQYWdlQ2Fj
aGVTdWNjZXNzS2V5W10gPSAiY29tLmFwcGxlLldlYktpdC5wYWdlQ2FjaGUuc3VjY2VzcyI7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3Bw
CmluZGV4IDE4MTJkZWMxYzlhNGVmMWIyYjBmOTEwOTkxNzNkNDZkNDRhMmM0NDMuLjY4OTI4M2Vl
MDI3NDcyMWY0ZWE3MjNiYjU2OTM3ZWRhOGJjNWZjNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApAQCAtMTAxLDkgKzEwMSw5IEBA
IHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZWxlYXNlQ3JpdGljYWxNZW1vcnkoKQogewog
ICAgIHsKICAgICAgICAgUmVsaWVmTG9nZ2VyIGxvZygiRW1wdHkgdGhlIFBhZ2VDYWNoZSIpOwot
ICAgICAgICBpbnQgc2F2ZWRQYWdlQ2FjaGVDYXBhY2l0eSA9IHBhZ2VDYWNoZSgpLT5jYXBhY2l0
eSgpOwotICAgICAgICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkoMCk7Ci0gICAgICAgIHBhZ2VD
YWNoZSgpLT5zZXRDYXBhY2l0eShzYXZlZFBhZ2VDYWNoZUNhcGFjaXR5KTsKKyAgICAgICAgLy8g
UmlnaHQgbm93LCB0aGUgb25seSByZWFzb24gd2UgY2FsbCByZWxlYXNlIGNyaXRpY2FsIG1lbW9y
eSB3aGlsZSBub3QgdW5kZXIgbWVtb3J5IHByZXNzdXJlIGlzIGlmIHRoZSBwcm9jZXNzIGlzIGFi
b3V0IHRvIGJlIHN1c3BlbmRlZC4KKyAgICAgICAgUHJ1bmluZ1JlYXNvbiBwcnVuaW5nUmVhc29u
ID0gbWVtb3J5UHJlc3N1cmVIYW5kbGVyKCkuaXNVbmRlck1lbW9yeVByZXNzdXJlKCkgPyBQcnVu
aW5nUmVhc29uOjpNZW1vcnlQcmVzc3VyZSA6IFBydW5pbmdSZWFzb246OlByb2Nlc3NTdXNwZW5k
ZWQ7CisgICAgICAgIHBhZ2VDYWNoZSgpLT5wcnVuZVRvQ2FwYWNpdHlOb3coMCwgcHJ1bmluZ1Jl
YXNvbik7CiAgICAgfQogCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKaW5kZXggYWFhZGI4Y2Q3YTFiNmI2MDQ4Y2I0MjZlYzJmZmQzNmQ4MTViYjUwYy4uZWNk
MzViOWMwZmM2NWJhYWRjYTY0NDZhN2M4ZjdkMTljOTBjMjFiNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xMTI4LDkgKzExMjgsNyBAQCB2b2lkIFdlYlBy
b2Nlc3M6OnNldFRleHRDaGVja2VyU3RhdGUoY29uc3QgVGV4dENoZWNrZXJTdGF0ZSYgdGV4dENo
ZWNrZXJTdGF0ZSkKIAogdm9pZCBXZWJQcm9jZXNzOjpyZWxlYXNlUGFnZUNhY2hlKCkKIHsKLSAg
ICBpbnQgc2F2ZWRQYWdlQ2FjaGVDYXBhY2l0eSA9IHBhZ2VDYWNoZSgpLT5jYXBhY2l0eSgpOwot
ICAgIHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eSgwKTsKLSAgICBwYWdlQ2FjaGUoKS0+c2V0Q2Fw
YWNpdHkoc2F2ZWRQYWdlQ2FjaGVDYXBhY2l0eSk7CisgICAgcGFnZUNhY2hlKCktPnBydW5lVG9D
YXBhY2l0eU5vdygwLCBQcnVuaW5nUmVhc29uOjpNZW1vcnlQcmVzc3VyZSk7CiB9CiAKICNpZiAh
UExBVEZPUk0oQ09DT0EpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243710</attachid>
            <date>2014-12-23 16:33:14 -0800</date>
            <delta_ts>2014-12-25 12:00:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139921-20141223163315.patch</filename>
            <type>text/plain</type>
            <size>15091</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDBlOGRkYjM0OGQ3M2Ex
YTIwMTgzZmVjMGViMTY1ZWQ3OGQ4ZjE5MC4uNTdlYjRiZTY2ZjRiOWNmMWQ2YzBmOGYyZjVmZjgx
M2RiMWIwZDcwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE0LTEyLTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9nIGJldHRlciB1
c2luZyBGZWF0dXJlQ291bnRlciB3aHkgUGFnZUNhY2hlIGlzIGZhaWxpbmcgZHVlIHRvIHBydW5l
ZCByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzOTkyMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTkyNTU2OTA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCisKKyAgICAgICAgTG9nIGJldHRlciB1c2lu
ZyBGZWF0dXJlQ291bnRlciB3aHkgUGFnZUNhY2hlIGlzIGZhaWxpbmcgZHVlIHRvIHBydW5lZAor
ICAgICAgICByZXNvdXJjZXMuIEluIHBhcnRpY3VsYXIsIHdlIG5vdyBkaXN0aW5ndWlzaCBpZiB0
aGUgcmVzb3VyY2Ugd2FzIHBydW5lZAorICAgICAgICBkdWUgdG86CisgICAgICAgIC0gTWVtb3J5
IHByZXNzdXJlCisgICAgICAgIC0gUGFnZSBjYWNoZSBjYXBhY2l0eSByZWFjaGVkCisgICAgICAg
IC0gV2ViUHJvY2VzcyBzdXNwZW5kZWQgKFdLMikKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmlu
OgorICAgICAgICAqIGhpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKToKKyAgICAgICAgKiBoaXN0b3J5L0hpc3RvcnlJdGVt
Lmg6CisgICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZUNhY2hlOjpwcnVuZVRvQ2FwYWNpdHlOb3cpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNh
Y2hlOjpzZXRDYXBhY2l0eSk6CisgICAgICAgIChXZWJDb3JlOjpwcnVuaW5nUmVhc29uVG9GZWF0
dXJlQ291bnRlcktleSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2FjaGU6OmFkZCk6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlQ2FjaGU6OnRha2UpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNh
Y2hlOjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjpwcnVuZSk6CisgICAgICAg
ICogaGlzdG9yeS9QYWdlQ2FjaGUuaDoKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNvbW1pdFByb3Zpc2lvbmFsTG9hZCk6
CisgICAgICAgICogcGxhdGZvcm0vRmVhdHVyZUNvdW50ZXJLZXlzLmg6CisgICAgICAgICogcGxh
dGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9y
eVByZXNzdXJlSGFuZGxlcjo6cmVsZWFzZUNyaXRpY2FsTWVtb3J5KToKKwogMjAxNC0xMi0yMyAg
U2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbmFtZSBXZWJDb250ZXh0
IHRvIFdlYlByb2Nlc3NQb29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWIzNTgwMjc4ZDA2YzIzYzJmNzE2MGQw
MWJjZTA2YTc3MDFiNDc3OC4uMmFjNDUyZWY5NDg2ODQ4ODNlMzcxOThkMWVmM2I3YWE5M2UzN2I5
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTEyLTIzICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9nIGJldHRlciB1c2luZyBGZWF0
dXJlQ291bnRlciB3aHkgUGFnZUNhY2hlIGlzIGZhaWxpbmcgZHVlIHRvIHBydW5lZCByZXNvdXJj
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTky
MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTkyNTU2OTA+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgR2F2aW4gQmFycmFjbG91Z2guCisKKyAgICAgICAgQ2FsbCBQYWdlQ2FjaGU6OnBydW5lVG9D
YXBhY2l0eU5vdygpIGluc3RlYWQgb2YgbXVsdGlwbGUgY2FsbHMgdG8KKyAgICAgICAgc2V0Q2Fw
YWNpdHkoKSBhcyBpdCBkb2VzIGV4YWN0bHkgd2hhdCB3ZSB3YW50LiBBbHNvIHBhc3MgdGhlIG5l
dworICAgICAgICBQcnVuZWRSZWFzb24gYXJndW1lbnQgc28gaGVscCB1cyBkbyBiZXR0ZXIgbG9n
Z2luZy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3M6OnJlbGVhc2VQYWdlQ2FjaGUpOgorCiAyMDE0LTEyLTIzICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGhhbmRsZSB0
cmFuc2Zvcm0gZnVuY3Rpb25zIHRvIFdlYkNvbm5lY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5k
ZXggNzk5MDNmYjE2MDIyNjc3ZDQ0MTM3YmRiYTE3NWM3YmVkMTVjMmY4Zi4uYzUyOWU3MWQxMTdm
NDcyODY2YTg2MjU3NDQ0MDA0NmY4ZDEwMGVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE1
NTksNiArMTU1OSw3IEBAIF9fWk43V2ViQ29yZTlKU0VsZW1lbnQ5dG9XcmFwcGVkRU4zSlNDN0pT
VmFsdWVFCiBfX1pON1dlYkNvcmU5TGF5ZXJQb29sQzFFdgogX19aTjdXZWJDb3JlOUxheWVyUG9v
bEQxRXYKIF9fWk43V2ViQ29yZTlQYWdlQ2FjaGUxMXNldENhcGFjaXR5RWkKK19fWk43V2ViQ29y
ZTlQYWdlQ2FjaGUxOHBydW5lVG9DYXBhY2l0eU5vd0VpTlNfMTNQcnVuaW5nUmVhc29uRQogX19a
TjdXZWJDb3JlOVBhZ2VDYWNoZTMzbWFya1BhZ2VzRm9yVmlzdGVkTGlua1N0eWxlUmVjYWxjRXYK
IF9fWk43V2ViQ29yZTlQYWdlQ2FjaGU2cmVtb3ZlRVBOU18xMUhpc3RvcnlJdGVtRQogX19aTjdX
ZWJDb3JlOVBhZ2VHcm91cDE2c3luY0xvY2FsU3RvcmFnZUV2CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
SGlzdG9yeUl0ZW0uY3BwCmluZGV4IDgyZTAzYjM2ZDVkZGNlMDc1NTEwZjdiZDc4NGRhODI1YzRk
OWMwOGYuLjlmMjMwNWU0OWQ3ZmYzOTc2MDkxMWFkZGM1MzI1ZGMzZDdkZTQ5NTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwCkBAIC02Myw3ICs2Myw3IEBAIEhpc3RvcnlJ
dGVtOjpIaXN0b3J5SXRlbSgpCiAgICAgLCBtX2RvY3VtZW50U2VxdWVuY2VOdW1iZXIoZ2VuZXJh
dGVTZXF1ZW5jZU51bWJlcigpKQogICAgICwgbV9uZXh0KDApCiAgICAgLCBtX3ByZXYoMCkKLSAg
ICAsIG1fd2FzUHJ1bmVkKGZhbHNlKQorICAgICwgbV9wcnVuaW5nUmVhc29uKFBydW5pbmdSZWFz
b246Ok5vbmUpCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICwgbV9zY2FsZSgwKQogICAgICwgbV9z
Y2FsZUlzSW5pdGlhbChmYWxzZSkKQEAgLTgzLDcgKzgzLDcgQEAgSGlzdG9yeUl0ZW06Okhpc3Rv
cnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAg
ICwgbV9kb2N1bWVudFNlcXVlbmNlTnVtYmVyKGdlbmVyYXRlU2VxdWVuY2VOdW1iZXIoKSkKICAg
ICAsIG1fbmV4dCgwKQogICAgICwgbV9wcmV2KDApCi0gICAgLCBtX3dhc1BydW5lZChmYWxzZSkK
KyAgICAsIG1fcHJ1bmluZ1JlYXNvbihQcnVuaW5nUmVhc29uOjpOb25lKQogI2lmIFBMQVRGT1JN
KElPUykKICAgICAsIG1fc2NhbGUoMCkKICAgICAsIG1fc2NhbGVJc0luaXRpYWwoZmFsc2UpCkBA
IC0xMDUsNyArMTA1LDcgQEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IFN0cmluZyYg
dXJsU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHIKICAgICAsIG1fZG9jdW1l
bnRTZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkpCiAgICAgLCBtX25leHQo
MCkKICAgICAsIG1fcHJldigwKQotICAgICwgbV93YXNQcnVuZWQoZmFsc2UpCisgICAgLCBtX3By
dW5pbmdSZWFzb24oUHJ1bmluZ1JlYXNvbjo6Tm9uZSkKICNpZiBQTEFURk9STShJT1MpCiAgICAg
LCBtX3NjYWxlKDApCiAgICAgLCBtX3NjYWxlSXNJbml0aWFsKGZhbHNlKQpAQCAtMTI4LDcgKzEy
OCw3IEBAIEhpc3RvcnlJdGVtOjpIaXN0b3J5SXRlbShjb25zdCBVUkwmIHVybCwgY29uc3QgU3Ry
aW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgcGFyCiAgICAgLCBtX2RvY3VtZW50U2VxdWVuY2VO
dW1iZXIoZ2VuZXJhdGVTZXF1ZW5jZU51bWJlcigpKQogICAgICwgbV9uZXh0KDApCiAgICAgLCBt
X3ByZXYoMCkKLSAgICAsIG1fd2FzUHJ1bmVkKGZhbHNlKQorICAgICwgbV9wcnVuaW5nUmVhc29u
KFBydW5pbmdSZWFzb246Ok5vbmUpCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICwgbV9zY2FsZSgw
KQogICAgICwgbV9zY2FsZUlzSW5pdGlhbChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9y
eUl0ZW0uaAppbmRleCAwOWY5YjEwYmU3ZGIwNDZkZmY5MzlhMmFmOTg4MDFlMGZkOGNhMzM0Li5k
ZGI5OGM3YWFjYmIzMzM0YTQ4NTBmYmM5ZDQzZDRkNDM5ZjRkNjVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlz
dG9yeS9IaXN0b3J5SXRlbS5oCkBAIC01Myw2ICs1Myw3IEBAIGNsYXNzIEhpc3RvcnlJdGVtOwog
Y2xhc3MgSW1hZ2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBVUkw7CitlbnVtIGNs
YXNzIFBydW5pbmdSZWFzb247CiAKIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxIaXN0b3J5SXRlbT4+
IEhpc3RvcnlJdGVtVmVjdG9yOwogCkBAIC0yNTgsNyArMjU5LDcgQEAgcHJpdmF0ZToKICAgICBI
aXN0b3J5SXRlbSogbV9uZXh0OwogICAgIEhpc3RvcnlJdGVtKiBtX3ByZXY7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENhY2hlZFBhZ2U+IG1fY2FjaGVkUGFnZTsKLSAgICBib29sIG1fd2FzUHJ1bmVk
OworICAgIFBydW5pbmdSZWFzb24gbV9wcnVuaW5nUmVhc29uOwogCiAjaWYgUExBVEZPUk0oSU9T
KQogICAgIEZsb2F0UmVjdCBtX2V4cG9zZWRDb250ZW50UmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
UGFnZUNhY2hlLmNwcAppbmRleCA0MDY5NTcxYjE0YTU5ODdhMWY0OWM2NDYxZDJiZWQ2YTA1MjI5
M2M5Li5iMDgxMWU3NjU1OGVhYTA4MTM2ZWQ3NTNkNDlhY2E5NzIyYmEzMDM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCkBAIC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSAiU2hh
cmVkV29ya2VyUmVwb3NpdG9yeS5oIgogI2luY2x1ZGUgIlN1YmZyYW1lTG9hZGVyLmgiCiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL1RlbXBvcmFyeUNoYW5nZS5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdDb25jYXRlbmF0ZS5oPgogCkBAIC0zNzAsMTEgKzM3MSwxMCBAQCBib29sIFBhZ2VDYWNoZTo6
Y2FuQ2FjaGUoUGFnZSogcGFnZSkgY29uc3QKICAgICAgICAgICAgIHx8IGxvYWRUeXBlID09IEZy
YW1lTG9hZFR5cGU6OkluZGV4ZWRCYWNrRm9yd2FyZCk7CiB9CiAKLXZvaWQgUGFnZUNhY2hlOjpw
cnVuZVRvQ2FwYWNpdHlOb3coaW50IGNhcGFjaXR5KQordm9pZCBQYWdlQ2FjaGU6OnBydW5lVG9D
YXBhY2l0eU5vdyhpbnQgY2FwYWNpdHksIFBydW5pbmdSZWFzb24gcHJ1bmluZ1JlYXNvbikKIHsK
LSAgICBpbnQgc2F2ZWRDYXBhY2l0eSA9IG1fY2FwYWNpdHk7Ci0gICAgc2V0Q2FwYWNpdHkoY2Fw
YWNpdHkpOwotICAgIHNldENhcGFjaXR5KHNhdmVkQ2FwYWNpdHkpOworICAgIFRlbXBvcmFyeUNo
YW5nZTxpbnQ+KG1fY2FwYWNpdHksIHN0ZDo6bWF4KGNhcGFjaXR5LCAwKSk7CisgICAgcHJ1bmUo
cHJ1bmluZ1JlYXNvbik7CiB9CiAKIHZvaWQgUGFnZUNhY2hlOjpzZXRDYXBhY2l0eShpbnQgY2Fw
YWNpdHkpCkBAIC0zODIsNyArMzgyLDcgQEAgdm9pZCBQYWdlQ2FjaGU6OnNldENhcGFjaXR5KGlu
dCBjYXBhY2l0eSkKICAgICBBU1NFUlQoY2FwYWNpdHkgPj0gMCk7CiAgICAgbV9jYXBhY2l0eSA9
IHN0ZDo6bWF4KGNhcGFjaXR5LCAwKTsKIAotICAgIHBydW5lKCk7CisgICAgcHJ1bmUoUHJ1bmlu
Z1JlYXNvbjo6Tm9uZSk7CiB9CiAKIGludCBQYWdlQ2FjaGU6OmZyYW1lQ291bnQoKSBjb25zdApA
QCAtNDMzLDYgKzQzMywyMSBAQCB2b2lkIFBhZ2VDYWNoZTo6bWFya1BhZ2VzRm9yQ2FwdGlvblBy
ZWZlcmVuY2VzQ2hhbmdlZCgpCiB9CiAjZW5kaWYKIAorc3RhdGljIGNvbnN0IGNoYXIqIHBydW5p
bmdSZWFzb25Ub0ZlYXR1cmVDb3VudGVyS2V5KFBydW5pbmdSZWFzb24gcHJ1bmluZ1JlYXNvbikK
K3sKKyAgICBzd2l0Y2ggKHBydW5pbmdSZWFzb24pIHsKKyAgICBjYXNlIFBydW5pbmdSZWFzb246
Ok1lbW9yeVByZXNzdXJlOgorICAgICAgICByZXR1cm4gRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVG
YWlsdXJlUHJ1bmVkTWVtb3J5UHJlc3N1cmVLZXk7CisgICAgY2FzZSBQcnVuaW5nUmVhc29uOjpQ
cm9jZXNzU3VzcGVuZGVkOgorICAgICAgICByZXR1cm4gRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVG
YWlsdXJlUHJ1bmVkUHJvY2Vzc2VkU3VzcGVuZGVkS2V5OworICAgIGNhc2UgUHJ1bmluZ1JlYXNv
bjo6UmVhY2hlZENhcGFjaXR5OgorICAgICAgICByZXR1cm4gRmVhdHVyZUNvdW50ZXJQYWdlQ2Fj
aGVGYWlsdXJlUHJ1bmVkQ2FwYWNpdHlSZWFjaGVkS2V5OworICAgIGNhc2UgUHJ1bmluZ1JlYXNv
bjo6Tm9uZToKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIH0KK30KKwogdm9pZCBQYWdlQ2FjaGU6OmFkZChQYXNzUmVmUHRyPEhpc3Rv
cnlJdGVtPiBwcnBJdGVtLCBQYWdlJiBwYWdlKQogewogICAgIEFTU0VSVChwcnBJdGVtKTsKQEAg
LTQ0NSwxMSArNDYwLDExIEBAIHZvaWQgUGFnZUNhY2hlOjphZGQoUGFzc1JlZlB0cjxIaXN0b3J5
SXRlbT4gcHJwSXRlbSwgUGFnZSYgcGFnZSkKICAgICAgICAgcmVtb3ZlKGl0ZW0pOwogCiAgICAg
aXRlbS0+bV9jYWNoZWRQYWdlID0gc3RkOjptYWtlX3VuaXF1ZTxDYWNoZWRQYWdlPihwYWdlKTsK
LSAgICBpdGVtLT5tX3dhc1BydW5lZCA9IGZhbHNlOworICAgIGl0ZW0tPm1fcHJ1bmluZ1JlYXNv
biA9IFBydW5pbmdSZWFzb246Ok5vbmU7CiAgICAgYWRkVG9MUlVMaXN0KGl0ZW0pOwogICAgICsr
bV9zaXplOwogICAgIAotICAgIHBydW5lKCk7CisgICAgcHJ1bmUoUHJ1bmluZ1JlYXNvbjo6UmVh
Y2hlZENhcGFjaXR5KTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPENhY2hlZFBhZ2U+IFBhZ2VDYWNo
ZTo6dGFrZShIaXN0b3J5SXRlbSogaXRlbSwgUGFnZSogcGFnZSkKQEAgLTQ2NSw4ICs0ODAsOCBA
QCBzdGQ6OnVuaXF1ZV9wdHI8Q2FjaGVkUGFnZT4gUGFnZUNhY2hlOjp0YWtlKEhpc3RvcnlJdGVt
KiBpdGVtLCBQYWdlKiBwYWdlKQogICAgIGl0ZW0tPmRlcmVmKCk7IC8vIEJhbGFuY2VkIGluIGFk
ZCgpLgogCiAgICAgaWYgKCFjYWNoZWRQYWdlKSB7Ci0gICAgICAgIGlmIChpdGVtLT5tX3dhc1By
dW5lZCkKLSAgICAgICAgICAgIEZFQVRVUkVfQ09VTlRFUl9JTkNSRU1FTlRfS0VZKHBhZ2UsIEZl
YXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZVdhc1BydW5lZEtleSk7CisgICAgICAgIGlmIChp
dGVtLT5tX3BydW5pbmdSZWFzb24gIT0gUHJ1bmluZ1JlYXNvbjo6Tm9uZSkKKyAgICAgICAgICAg
IEZFQVRVUkVfQ09VTlRFUl9JTkNSRU1FTlRfS0VZKHBhZ2UsIHBydW5pbmdSZWFzb25Ub0ZlYXR1
cmVDb3VudGVyS2V5KGl0ZW0tPm1fcHJ1bmluZ1JlYXNvbikpOwogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICB9CiAKQEAgLTQ5MSw4ICs1MDYsOCBAQCBDYWNoZWRQYWdlKiBQYWdlQ2FjaGU6
OmdldChIaXN0b3J5SXRlbSogaXRlbSwgUGFnZSogcGFnZSkKICAgICAgICAgTE9HKFBhZ2VDYWNo
ZSwgIk5vdCByZXN0b3JpbmcgcGFnZSBmb3IgJXMgZnJvbSBiYWNrL2ZvcndhcmQgY2FjaGUgYmVj
YXVzZSBjYWNoZSBlbnRyeSBoYXMgZXhwaXJlZCIsIGl0ZW0tPnVybCgpLnN0cmluZygpLmFzY2lp
KCkuZGF0YSgpKTsKICAgICAgICAgRkVBVFVSRV9DT1VOVEVSX0lOQ1JFTUVOVF9LRVkocGFnZSwg
RmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJlRXhwaXJlZEtleSk7CiAgICAgICAgIHBhZ2VD
YWNoZSgpLT5yZW1vdmUoaXRlbSk7Ci0gICAgfSBlbHNlIGlmIChpdGVtLT5tX3dhc1BydW5lZCkK
LSAgICAgICAgRkVBVFVSRV9DT1VOVEVSX0lOQ1JFTUVOVF9LRVkocGFnZSwgRmVhdHVyZUNvdW50
ZXJQYWdlQ2FjaGVGYWlsdXJlV2FzUHJ1bmVkS2V5KTsKKyAgICB9IGVsc2UgaWYgKGl0ZW0tPm1f
cHJ1bmluZ1JlYXNvbiAhPSBQcnVuaW5nUmVhc29uOjpOb25lKQorICAgICAgICBGRUFUVVJFX0NP
VU5URVJfSU5DUkVNRU5UX0tFWShwYWdlLCBwcnVuaW5nUmVhc29uVG9GZWF0dXJlQ291bnRlcktl
eShpdGVtLT5tX3BydW5pbmdSZWFzb24pKTsKIAogICAgIHJldHVybiBudWxscHRyOwogfQpAQCAt
NTEwLDExICs1MjUsMTEgQEAgdm9pZCBQYWdlQ2FjaGU6OnJlbW92ZShIaXN0b3J5SXRlbSogaXRl
bSkKICAgICBpdGVtLT5kZXJlZigpOyAvLyBCYWxhbmNlZCBpbiBhZGQoKS4KIH0KIAotdm9pZCBQ
YWdlQ2FjaGU6OnBydW5lKCkKK3ZvaWQgUGFnZUNhY2hlOjpwcnVuZShQcnVuaW5nUmVhc29uIHBy
dW5pbmdSZWFzb24pCiB7CiAgICAgd2hpbGUgKG1fc2l6ZSA+IG1fY2FwYWNpdHkpIHsKICAgICAg
ICAgQVNTRVJUKG1fdGFpbCAmJiBtX3RhaWwtPm1fY2FjaGVkUGFnZSk7Ci0gICAgICAgIG1fdGFp
bC0+bV93YXNQcnVuZWQgPSB0cnVlOworICAgICAgICBtX3RhaWwtPm1fcHJ1bmluZ1JlYXNvbiA9
IHBydW5pbmdSZWFzb247CiAgICAgICAgIHJlbW92ZShtX3RhaWwpOwogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCmluZGV4IGM5NmY0N2FkYzJjZDIzYTE4NzJlNWRjYjY1M2Fk
NDhlYjdiNjk0YWYuLmYwZDA5NWUzZjExMmFkMGIzYzdkNWZiMWY1MmFhNGJhZDFjMTE5YzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaApAQCAtMzcsNiArMzcsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgSGlzdG9yeUl0ZW07CiAgICAg
Y2xhc3MgUGFnZTsKKworICAgIGVudW0gY2xhc3MgUHJ1bmluZ1JlYXNvbiB7IE5vbmUsIFByb2Nl
c3NTdXNwZW5kZWQsIE1lbW9yeVByZXNzdXJlLCBSZWFjaGVkQ2FwYWNpdHkgfTsKICAgICAKICAg
ICBjbGFzcyBQYWdlQ2FjaGUgewogICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2Fj
aGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKQEAgLTYyLDcgKzY0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIG1hcmtQYWdlc0ZvckZ1bGxTdHlsZVJlY2FsYyhQYWdl
Kik7CiAKICAgICAgICAgLy8gVXNlZCB3aGVuIG1lbW9yeSBpcyBsb3cgdG8gcHJ1bmUgc29tZSBj
YWNoZWQgcGFnZXMuCi0gICAgICAgIHZvaWQgcHJ1bmVUb0NhcGFjaXR5Tm93KGludCBjYXBhY2l0
eSk7CisgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJ1bmVUb0NhcGFjaXR5Tm93KGludCBj
YXBhY2l0eSwgUHJ1bmluZ1JlYXNvbik7CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAg
ICAgIHZvaWQgbWFya1BhZ2VzRm9yQ2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpOwpAQCAtODEs
NyArODMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgYWRkVG9MUlVMaXN0
KEhpc3RvcnlJdGVtKik7IC8vIEFkZHMgdG8gdGhlIGhlYWQgb2YgdGhlIGxpc3QuCiAgICAgICAg
IHZvaWQgcmVtb3ZlRnJvbUxSVUxpc3QoSGlzdG9yeUl0ZW0qKTsKIAotICAgICAgICB2b2lkIHBy
dW5lKCk7CisgICAgICAgIHZvaWQgcHJ1bmUoUHJ1bmluZ1JlYXNvbik7CiAKICAgICAgICAgaW50
IG1fY2FwYWNpdHk7CiAgICAgICAgIGludCBtX3NpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcAppbmRleCAzMGFjMjBmZjU0YWU3YzI5NjkxMDA1ZjlhOTdmMGFjZjFkOTJjODQ3
Li5iNzU0NWVmMmM0Y2EwOWEyMjlhYjdmYjNiNzIzNGM4M2YwMGZiNDBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTE3NjYsMTEgKzE3NjYsMTEgQEAgdm9pZCBGcmFt
ZUxvYWRlcjo6Y29tbWl0UHJvdmlzaW9uYWxMb2FkKCkKICAgICAgICAgICAgIExPRyhNZW1vcnlQ
cmVzc3VyZSwgIlBydW5pbmcgcGFnZSBjYWNoZSBiZWNhdXNlIHVuZGVyIG1lbW9yeSBwcmVzc3Vy
ZSBhdDogJXMiLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKICAgICAgICAgICAgIExPRyhQYWdlQ2Fj
aGUsICJQcnVuaW5nIHBhZ2UgY2FjaGUgdG8gMCBkdWUgdG8gbWVtb3J5IHByZXNzdXJlIik7CiAg
ICAgICAgICAgICAvLyBEb24ndCBjYWNoZSBhbnkgcGFnZSBpZiB3ZSBhcmUgdW5kZXIgbWVtb3J5
IHByZXNzdXJlLgotICAgICAgICAgICAgcGFnZUNhY2hlKCktPnBydW5lVG9DYXBhY2l0eU5vdygw
KTsKKyAgICAgICAgICAgIHBhZ2VDYWNoZSgpLT5wcnVuZVRvQ2FwYWNpdHlOb3coMCwgUHJ1bmlu
Z1JlYXNvbjo6TWVtb3J5UHJlc3N1cmUpOwogICAgICAgICB9IGVsc2UgaWYgKHN5c3RlbU1lbW9y
eUxldmVsKCkgPD0gbWVtb3J5TGV2ZWxUaHJlc2hvbGRUb1BydW5lUGFnZUNhY2hlKSB7CiAgICAg
ICAgICAgICBMT0coTWVtb3J5UHJlc3N1cmUsICJQcnVuaW5nIHBhZ2UgY2FjaGUgYmVjYXVzZSBz
eXN0ZW0gbWVtb3J5IGxldmVsIGlzICVkIGF0OiAlcyIsIHN5c3RlbU1lbW9yeUxldmVsKCksIF9f
UFJFVFRZX0ZVTkNUSU9OX18pOwogICAgICAgICAgICAgTE9HKFBhZ2VDYWNoZSwgIlBydW5pbmcg
cGFnZSBjYWNoZSB0byAlZCBkdWUgdG8gbG93IG1lbW9yeSAobGV2ZWwgJWQgbGVzcyBvciBlcXVh
bCB0byAlZCB0aHJlc2hvbGQpIiwgcGFnZUNhY2hlKCktPmNhcGFjaXR5KCkgLyAyLCBzeXN0ZW1N
ZW1vcnlMZXZlbCgpLCBtZW1vcnlMZXZlbFRocmVzaG9sZFRvUHJ1bmVQYWdlQ2FjaGUpOwotICAg
ICAgICAgICAgcGFnZUNhY2hlKCktPnBydW5lVG9DYXBhY2l0eU5vdyhwYWdlQ2FjaGUoKS0+Y2Fw
YWNpdHkoKSAvIDIpOworICAgICAgICAgICAgcGFnZUNhY2hlKCktPnBydW5lVG9DYXBhY2l0eU5v
dyhwYWdlQ2FjaGUoKS0+Y2FwYWNpdHkoKSAvIDIsIFBydW5pbmdSZWFzb246Ok1lbW9yeVByZXNz
dXJlKTsKICAgICAgICAgfQogICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vRmVhdHVyZUNvdW50ZXJLZXlzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9GZWF0dXJlQ291bnRlcktleXMuaAppbmRleCAzZWRmNTMyOWE4ZWI1ZGE3MDcwZGVhOWY1ZWI4
YWJjNjk0YTQ2YjE0Li4xZDg3MjY0NmFjMjA0NjQxOTU5OGY0YTNkNzlkNTRiNzkzYTgzYmZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GZWF0dXJlQ291bnRlcktleXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GZWF0dXJlQ291bnRlcktleXMuaApAQCAtNTks
NyArNTksOSBAQCBzdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZUZhaWx1
cmVSZWxvYWRLZXlbXSA9ICJjb20uYXBwbGUuV2ViS2l0Lgogc3RhdGljIGNvbnN0IGNoYXIgRmVh
dHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJlUmVsb2FkRnJvbU9yaWdpbktleVtdID0gImNvbS5h
cHBsZS5XZWJLaXQucGFnZUNhY2hlLmZhaWx1cmUucmVsb2FkRnJvbU9yaWdpbiI7CiBzdGF0aWMg
Y29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZUZhaWx1cmVTYW1lTG9hZEtleVtdID0g
ImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hlLmZhaWx1cmUuc2FtZUxvYWQiOwogc3RhdGljIGNv
bnN0IGNoYXIgRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJlRXhwaXJlZEtleVtdID0gImNv
bS5hcHBsZS5XZWJLaXQucGFnZUNhY2hlLmZhaWx1cmUuZXhwaXJlZCI7Ci1zdGF0aWMgY29uc3Qg
Y2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZUZhaWx1cmVXYXNQcnVuZWRLZXlbXSA9ICJjb20u
YXBwbGUuV2ViS2l0LnBhZ2VDYWNoZS5mYWlsdXJlLndhc1BydW5lZCI7CitzdGF0aWMgY29uc3Qg
Y2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZUZhaWx1cmVQcnVuZWRNZW1vcnlQcmVzc3VyZUtl
eVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hlLmZhaWx1cmUucHJ1bmVkLm1lbW9yeVBy
ZXNzdXJlIjsKK3N0YXRpYyBjb25zdCBjaGFyIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVy
ZVBydW5lZENhcGFjaXR5UmVhY2hlZEtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hl
LmZhaWx1cmUucHJ1bmVkLmNhcGFjaXR5UmVhY2hlZCI7CitzdGF0aWMgY29uc3QgY2hhciBGZWF0
dXJlQ291bnRlclBhZ2VDYWNoZUZhaWx1cmVQcnVuZWRQcm9jZXNzZWRTdXNwZW5kZWRLZXlbXSA9
ICJjb20uYXBwbGUuV2ViS2l0LnBhZ2VDYWNoZS5mYWlsdXJlLnBydW5lZC5wcm9jZXNzU3VzcGVu
ZGVkIjsKIHN0YXRpYyBjb25zdCBjaGFyIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZUtl
eVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hlLmZhaWx1cmUiOwogc3RhdGljIGNvbnN0
IGNoYXIgRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVTdWNjZXNzS2V5W10gPSAiY29tLmFwcGxlLldl
YktpdC5wYWdlQ2FjaGUuc3VjY2VzcyI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCmluZGV4IDE4MTJkZWMxYzlhNGVmMWIyYjBmOTEw
OTkxNzNkNDZkNDRhMmM0NDMuLjY4OTI4M2VlMDI3NDcyMWY0ZWE3MjNiYjU2OTM3ZWRhOGJjNWZj
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFu
ZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5k
bGVyLmNwcApAQCAtMTAxLDkgKzEwMSw5IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpy
ZWxlYXNlQ3JpdGljYWxNZW1vcnkoKQogewogICAgIHsKICAgICAgICAgUmVsaWVmTG9nZ2VyIGxv
ZygiRW1wdHkgdGhlIFBhZ2VDYWNoZSIpOwotICAgICAgICBpbnQgc2F2ZWRQYWdlQ2FjaGVDYXBh
Y2l0eSA9IHBhZ2VDYWNoZSgpLT5jYXBhY2l0eSgpOwotICAgICAgICBwYWdlQ2FjaGUoKS0+c2V0
Q2FwYWNpdHkoMCk7Ci0gICAgICAgIHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eShzYXZlZFBhZ2VD
YWNoZUNhcGFjaXR5KTsKKyAgICAgICAgLy8gUmlnaHQgbm93LCB0aGUgb25seSByZWFzb24gd2Ug
Y2FsbCByZWxlYXNlIGNyaXRpY2FsIG1lbW9yeSB3aGlsZSBub3QgdW5kZXIgbWVtb3J5IHByZXNz
dXJlIGlzIGlmIHRoZSBwcm9jZXNzIGlzIGFib3V0IHRvIGJlIHN1c3BlbmRlZC4KKyAgICAgICAg
UHJ1bmluZ1JlYXNvbiBwcnVuaW5nUmVhc29uID0gbWVtb3J5UHJlc3N1cmVIYW5kbGVyKCkuaXNV
bmRlck1lbW9yeVByZXNzdXJlKCkgPyBQcnVuaW5nUmVhc29uOjpNZW1vcnlQcmVzc3VyZSA6IFBy
dW5pbmdSZWFzb246OlByb2Nlc3NTdXNwZW5kZWQ7CisgICAgICAgIHBhZ2VDYWNoZSgpLT5wcnVu
ZVRvQ2FwYWNpdHlOb3coMCwgcHJ1bmluZ1JlYXNvbik7CiAgICAgfQogCiAgICAgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYWFhZGI4Y2Q3YTFiNmI2MDQ4
Y2I0MjZlYzJmZmQzNmQ4MTViYjUwYy4uZWNkMzViOWMwZmM2NWJhYWRjYTY0NDZhN2M4ZjdkMTlj
OTBjMjFiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0x
MTI4LDkgKzExMjgsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnNldFRleHRDaGVja2VyU3RhdGUoY29u
c3QgVGV4dENoZWNrZXJTdGF0ZSYgdGV4dENoZWNrZXJTdGF0ZSkKIAogdm9pZCBXZWJQcm9jZXNz
OjpyZWxlYXNlUGFnZUNhY2hlKCkKIHsKLSAgICBpbnQgc2F2ZWRQYWdlQ2FjaGVDYXBhY2l0eSA9
IHBhZ2VDYWNoZSgpLT5jYXBhY2l0eSgpOwotICAgIHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eSgw
KTsKLSAgICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkoc2F2ZWRQYWdlQ2FjaGVDYXBhY2l0eSk7
CisgICAgcGFnZUNhY2hlKCktPnBydW5lVG9DYXBhY2l0eU5vdygwLCBQcnVuaW5nUmVhc29uOjpN
ZW1vcnlQcmVzc3VyZSk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243748</attachid>
            <date>2014-12-25 12:00:57 -0800</date>
            <delta_ts>2014-12-25 12:29:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139921-20141225120059.patch</filename>
            <type>text/plain</type>
            <size>16042</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTQ0MWU1M2I3ZTAxNWU2
MDI5YmI5MDc3MmQwNDI3NGJhMTdhODYyNC4uOGYwZDliN2JkZGU2YzJjNzk5Y2Q2YjBkYmJiYjMy
ZGI1OTg1YmJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTEyLTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9nIGJldHRlciB1
c2luZyBGZWF0dXJlQ291bnRlciB3aHkgUGFnZUNhY2hlIGlzIGZhaWxpbmcgZHVlIHRvIHBydW5l
ZCByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzOTkyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIExvZyBiZXR0ZXIgdXNpbmcgRmVhdHVyZUNvdW50ZXIgd2h5IFBhZ2VDYWNoZSBpcyBmYWls
aW5nIGR1ZSB0byBwcnVuZWQKKyAgICAgICAgcmVzb3VyY2VzLiBJbiBwYXJ0aWN1bGFyLCB3ZSBu
b3cgZGlzdGluZ3Vpc2ggaWYgdGhlIHJlc291cmNlIHdhcyBwcnVuZWQKKyAgICAgICAgZHVlIHRv
OgorICAgICAgICAtIE1lbW9yeSBwcmVzc3VyZQorICAgICAgICAtIFBhZ2UgY2FjaGUgY2FwYWNp
dHkgcmVhY2hlZAorICAgICAgICAtIFdlYlByb2Nlc3Mgc3VzcGVuZGVkIChXSzIpCisKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBoaXN0b3J5L0hpc3RvcnlJdGVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpIaXN0b3J5SXRlbSk6CisgICAgICAgICog
aGlzdG9yeS9IaXN0b3J5SXRlbS5oOgorICAgICAgICAqIGhpc3RvcnkvUGFnZUNhY2hlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6cHJ1bmVUb0NhcGFjaXR5Tm93KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6c2V0Q2FwYWNpdHkpOgorICAgICAgICAoV2ViQ29yZTo6
cHJ1bmluZ1JlYXNvblRvRmVhdHVyZUNvdW50ZXJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZUNhY2hlOjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjp0YWtlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNo
ZTo6cHJ1bmUpOgorICAgICAgICAqIGhpc3RvcnkvUGFnZUNhY2hlLmg6CisgICAgICAgICogbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb21t
aXRQcm92aXNpb25hbExvYWQpOgorICAgICAgICAqIHBsYXRmb3JtL0ZlYXR1cmVDb3VudGVyS2V5
cy5oOgorICAgICAgICAqIHBsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnJlbGVhc2VDcml0aWNhbE1lbW9y
eSk6CisKIDIwMTQtMTItMjUgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNv
bT4KIAogICAgICAgICBVc2Ugc3RkOjp1bmlxdWVfcHRyPD4gaW4gV2ViQ29yZS9kb20sIHBsdWdp
biwgYW5kIGdyYXBoaWNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWEyZGE4YjA4N2ZmZTJiYjZmZjRkMWUwMTdj
MjMxMzk2NWMyZmM0Yy4uYmRiMDk5ODJiOTI0ZTU4ZTQxZjlmYWRjZGFmYjMwNmU4NjBhNjM0YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE0LTEyLTI1ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9nIGJldHRlciB1c2luZyBGZWF0dXJl
Q291bnRlciB3aHkgUGFnZUNhY2hlIGlzIGZhaWxpbmcgZHVlIHRvIHBydW5lZCByZXNvdXJjZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTkyMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhbGwgUGFn
ZUNhY2hlOjpwcnVuZVRvQ2FwYWNpdHlOb3coKSBpbnN0ZWFkIG9mIG11bHRpcGxlIGNhbGxzIHRv
CisgICAgICAgIHNldENhcGFjaXR5KCkgYXMgaXQgZG9lcyBleGFjdGx5IHdoYXQgd2Ugd2FudC4g
QWxzbyBwYXNzIHRoZSBuZXcKKyAgICAgICAgUHJ1bmVkUmVhc29uIGFyZ3VtZW50IHNvIGhlbHAg
dXMgZG8gYmV0dGVyIGxvZ2dpbmcuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpyZWxlYXNlUGFnZUNhY2hlKToKKwog
MjAxNC0xMi0yNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE3NzcxMiBhbmQgcjE3NzcxNy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KaW5kZXggNzk5MDNmYjE2MDIyNjc3ZDQ0MTM3YmRiYTE3NWM3YmVkMTVjMmY4
Zi4uYzUyOWU3MWQxMTdmNDcyODY2YTg2MjU3NDQ0MDA0NmY4ZDEwMGVhMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KQEAgLTE1NTksNiArMTU1OSw3IEBAIF9fWk43V2ViQ29yZTlKU0VsZW1lbnQ5dG9X
cmFwcGVkRU4zSlNDN0pTVmFsdWVFCiBfX1pON1dlYkNvcmU5TGF5ZXJQb29sQzFFdgogX19aTjdX
ZWJDb3JlOUxheWVyUG9vbEQxRXYKIF9fWk43V2ViQ29yZTlQYWdlQ2FjaGUxMXNldENhcGFjaXR5
RWkKK19fWk43V2ViQ29yZTlQYWdlQ2FjaGUxOHBydW5lVG9DYXBhY2l0eU5vd0VpTlNfMTNQcnVu
aW5nUmVhc29uRQogX19aTjdXZWJDb3JlOVBhZ2VDYWNoZTMzbWFya1BhZ2VzRm9yVmlzdGVkTGlu
a1N0eWxlUmVjYWxjRXYKIF9fWk43V2ViQ29yZTlQYWdlQ2FjaGU2cmVtb3ZlRVBOU18xMUhpc3Rv
cnlJdGVtRQogX19aTjdXZWJDb3JlOVBhZ2VHcm91cDE2c3luY0xvY2FsU3RvcmFnZUV2CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwCmluZGV4IDgyZTAzYjM2ZDVkZGNlMDc1NTEw
ZjdiZDc4NGRhODI1YzRkOWMwOGYuLmY1NWZhMzQ5NmU3NmNkYmNjZjgzY2NhZjNiZWI2N2M1OTg3
NzE2ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwCkBAIC02MSw5ICs2
MSw5IEBAIEhpc3RvcnlJdGVtOjpIaXN0b3J5SXRlbSgpCiAgICAgLCBtX2lzVGFyZ2V0SXRlbShm
YWxzZSkKICAgICAsIG1faXRlbVNlcXVlbmNlTnVtYmVyKGdlbmVyYXRlU2VxdWVuY2VOdW1iZXIo
KSkKICAgICAsIG1fZG9jdW1lbnRTZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVy
KCkpCi0gICAgLCBtX25leHQoMCkKLSAgICAsIG1fcHJldigwKQotICAgICwgbV93YXNQcnVuZWQo
ZmFsc2UpCisgICAgLCBtX25leHQobnVsbHB0cikKKyAgICAsIG1fcHJldihudWxscHRyKQorICAg
ICwgbV9wcnVuaW5nUmVhc29uKFBydW5pbmdSZWFzb246Ok5vbmUpCiAjaWYgUExBVEZPUk0oSU9T
KQogICAgICwgbV9zY2FsZSgwKQogICAgICwgbV9zY2FsZUlzSW5pdGlhbChmYWxzZSkKQEAgLTgx
LDkgKzgxLDkgQEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3Ry
aW5nLCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgICwgbV9pc1RhcmdldEl0ZW0oZmFsc2UpCiAg
ICAgLCBtX2l0ZW1TZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkpCiAgICAg
LCBtX2RvY3VtZW50U2VxdWVuY2VOdW1iZXIoZ2VuZXJhdGVTZXF1ZW5jZU51bWJlcigpKQotICAg
ICwgbV9uZXh0KDApCi0gICAgLCBtX3ByZXYoMCkKLSAgICAsIG1fd2FzUHJ1bmVkKGZhbHNlKQor
ICAgICwgbV9uZXh0KG51bGxwdHIpCisgICAgLCBtX3ByZXYobnVsbHB0cikKKyAgICAsIG1fcHJ1
bmluZ1JlYXNvbihQcnVuaW5nUmVhc29uOjpOb25lKQogI2lmIFBMQVRGT1JNKElPUykKICAgICAs
IG1fc2NhbGUoMCkKICAgICAsIG1fc2NhbGVJc0luaXRpYWwoZmFsc2UpCkBAIC0xMDMsOSArMTAz
LDkgQEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBj
b25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHIKICAgICAsIG1faXNUYXJnZXRJdGVtKGZhbHNl
KQogICAgICwgbV9pdGVtU2VxdWVuY2VOdW1iZXIoZ2VuZXJhdGVTZXF1ZW5jZU51bWJlcigpKQog
ICAgICwgbV9kb2N1bWVudFNlcXVlbmNlTnVtYmVyKGdlbmVyYXRlU2VxdWVuY2VOdW1iZXIoKSkK
LSAgICAsIG1fbmV4dCgwKQotICAgICwgbV9wcmV2KDApCi0gICAgLCBtX3dhc1BydW5lZChmYWxz
ZSkKKyAgICAsIG1fbmV4dChudWxscHRyKQorICAgICwgbV9wcmV2KG51bGxwdHIpCisgICAgLCBt
X3BydW5pbmdSZWFzb24oUHJ1bmluZ1JlYXNvbjo6Tm9uZSkKICNpZiBQTEFURk9STShJT1MpCiAg
ICAgLCBtX3NjYWxlKDApCiAgICAgLCBtX3NjYWxlSXNJbml0aWFsKGZhbHNlKQpAQCAtMTI2LDkg
KzEyNiw5IEBAIEhpc3RvcnlJdGVtOjpIaXN0b3J5SXRlbShjb25zdCBVUkwmIHVybCwgY29uc3Qg
U3RyaW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgcGFyCiAgICAgLCBtX2lzVGFyZ2V0SXRlbShm
YWxzZSkKICAgICAsIG1faXRlbVNlcXVlbmNlTnVtYmVyKGdlbmVyYXRlU2VxdWVuY2VOdW1iZXIo
KSkKICAgICAsIG1fZG9jdW1lbnRTZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVy
KCkpCi0gICAgLCBtX25leHQoMCkKLSAgICAsIG1fcHJldigwKQotICAgICwgbV93YXNQcnVuZWQo
ZmFsc2UpCisgICAgLCBtX25leHQobnVsbHB0cikKKyAgICAsIG1fcHJldihudWxscHRyKQorICAg
ICwgbV9wcnVuaW5nUmVhc29uKFBydW5pbmdSZWFzb246Ok5vbmUpCiAjaWYgUExBVEZPUk0oSU9T
KQogICAgICwgbV9zY2FsZSgwKQogICAgICwgbV9zY2FsZUlzSW5pdGlhbChmYWxzZSkKQEAgLTE2
MCw2ICsxNjAsOSBAQCBpbmxpbmUgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IEhpc3Rv
cnlJdGVtJiBpdGVtKQogICAgICwgbV9pdGVtU2VxdWVuY2VOdW1iZXIoaXRlbS5tX2l0ZW1TZXF1
ZW5jZU51bWJlcikKICAgICAsIG1fZG9jdW1lbnRTZXF1ZW5jZU51bWJlcihpdGVtLm1fZG9jdW1l
bnRTZXF1ZW5jZU51bWJlcikKICAgICAsIG1fZm9ybUNvbnRlbnRUeXBlKGl0ZW0ubV9mb3JtQ29u
dGVudFR5cGUpCisgICAgLCBtX25leHQobnVsbHB0cikKKyAgICAsIG1fcHJldihudWxscHRyKQor
ICAgICwgbV9wcnVuaW5nUmVhc29uKFBydW5pbmdSZWFzb246Ok5vbmUpCiAjaWYgUExBVEZPUk0o
SU9TKQogICAgICwgbV9zY2FsZShpdGVtLm1fc2NhbGUpCiAgICAgLCBtX3NjYWxlSXNJbml0aWFs
KGl0ZW0ubV9zY2FsZUlzSW5pdGlhbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3Rv
cnkvSGlzdG9yeUl0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uaApp
bmRleCA2ZjhlN2EzY2YwZmMxYjY0NDdmOTEzNTNjNjY1ZjNkM2IxZTVhYmE2Li4zODAwMTkxYTNi
ODIwODVmMGI5NjhkMjU1OTRkN2IzODUwZWI0ZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0
b3J5SXRlbS5oCkBAIC01Myw2ICs1Myw3IEBAIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgSW1h
Z2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBVUkw7CitlbnVtIGNsYXNzIFBydW5p
bmdSZWFzb247CiAKIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxIaXN0b3J5SXRlbT4+IEhpc3RvcnlJ
dGVtVmVjdG9yOwogCkBAIC0yNTgsNyArMjU5LDcgQEAgcHJpdmF0ZToKICAgICBIaXN0b3J5SXRl
bSogbV9uZXh0OwogICAgIEhpc3RvcnlJdGVtKiBtX3ByZXY7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PENhY2hlZFBhZ2U+IG1fY2FjaGVkUGFnZTsKLSAgICBib29sIG1fd2FzUHJ1bmVkOworICAgIFBy
dW5pbmdSZWFzb24gbV9wcnVuaW5nUmVhc29uOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIEZs
b2F0UmVjdCBtX2V4cG9zZWRDb250ZW50UmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvUGFnZUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hl
LmNwcAppbmRleCA0MDY5NTcxYjE0YTU5ODdhMWY0OWM2NDYxZDJiZWQ2YTA1MjI5M2M5Li42MzM5
MGFmYTQ0NGRmNTFkNDQyOGMyNzc0NzQwZWJlMjAzMjNhZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9QYWdlQ2FjaGUuY3BwCkBAIC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSAiU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oIgogI2luY2x1ZGUgIlN1YmZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSA8d3Rm
L0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRl
bmF0ZS5oPgogCkBAIC0zNzAsMTEgKzM3MSwxMCBAQCBib29sIFBhZ2VDYWNoZTo6Y2FuQ2FjaGUo
UGFnZSogcGFnZSkgY29uc3QKICAgICAgICAgICAgIHx8IGxvYWRUeXBlID09IEZyYW1lTG9hZFR5
cGU6OkluZGV4ZWRCYWNrRm9yd2FyZCk7CiB9CiAKLXZvaWQgUGFnZUNhY2hlOjpwcnVuZVRvQ2Fw
YWNpdHlOb3coaW50IGNhcGFjaXR5KQordm9pZCBQYWdlQ2FjaGU6OnBydW5lVG9DYXBhY2l0eU5v
dyhpbnQgY2FwYWNpdHksIFBydW5pbmdSZWFzb24gcHJ1bmluZ1JlYXNvbikKIHsKLSAgICBpbnQg
c2F2ZWRDYXBhY2l0eSA9IG1fY2FwYWNpdHk7Ci0gICAgc2V0Q2FwYWNpdHkoY2FwYWNpdHkpOwot
ICAgIHNldENhcGFjaXR5KHNhdmVkQ2FwYWNpdHkpOworICAgIFRlbXBvcmFyeUNoYW5nZTxpbnQ+
KG1fY2FwYWNpdHksIHN0ZDo6bWF4KGNhcGFjaXR5LCAwKSk7CisgICAgcHJ1bmUocHJ1bmluZ1Jl
YXNvbik7CiB9CiAKIHZvaWQgUGFnZUNhY2hlOjpzZXRDYXBhY2l0eShpbnQgY2FwYWNpdHkpCkBA
IC0zODIsNyArMzgyLDcgQEAgdm9pZCBQYWdlQ2FjaGU6OnNldENhcGFjaXR5KGludCBjYXBhY2l0
eSkKICAgICBBU1NFUlQoY2FwYWNpdHkgPj0gMCk7CiAgICAgbV9jYXBhY2l0eSA9IHN0ZDo6bWF4
KGNhcGFjaXR5LCAwKTsKIAotICAgIHBydW5lKCk7CisgICAgcHJ1bmUoUHJ1bmluZ1JlYXNvbjo6
Tm9uZSk7CiB9CiAKIGludCBQYWdlQ2FjaGU6OmZyYW1lQ291bnQoKSBjb25zdApAQCAtNDMzLDYg
KzQzMywyMyBAQCB2b2lkIFBhZ2VDYWNoZTo6bWFya1BhZ2VzRm9yQ2FwdGlvblByZWZlcmVuY2Vz
Q2hhbmdlZCgpCiB9CiAjZW5kaWYKIAorc3RhdGljIGNvbnN0IGNoYXIqIHBydW5pbmdSZWFzb25U
b0ZlYXR1cmVDb3VudGVyS2V5KFBydW5pbmdSZWFzb24gcHJ1bmluZ1JlYXNvbikKK3sKKyAgICBz
d2l0Y2ggKHBydW5pbmdSZWFzb24pIHsKKyAgICBjYXNlIFBydW5pbmdSZWFzb246Ok1lbW9yeVBy
ZXNzdXJlOgorICAgICAgICByZXR1cm4gRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJlUHJ1
bmVkTWVtb3J5UHJlc3N1cmVLZXk7CisgICAgY2FzZSBQcnVuaW5nUmVhc29uOjpQcm9jZXNzU3Vz
cGVuZGVkOgorICAgICAgICByZXR1cm4gRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJlUHJ1
bmVkUHJvY2Vzc2VkU3VzcGVuZGVkS2V5OworICAgIGNhc2UgUHJ1bmluZ1JlYXNvbjo6UmVhY2hl
ZENhcGFjaXR5OgorICAgICAgICByZXR1cm4gRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJl
UHJ1bmVkQ2FwYWNpdHlSZWFjaGVkS2V5OworICAgIGNhc2UgUHJ1bmluZ1JlYXNvbjo6Tm9uZToK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
Kwogdm9pZCBQYWdlQ2FjaGU6OmFkZChQYXNzUmVmUHRyPEhpc3RvcnlJdGVtPiBwcnBJdGVtLCBQ
YWdlJiBwYWdlKQogewogICAgIEFTU0VSVChwcnBJdGVtKTsKQEAgLTQ0NSwxMSArNDYyLDExIEBA
IHZvaWQgUGFnZUNhY2hlOjphZGQoUGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4gcHJwSXRlbSwgUGFn
ZSYgcGFnZSkKICAgICAgICAgcmVtb3ZlKGl0ZW0pOwogCiAgICAgaXRlbS0+bV9jYWNoZWRQYWdl
ID0gc3RkOjptYWtlX3VuaXF1ZTxDYWNoZWRQYWdlPihwYWdlKTsKLSAgICBpdGVtLT5tX3dhc1By
dW5lZCA9IGZhbHNlOworICAgIGl0ZW0tPm1fcHJ1bmluZ1JlYXNvbiA9IFBydW5pbmdSZWFzb246
Ok5vbmU7CiAgICAgYWRkVG9MUlVMaXN0KGl0ZW0pOwogICAgICsrbV9zaXplOwogICAgIAotICAg
IHBydW5lKCk7CisgICAgcHJ1bmUoUHJ1bmluZ1JlYXNvbjo6UmVhY2hlZENhcGFjaXR5KTsKIH0K
IAogc3RkOjp1bmlxdWVfcHRyPENhY2hlZFBhZ2U+IFBhZ2VDYWNoZTo6dGFrZShIaXN0b3J5SXRl
bSogaXRlbSwgUGFnZSogcGFnZSkKQEAgLTQ2NSw4ICs0ODIsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8
Q2FjaGVkUGFnZT4gUGFnZUNhY2hlOjp0YWtlKEhpc3RvcnlJdGVtKiBpdGVtLCBQYWdlKiBwYWdl
KQogICAgIGl0ZW0tPmRlcmVmKCk7IC8vIEJhbGFuY2VkIGluIGFkZCgpLgogCiAgICAgaWYgKCFj
YWNoZWRQYWdlKSB7Ci0gICAgICAgIGlmIChpdGVtLT5tX3dhc1BydW5lZCkKLSAgICAgICAgICAg
IEZFQVRVUkVfQ09VTlRFUl9JTkNSRU1FTlRfS0VZKHBhZ2UsIEZlYXR1cmVDb3VudGVyUGFnZUNh
Y2hlRmFpbHVyZVdhc1BydW5lZEtleSk7CisgICAgICAgIGlmIChpdGVtLT5tX3BydW5pbmdSZWFz
b24gIT0gUHJ1bmluZ1JlYXNvbjo6Tm9uZSkKKyAgICAgICAgICAgIEZFQVRVUkVfQ09VTlRFUl9J
TkNSRU1FTlRfS0VZKHBhZ2UsIHBydW5pbmdSZWFzb25Ub0ZlYXR1cmVDb3VudGVyS2V5KGl0ZW0t
Pm1fcHJ1bmluZ1JlYXNvbikpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKQEAg
LTQ5MSw4ICs1MDgsOCBAQCBDYWNoZWRQYWdlKiBQYWdlQ2FjaGU6OmdldChIaXN0b3J5SXRlbSog
aXRlbSwgUGFnZSogcGFnZSkKICAgICAgICAgTE9HKFBhZ2VDYWNoZSwgIk5vdCByZXN0b3Jpbmcg
cGFnZSBmb3IgJXMgZnJvbSBiYWNrL2ZvcndhcmQgY2FjaGUgYmVjYXVzZSBjYWNoZSBlbnRyeSBo
YXMgZXhwaXJlZCIsIGl0ZW0tPnVybCgpLnN0cmluZygpLmFzY2lpKCkuZGF0YSgpKTsKICAgICAg
ICAgRkVBVFVSRV9DT1VOVEVSX0lOQ1JFTUVOVF9LRVkocGFnZSwgRmVhdHVyZUNvdW50ZXJQYWdl
Q2FjaGVGYWlsdXJlRXhwaXJlZEtleSk7CiAgICAgICAgIHBhZ2VDYWNoZSgpLT5yZW1vdmUoaXRl
bSk7Ci0gICAgfSBlbHNlIGlmIChpdGVtLT5tX3dhc1BydW5lZCkKLSAgICAgICAgRkVBVFVSRV9D
T1VOVEVSX0lOQ1JFTUVOVF9LRVkocGFnZSwgRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJl
V2FzUHJ1bmVkS2V5KTsKKyAgICB9IGVsc2UgaWYgKGl0ZW0tPm1fcHJ1bmluZ1JlYXNvbiAhPSBQ
cnVuaW5nUmVhc29uOjpOb25lKQorICAgICAgICBGRUFUVVJFX0NPVU5URVJfSU5DUkVNRU5UX0tF
WShwYWdlLCBwcnVuaW5nUmVhc29uVG9GZWF0dXJlQ291bnRlcktleShpdGVtLT5tX3BydW5pbmdS
ZWFzb24pKTsKIAogICAgIHJldHVybiBudWxscHRyOwogfQpAQCAtNTEwLDExICs1MjcsMTEgQEAg
dm9pZCBQYWdlQ2FjaGU6OnJlbW92ZShIaXN0b3J5SXRlbSogaXRlbSkKICAgICBpdGVtLT5kZXJl
ZigpOyAvLyBCYWxhbmNlZCBpbiBhZGQoKS4KIH0KIAotdm9pZCBQYWdlQ2FjaGU6OnBydW5lKCkK
K3ZvaWQgUGFnZUNhY2hlOjpwcnVuZShQcnVuaW5nUmVhc29uIHBydW5pbmdSZWFzb24pCiB7CiAg
ICAgd2hpbGUgKG1fc2l6ZSA+IG1fY2FwYWNpdHkpIHsKICAgICAgICAgQVNTRVJUKG1fdGFpbCAm
JiBtX3RhaWwtPm1fY2FjaGVkUGFnZSk7Ci0gICAgICAgIG1fdGFpbC0+bV93YXNQcnVuZWQgPSB0
cnVlOworICAgICAgICBtX3RhaWwtPm1fcHJ1bmluZ1JlYXNvbiA9IHBydW5pbmdSZWFzb247CiAg
ICAgICAgIHJlbW92ZShtX3RhaWwpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvUGFnZUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNo
ZS5oCmluZGV4IGM5NmY0N2FkYzJjZDIzYTE4NzJlNWRjYjY1M2FkNDhlYjdiNjk0YWYuLmYwZDA5
NWUzZjExMmFkMGIzYzdkNWZiMWY1MmFhNGJhZDFjMTE5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9Q
YWdlQ2FjaGUuaApAQCAtMzcsNiArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xh
c3MgRnJhbWU7CiAgICAgY2xhc3MgSGlzdG9yeUl0ZW07CiAgICAgY2xhc3MgUGFnZTsKKworICAg
IGVudW0gY2xhc3MgUHJ1bmluZ1JlYXNvbiB7IE5vbmUsIFByb2Nlc3NTdXNwZW5kZWQsIE1lbW9y
eVByZXNzdXJlLCBSZWFjaGVkQ2FwYWNpdHkgfTsKICAgICAKICAgICBjbGFzcyBQYWdlQ2FjaGUg
ewogICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2FjaGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKQEAgLTYyLDcgKzY0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2b2lkIG1hcmtQYWdlc0ZvckZ1bGxTdHlsZVJlY2FsYyhQYWdlKik7CiAKICAgICAgICAgLy8g
VXNlZCB3aGVuIG1lbW9yeSBpcyBsb3cgdG8gcHJ1bmUgc29tZSBjYWNoZWQgcGFnZXMuCi0gICAg
ICAgIHZvaWQgcHJ1bmVUb0NhcGFjaXR5Tm93KGludCBjYXBhY2l0eSk7CisgICAgICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgcHJ1bmVUb0NhcGFjaXR5Tm93KGludCBjYXBhY2l0eSwgUHJ1bmluZ1Jl
YXNvbik7CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgICAgIHZvaWQgbWFya1BhZ2Vz
Rm9yQ2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpOwpAQCAtODEsNyArODMsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgYWRkVG9MUlVMaXN0KEhpc3RvcnlJdGVtKik7IC8v
IEFkZHMgdG8gdGhlIGhlYWQgb2YgdGhlIGxpc3QuCiAgICAgICAgIHZvaWQgcmVtb3ZlRnJvbUxS
VUxpc3QoSGlzdG9yeUl0ZW0qKTsKIAotICAgICAgICB2b2lkIHBydW5lKCk7CisgICAgICAgIHZv
aWQgcHJ1bmUoUHJ1bmluZ1JlYXNvbik7CiAKICAgICAgICAgaW50IG1fY2FwYWNpdHk7CiAgICAg
ICAgIGludCBtX3NpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAz
MGFjMjBmZjU0YWU3YzI5NjkxMDA1ZjlhOTdmMGFjZjFkOTJjODQ3Li5iNzU0NWVmMmM0Y2EwOWEy
MjlhYjdmYjNiNzIzNGM4M2YwMGZiNDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKQEAgLTE3NjYsMTEgKzE3NjYsMTEgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29tbWl0UHJv
dmlzaW9uYWxMb2FkKCkKICAgICAgICAgICAgIExPRyhNZW1vcnlQcmVzc3VyZSwgIlBydW5pbmcg
cGFnZSBjYWNoZSBiZWNhdXNlIHVuZGVyIG1lbW9yeSBwcmVzc3VyZSBhdDogJXMiLCBfX1BSRVRU
WV9GVU5DVElPTl9fKTsKICAgICAgICAgICAgIExPRyhQYWdlQ2FjaGUsICJQcnVuaW5nIHBhZ2Ug
Y2FjaGUgdG8gMCBkdWUgdG8gbWVtb3J5IHByZXNzdXJlIik7CiAgICAgICAgICAgICAvLyBEb24n
dCBjYWNoZSBhbnkgcGFnZSBpZiB3ZSBhcmUgdW5kZXIgbWVtb3J5IHByZXNzdXJlLgotICAgICAg
ICAgICAgcGFnZUNhY2hlKCktPnBydW5lVG9DYXBhY2l0eU5vdygwKTsKKyAgICAgICAgICAgIHBh
Z2VDYWNoZSgpLT5wcnVuZVRvQ2FwYWNpdHlOb3coMCwgUHJ1bmluZ1JlYXNvbjo6TWVtb3J5UHJl
c3N1cmUpOwogICAgICAgICB9IGVsc2UgaWYgKHN5c3RlbU1lbW9yeUxldmVsKCkgPD0gbWVtb3J5
TGV2ZWxUaHJlc2hvbGRUb1BydW5lUGFnZUNhY2hlKSB7CiAgICAgICAgICAgICBMT0coTWVtb3J5
UHJlc3N1cmUsICJQcnVuaW5nIHBhZ2UgY2FjaGUgYmVjYXVzZSBzeXN0ZW0gbWVtb3J5IGxldmVs
IGlzICVkIGF0OiAlcyIsIHN5c3RlbU1lbW9yeUxldmVsKCksIF9fUFJFVFRZX0ZVTkNUSU9OX18p
OwogICAgICAgICAgICAgTE9HKFBhZ2VDYWNoZSwgIlBydW5pbmcgcGFnZSBjYWNoZSB0byAlZCBk
dWUgdG8gbG93IG1lbW9yeSAobGV2ZWwgJWQgbGVzcyBvciBlcXVhbCB0byAlZCB0aHJlc2hvbGQp
IiwgcGFnZUNhY2hlKCktPmNhcGFjaXR5KCkgLyAyLCBzeXN0ZW1NZW1vcnlMZXZlbCgpLCBtZW1v
cnlMZXZlbFRocmVzaG9sZFRvUHJ1bmVQYWdlQ2FjaGUpOwotICAgICAgICAgICAgcGFnZUNhY2hl
KCktPnBydW5lVG9DYXBhY2l0eU5vdyhwYWdlQ2FjaGUoKS0+Y2FwYWNpdHkoKSAvIDIpOworICAg
ICAgICAgICAgcGFnZUNhY2hlKCktPnBydW5lVG9DYXBhY2l0eU5vdyhwYWdlQ2FjaGUoKS0+Y2Fw
YWNpdHkoKSAvIDIsIFBydW5pbmdSZWFzb246Ok1lbW9yeVByZXNzdXJlKTsKICAgICAgICAgfQog
ICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmVhdHVy
ZUNvdW50ZXJLZXlzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GZWF0dXJlQ291bnRlcktl
eXMuaAppbmRleCAzZWRmNTMyOWE4ZWI1ZGE3MDcwZGVhOWY1ZWI4YWJjNjk0YTQ2YjE0Li4xZDg3
MjY0NmFjMjA0NjQxOTU5OGY0YTNkNzlkNTRiNzkzYTgzYmZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9GZWF0dXJlQ291bnRlcktleXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9GZWF0dXJlQ291bnRlcktleXMuaApAQCAtNTksNyArNTksOSBAQCBzdGF0aWMg
Y29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZUZhaWx1cmVSZWxvYWRLZXlbXSA9ICJj
b20uYXBwbGUuV2ViS2l0Lgogc3RhdGljIGNvbnN0IGNoYXIgRmVhdHVyZUNvdW50ZXJQYWdlQ2Fj
aGVGYWlsdXJlUmVsb2FkRnJvbU9yaWdpbktleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNh
Y2hlLmZhaWx1cmUucmVsb2FkRnJvbU9yaWdpbiI7CiBzdGF0aWMgY29uc3QgY2hhciBGZWF0dXJl
Q291bnRlclBhZ2VDYWNoZUZhaWx1cmVTYW1lTG9hZEtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQu
cGFnZUNhY2hlLmZhaWx1cmUuc2FtZUxvYWQiOwogc3RhdGljIGNvbnN0IGNoYXIgRmVhdHVyZUNv
dW50ZXJQYWdlQ2FjaGVGYWlsdXJlRXhwaXJlZEtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFn
ZUNhY2hlLmZhaWx1cmUuZXhwaXJlZCI7Ci1zdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRl
clBhZ2VDYWNoZUZhaWx1cmVXYXNQcnVuZWRLZXlbXSA9ICJjb20uYXBwbGUuV2ViS2l0LnBhZ2VD
YWNoZS5mYWlsdXJlLndhc1BydW5lZCI7CitzdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRl
clBhZ2VDYWNoZUZhaWx1cmVQcnVuZWRNZW1vcnlQcmVzc3VyZUtleVtdID0gImNvbS5hcHBsZS5X
ZWJLaXQucGFnZUNhY2hlLmZhaWx1cmUucHJ1bmVkLm1lbW9yeVByZXNzdXJlIjsKK3N0YXRpYyBj
b25zdCBjaGFyIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZVBydW5lZENhcGFjaXR5UmVh
Y2hlZEtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hlLmZhaWx1cmUucHJ1bmVkLmNh
cGFjaXR5UmVhY2hlZCI7CitzdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNo
ZUZhaWx1cmVQcnVuZWRQcm9jZXNzZWRTdXNwZW5kZWRLZXlbXSA9ICJjb20uYXBwbGUuV2ViS2l0
LnBhZ2VDYWNoZS5mYWlsdXJlLnBydW5lZC5wcm9jZXNzU3VzcGVuZGVkIjsKIHN0YXRpYyBjb25z
dCBjaGFyIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZUtleVtdID0gImNvbS5hcHBsZS5X
ZWJLaXQucGFnZUNhY2hlLmZhaWx1cmUiOwogc3RhdGljIGNvbnN0IGNoYXIgRmVhdHVyZUNvdW50
ZXJQYWdlQ2FjaGVTdWNjZXNzS2V5W10gPSAiY29tLmFwcGxlLldlYktpdC5wYWdlQ2FjaGUuc3Vj
Y2VzcyI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNz
dXJlSGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhh
bmRsZXIuY3BwCmluZGV4IDE4MTJkZWMxYzlhNGVmMWIyYjBmOTEwOTkxNzNkNDZkNDRhMmM0NDMu
LjY4OTI4M2VlMDI3NDcyMWY0ZWE3MjNiYjU2OTM3ZWRhOGJjNWZjNTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApAQCAtMTAxLDkg
KzEwMSw5IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZWxlYXNlQ3JpdGljYWxNZW1v
cnkoKQogewogICAgIHsKICAgICAgICAgUmVsaWVmTG9nZ2VyIGxvZygiRW1wdHkgdGhlIFBhZ2VD
YWNoZSIpOwotICAgICAgICBpbnQgc2F2ZWRQYWdlQ2FjaGVDYXBhY2l0eSA9IHBhZ2VDYWNoZSgp
LT5jYXBhY2l0eSgpOwotICAgICAgICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkoMCk7Ci0gICAg
ICAgIHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eShzYXZlZFBhZ2VDYWNoZUNhcGFjaXR5KTsKKyAg
ICAgICAgLy8gUmlnaHQgbm93LCB0aGUgb25seSByZWFzb24gd2UgY2FsbCByZWxlYXNlIGNyaXRp
Y2FsIG1lbW9yeSB3aGlsZSBub3QgdW5kZXIgbWVtb3J5IHByZXNzdXJlIGlzIGlmIHRoZSBwcm9j
ZXNzIGlzIGFib3V0IHRvIGJlIHN1c3BlbmRlZC4KKyAgICAgICAgUHJ1bmluZ1JlYXNvbiBwcnVu
aW5nUmVhc29uID0gbWVtb3J5UHJlc3N1cmVIYW5kbGVyKCkuaXNVbmRlck1lbW9yeVByZXNzdXJl
KCkgPyBQcnVuaW5nUmVhc29uOjpNZW1vcnlQcmVzc3VyZSA6IFBydW5pbmdSZWFzb246OlByb2Nl
c3NTdXNwZW5kZWQ7CisgICAgICAgIHBhZ2VDYWNoZSgpLT5wcnVuZVRvQ2FwYWNpdHlOb3coMCwg
cHJ1bmluZ1JlYXNvbik7CiAgICAgfQogCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAKaW5kZXggODk4NmE1MjQ3ZDU0ODEwYWVlMWM0MmU1ZDk5ZjQ2MjkzMWQy
M2U3MS4uMWI0NzZmYWYyNjAyMmI1ZmFlN2ZjZDU1Yzk0MTdlZWJiOTY0MGY1NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xMTI4LDkgKzExMjgsNyBAQCB2
b2lkIFdlYlByb2Nlc3M6OnNldFRleHRDaGVja2VyU3RhdGUoY29uc3QgVGV4dENoZWNrZXJTdGF0
ZSYgdGV4dENoZWNrZXJTdGF0ZSkKIAogdm9pZCBXZWJQcm9jZXNzOjpyZWxlYXNlUGFnZUNhY2hl
KCkKIHsKLSAgICBpbnQgc2F2ZWRQYWdlQ2FjaGVDYXBhY2l0eSA9IHBhZ2VDYWNoZSgpLT5jYXBh
Y2l0eSgpOwotICAgIHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eSgwKTsKLSAgICBwYWdlQ2FjaGUo
KS0+c2V0Q2FwYWNpdHkoc2F2ZWRQYWdlQ2FjaGVDYXBhY2l0eSk7CisgICAgcGFnZUNhY2hlKCkt
PnBydW5lVG9DYXBhY2l0eU5vdygwLCBQcnVuaW5nUmVhc29uOjpNZW1vcnlQcmVzc3VyZSk7CiB9
CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243749</attachid>
            <date>2014-12-25 12:29:41 -0800</date>
            <delta_ts>2014-12-25 13:09:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139921-20141225122942.patch</filename>
            <type>text/plain</type>
            <size>16096</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTQ0MWU1M2I3ZTAxNWU2
MDI5YmI5MDc3MmQwNDI3NGJhMTdhODYyNC4uN2NjZDRlZmFkZjBhZjAyNWRlOTVhNzRjZmM4NTg0
Mzk2NjNmOTdmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTEyLTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTG9nIGJldHRlciB1
c2luZyBGZWF0dXJlQ291bnRlciB3aHkgUGFnZUNhY2hlIGlzIGZhaWxpbmcgZHVlIHRvIHBydW5l
ZCByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzOTkyMQorCisgICAgICAgIFJldmlld2VkIGJ5IEdhdmluIEJhcnJhY2xvdWdoIGFuZCBB
bGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgIExvZyBiZXR0ZXIgdXNpbmcgRmVhdHVyZUNv
dW50ZXIgd2h5IFBhZ2VDYWNoZSBpcyBmYWlsaW5nIGR1ZSB0byBwcnVuZWQKKyAgICAgICAgcmVz
b3VyY2VzLiBJbiBwYXJ0aWN1bGFyLCB3ZSBub3cgZGlzdGluZ3Vpc2ggaWYgdGhlIHJlc291cmNl
IHdhcyBwcnVuZWQKKyAgICAgICAgZHVlIHRvOgorICAgICAgICAtIE1lbW9yeSBwcmVzc3VyZQor
ICAgICAgICAtIFBhZ2UgY2FjaGUgY2FwYWNpdHkgcmVhY2hlZAorICAgICAgICAtIFdlYlByb2Nl
c3Mgc3VzcGVuZGVkIChXSzIpCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAg
KiBoaXN0b3J5L0hpc3RvcnlJdGVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlJdGVt
OjpIaXN0b3J5SXRlbSk6CisgICAgICAgICogaGlzdG9yeS9IaXN0b3J5SXRlbS5oOgorICAgICAg
ICAqIGhpc3RvcnkvUGFnZUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6
cHJ1bmVUb0NhcGFjaXR5Tm93KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6c2V0Q2Fw
YWNpdHkpOgorICAgICAgICAoV2ViQ29yZTo6cHJ1bmluZ1JlYXNvblRvRmVhdHVyZUNvdW50ZXJL
ZXkpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjphZGQpOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZUNhY2hlOjp0YWtlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6Z2V0KToK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6cHJ1bmUpOgorICAgICAgICAqIGhpc3Rvcnkv
UGFnZUNhY2hlLmg6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb21taXRQcm92aXNpb25hbExvYWQpOgorICAgICAgICAq
IHBsYXRmb3JtL0ZlYXR1cmVDb3VudGVyS2V5cy5oOgorICAgICAgICAqIHBsYXRmb3JtL01lbW9y
eVByZXNzdXJlSGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlQcmVzc3VyZUhh
bmRsZXI6OnJlbGVhc2VDcml0aWNhbE1lbW9yeSk6CisKIDIwMTQtMTItMjUgIEd5dXlvdW5nIEtp
bSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVc2Ugc3RkOjp1bmlxdWVf
cHRyPD4gaW4gV2ViQ29yZS9kb20sIHBsdWdpbiwgYW5kIGdyYXBoaWNzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
ZWEyZGE4YjA4N2ZmZTJiYjZmZjRkMWUwMTdjMjMxMzk2NWMyZmM0Yy4uM2IzMjljYmYxMWMzMDBl
MTU1MmFkOTg3Mjg4ZjE3OWFlOTRlZTE2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDE0LTEyLTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lP
U10gTG9nIGJldHRlciB1c2luZyBGZWF0dXJlQ291bnRlciB3aHkgUGFnZUNhY2hlIGlzIGZhaWxp
bmcgZHVlIHRvIHBydW5lZCByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzOTkyMQorCisgICAgICAgIFJldmlld2VkIGJ5IEdhdmluIEJh
cnJhY2xvdWdoIGFuZCBBbGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgIENhbGwgUGFnZUNh
Y2hlOjpwcnVuZVRvQ2FwYWNpdHlOb3coKSBpbnN0ZWFkIG9mIG11bHRpcGxlIGNhbGxzIHRvCisg
ICAgICAgIHNldENhcGFjaXR5KCkgYXMgaXQgZG9lcyBleGFjdGx5IHdoYXQgd2Ugd2FudC4gQWxz
byBwYXNzIHRoZSBuZXcKKyAgICAgICAgUHJ1bmVkUmVhc29uIGFyZ3VtZW50IHNvIGhlbHAgdXMg
ZG8gYmV0dGVyIGxvZ2dpbmcuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpyZWxlYXNlUGFnZUNhY2hlKToKKwogMjAx
NC0xMi0yNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE3NzcxMiBhbmQgcjE3NzcxNy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KaW5kZXggNzk5MDNmYjE2MDIyNjc3ZDQ0MTM3YmRiYTE3NWM3YmVkMTVjMmY4Zi4u
YzUyOWU3MWQxMTdmNDcyODY2YTg2MjU3NDQ0MDA0NmY4ZDEwMGVhMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KQEAgLTE1NTksNiArMTU1OSw3IEBAIF9fWk43V2ViQ29yZTlKU0VsZW1lbnQ5dG9XcmFw
cGVkRU4zSlNDN0pTVmFsdWVFCiBfX1pON1dlYkNvcmU5TGF5ZXJQb29sQzFFdgogX19aTjdXZWJD
b3JlOUxheWVyUG9vbEQxRXYKIF9fWk43V2ViQ29yZTlQYWdlQ2FjaGUxMXNldENhcGFjaXR5RWkK
K19fWk43V2ViQ29yZTlQYWdlQ2FjaGUxOHBydW5lVG9DYXBhY2l0eU5vd0VpTlNfMTNQcnVuaW5n
UmVhc29uRQogX19aTjdXZWJDb3JlOVBhZ2VDYWNoZTMzbWFya1BhZ2VzRm9yVmlzdGVkTGlua1N0
eWxlUmVjYWxjRXYKIF9fWk43V2ViQ29yZTlQYWdlQ2FjaGU2cmVtb3ZlRVBOU18xMUhpc3RvcnlJ
dGVtRQogX19aTjdXZWJDb3JlOVBhZ2VHcm91cDE2c3luY0xvY2FsU3RvcmFnZUV2CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwCmluZGV4IDgyZTAzYjM2ZDVkZGNlMDc1NTEwZjdi
ZDc4NGRhODI1YzRkOWMwOGYuLmY1NWZhMzQ5NmU3NmNkYmNjZjgzY2NhZjNiZWI2N2M1OTg3NzE2
ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwCkBAIC02MSw5ICs2MSw5
IEBAIEhpc3RvcnlJdGVtOjpIaXN0b3J5SXRlbSgpCiAgICAgLCBtX2lzVGFyZ2V0SXRlbShmYWxz
ZSkKICAgICAsIG1faXRlbVNlcXVlbmNlTnVtYmVyKGdlbmVyYXRlU2VxdWVuY2VOdW1iZXIoKSkK
ICAgICAsIG1fZG9jdW1lbnRTZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkp
Ci0gICAgLCBtX25leHQoMCkKLSAgICAsIG1fcHJldigwKQotICAgICwgbV93YXNQcnVuZWQoZmFs
c2UpCisgICAgLCBtX25leHQobnVsbHB0cikKKyAgICAsIG1fcHJldihudWxscHRyKQorICAgICwg
bV9wcnVuaW5nUmVhc29uKFBydW5pbmdSZWFzb246Ok5vbmUpCiAjaWYgUExBVEZPUk0oSU9TKQog
ICAgICwgbV9zY2FsZSgwKQogICAgICwgbV9zY2FsZUlzSW5pdGlhbChmYWxzZSkKQEAgLTgxLDkg
KzgxLDkgQEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5n
LCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgICwgbV9pc1RhcmdldEl0ZW0oZmFsc2UpCiAgICAg
LCBtX2l0ZW1TZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkpCiAgICAgLCBt
X2RvY3VtZW50U2VxdWVuY2VOdW1iZXIoZ2VuZXJhdGVTZXF1ZW5jZU51bWJlcigpKQotICAgICwg
bV9uZXh0KDApCi0gICAgLCBtX3ByZXYoMCkKLSAgICAsIG1fd2FzUHJ1bmVkKGZhbHNlKQorICAg
ICwgbV9uZXh0KG51bGxwdHIpCisgICAgLCBtX3ByZXYobnVsbHB0cikKKyAgICAsIG1fcHJ1bmlu
Z1JlYXNvbihQcnVuaW5nUmVhc29uOjpOb25lKQogI2lmIFBMQVRGT1JNKElPUykKICAgICAsIG1f
c2NhbGUoMCkKICAgICAsIG1fc2NhbGVJc0luaXRpYWwoZmFsc2UpCkBAIC0xMDMsOSArMTAzLDkg
QEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25z
dCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHIKICAgICAsIG1faXNUYXJnZXRJdGVtKGZhbHNlKQog
ICAgICwgbV9pdGVtU2VxdWVuY2VOdW1iZXIoZ2VuZXJhdGVTZXF1ZW5jZU51bWJlcigpKQogICAg
ICwgbV9kb2N1bWVudFNlcXVlbmNlTnVtYmVyKGdlbmVyYXRlU2VxdWVuY2VOdW1iZXIoKSkKLSAg
ICAsIG1fbmV4dCgwKQotICAgICwgbV9wcmV2KDApCi0gICAgLCBtX3dhc1BydW5lZChmYWxzZSkK
KyAgICAsIG1fbmV4dChudWxscHRyKQorICAgICwgbV9wcmV2KG51bGxwdHIpCisgICAgLCBtX3By
dW5pbmdSZWFzb24oUHJ1bmluZ1JlYXNvbjo6Tm9uZSkKICNpZiBQTEFURk9STShJT1MpCiAgICAg
LCBtX3NjYWxlKDApCiAgICAgLCBtX3NjYWxlSXNJbml0aWFsKGZhbHNlKQpAQCAtMTI2LDkgKzEy
Niw5IEBAIEhpc3RvcnlJdGVtOjpIaXN0b3J5SXRlbShjb25zdCBVUkwmIHVybCwgY29uc3QgU3Ry
aW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgcGFyCiAgICAgLCBtX2lzVGFyZ2V0SXRlbShmYWxz
ZSkKICAgICAsIG1faXRlbVNlcXVlbmNlTnVtYmVyKGdlbmVyYXRlU2VxdWVuY2VOdW1iZXIoKSkK
ICAgICAsIG1fZG9jdW1lbnRTZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkp
Ci0gICAgLCBtX25leHQoMCkKLSAgICAsIG1fcHJldigwKQotICAgICwgbV93YXNQcnVuZWQoZmFs
c2UpCisgICAgLCBtX25leHQobnVsbHB0cikKKyAgICAsIG1fcHJldihudWxscHRyKQorICAgICwg
bV9wcnVuaW5nUmVhc29uKFBydW5pbmdSZWFzb246Ok5vbmUpCiAjaWYgUExBVEZPUk0oSU9TKQog
ICAgICwgbV9zY2FsZSgwKQogICAgICwgbV9zY2FsZUlzSW5pdGlhbChmYWxzZSkKQEAgLTE2MCw2
ICsxNjAsOSBAQCBpbmxpbmUgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IEhpc3RvcnlJ
dGVtJiBpdGVtKQogICAgICwgbV9pdGVtU2VxdWVuY2VOdW1iZXIoaXRlbS5tX2l0ZW1TZXF1ZW5j
ZU51bWJlcikKICAgICAsIG1fZG9jdW1lbnRTZXF1ZW5jZU51bWJlcihpdGVtLm1fZG9jdW1lbnRT
ZXF1ZW5jZU51bWJlcikKICAgICAsIG1fZm9ybUNvbnRlbnRUeXBlKGl0ZW0ubV9mb3JtQ29udGVu
dFR5cGUpCisgICAgLCBtX25leHQobnVsbHB0cikKKyAgICAsIG1fcHJldihudWxscHRyKQorICAg
ICwgbV9wcnVuaW5nUmVhc29uKFBydW5pbmdSZWFzb246Ok5vbmUpCiAjaWYgUExBVEZPUk0oSU9T
KQogICAgICwgbV9zY2FsZShpdGVtLm1fc2NhbGUpCiAgICAgLCBtX3NjYWxlSXNJbml0aWFsKGl0
ZW0ubV9zY2FsZUlzSW5pdGlhbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
SGlzdG9yeUl0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uaAppbmRl
eCA2ZjhlN2EzY2YwZmMxYjY0NDdmOTEzNTNjNjY1ZjNkM2IxZTVhYmE2Li4zODAwMTkxYTNiODIw
ODVmMGI5NjhkMjU1OTRkN2IzODUwZWI0ZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
aXN0b3J5L0hpc3RvcnlJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5
SXRlbS5oCkBAIC01Myw2ICs1Myw3IEBAIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgSW1hZ2U7
CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBVUkw7CitlbnVtIGNsYXNzIFBydW5pbmdS
ZWFzb247CiAKIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxIaXN0b3J5SXRlbT4+IEhpc3RvcnlJdGVt
VmVjdG9yOwogCkBAIC0yNTgsNyArMjU5LDcgQEAgcHJpdmF0ZToKICAgICBIaXN0b3J5SXRlbSog
bV9uZXh0OwogICAgIEhpc3RvcnlJdGVtKiBtX3ByZXY7CiAgICAgc3RkOjp1bmlxdWVfcHRyPENh
Y2hlZFBhZ2U+IG1fY2FjaGVkUGFnZTsKLSAgICBib29sIG1fd2FzUHJ1bmVkOworICAgIFBydW5p
bmdSZWFzb24gbV9wcnVuaW5nUmVhc29uOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIEZsb2F0
UmVjdCBtX2V4cG9zZWRDb250ZW50UmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNw
cAppbmRleCA0MDY5NTcxYjE0YTU5ODdhMWY0OWM2NDYxZDJiZWQ2YTA1MjI5M2M5Li42MzM5MGFm
YTQ0NGRmNTFkNDQyOGMyNzc0NzQwZWJlMjAzMjNhZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9Q
YWdlQ2FjaGUuY3BwCkBAIC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyUmVw
b3NpdG9yeS5oIgogI2luY2x1ZGUgIlN1YmZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1
cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0
ZS5oPgogCkBAIC0zNzAsMTEgKzM3MSwxMCBAQCBib29sIFBhZ2VDYWNoZTo6Y2FuQ2FjaGUoUGFn
ZSogcGFnZSkgY29uc3QKICAgICAgICAgICAgIHx8IGxvYWRUeXBlID09IEZyYW1lTG9hZFR5cGU6
OkluZGV4ZWRCYWNrRm9yd2FyZCk7CiB9CiAKLXZvaWQgUGFnZUNhY2hlOjpwcnVuZVRvQ2FwYWNp
dHlOb3coaW50IGNhcGFjaXR5KQordm9pZCBQYWdlQ2FjaGU6OnBydW5lVG9DYXBhY2l0eU5vdyhp
bnQgY2FwYWNpdHksIFBydW5pbmdSZWFzb24gcHJ1bmluZ1JlYXNvbikKIHsKLSAgICBpbnQgc2F2
ZWRDYXBhY2l0eSA9IG1fY2FwYWNpdHk7Ci0gICAgc2V0Q2FwYWNpdHkoY2FwYWNpdHkpOwotICAg
IHNldENhcGFjaXR5KHNhdmVkQ2FwYWNpdHkpOworICAgIFRlbXBvcmFyeUNoYW5nZTxpbnQ+KG1f
Y2FwYWNpdHksIHN0ZDo6bWF4KGNhcGFjaXR5LCAwKSk7CisgICAgcHJ1bmUocHJ1bmluZ1JlYXNv
bik7CiB9CiAKIHZvaWQgUGFnZUNhY2hlOjpzZXRDYXBhY2l0eShpbnQgY2FwYWNpdHkpCkBAIC0z
ODIsNyArMzgyLDcgQEAgdm9pZCBQYWdlQ2FjaGU6OnNldENhcGFjaXR5KGludCBjYXBhY2l0eSkK
ICAgICBBU1NFUlQoY2FwYWNpdHkgPj0gMCk7CiAgICAgbV9jYXBhY2l0eSA9IHN0ZDo6bWF4KGNh
cGFjaXR5LCAwKTsKIAotICAgIHBydW5lKCk7CisgICAgcHJ1bmUoUHJ1bmluZ1JlYXNvbjo6Tm9u
ZSk7CiB9CiAKIGludCBQYWdlQ2FjaGU6OmZyYW1lQ291bnQoKSBjb25zdApAQCAtNDMzLDYgKzQz
MywyMyBAQCB2b2lkIFBhZ2VDYWNoZTo6bWFya1BhZ2VzRm9yQ2FwdGlvblByZWZlcmVuY2VzQ2hh
bmdlZCgpCiB9CiAjZW5kaWYKIAorc3RhdGljIGNvbnN0IGNoYXIqIHBydW5pbmdSZWFzb25Ub0Zl
YXR1cmVDb3VudGVyS2V5KFBydW5pbmdSZWFzb24gcHJ1bmluZ1JlYXNvbikKK3sKKyAgICBzd2l0
Y2ggKHBydW5pbmdSZWFzb24pIHsKKyAgICBjYXNlIFBydW5pbmdSZWFzb246Ok1lbW9yeVByZXNz
dXJlOgorICAgICAgICByZXR1cm4gRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJlUHJ1bmVk
TWVtb3J5UHJlc3N1cmVLZXk7CisgICAgY2FzZSBQcnVuaW5nUmVhc29uOjpQcm9jZXNzU3VzcGVu
ZGVkOgorICAgICAgICByZXR1cm4gRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJlUHJ1bmVk
UHJvY2Vzc2VkU3VzcGVuZGVkS2V5OworICAgIGNhc2UgUHJ1bmluZ1JlYXNvbjo6UmVhY2hlZENh
cGFjaXR5OgorICAgICAgICByZXR1cm4gRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJlUHJ1
bmVkQ2FwYWNpdHlSZWFjaGVkS2V5OworICAgIGNhc2UgUHJ1bmluZ1JlYXNvbjo6Tm9uZToKKyAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAg
IH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwog
dm9pZCBQYWdlQ2FjaGU6OmFkZChQYXNzUmVmUHRyPEhpc3RvcnlJdGVtPiBwcnBJdGVtLCBQYWdl
JiBwYWdlKQogewogICAgIEFTU0VSVChwcnBJdGVtKTsKQEAgLTQ0NSwxMSArNDYyLDExIEBAIHZv
aWQgUGFnZUNhY2hlOjphZGQoUGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4gcHJwSXRlbSwgUGFnZSYg
cGFnZSkKICAgICAgICAgcmVtb3ZlKGl0ZW0pOwogCiAgICAgaXRlbS0+bV9jYWNoZWRQYWdlID0g
c3RkOjptYWtlX3VuaXF1ZTxDYWNoZWRQYWdlPihwYWdlKTsKLSAgICBpdGVtLT5tX3dhc1BydW5l
ZCA9IGZhbHNlOworICAgIGl0ZW0tPm1fcHJ1bmluZ1JlYXNvbiA9IFBydW5pbmdSZWFzb246Ok5v
bmU7CiAgICAgYWRkVG9MUlVMaXN0KGl0ZW0pOwogICAgICsrbV9zaXplOwogICAgIAotICAgIHBy
dW5lKCk7CisgICAgcHJ1bmUoUHJ1bmluZ1JlYXNvbjo6UmVhY2hlZENhcGFjaXR5KTsKIH0KIAog
c3RkOjp1bmlxdWVfcHRyPENhY2hlZFBhZ2U+IFBhZ2VDYWNoZTo6dGFrZShIaXN0b3J5SXRlbSog
aXRlbSwgUGFnZSogcGFnZSkKQEAgLTQ2NSw4ICs0ODIsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q2Fj
aGVkUGFnZT4gUGFnZUNhY2hlOjp0YWtlKEhpc3RvcnlJdGVtKiBpdGVtLCBQYWdlKiBwYWdlKQog
ICAgIGl0ZW0tPmRlcmVmKCk7IC8vIEJhbGFuY2VkIGluIGFkZCgpLgogCiAgICAgaWYgKCFjYWNo
ZWRQYWdlKSB7Ci0gICAgICAgIGlmIChpdGVtLT5tX3dhc1BydW5lZCkKLSAgICAgICAgICAgIEZF
QVRVUkVfQ09VTlRFUl9JTkNSRU1FTlRfS0VZKHBhZ2UsIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hl
RmFpbHVyZVdhc1BydW5lZEtleSk7CisgICAgICAgIGlmIChpdGVtLT5tX3BydW5pbmdSZWFzb24g
IT0gUHJ1bmluZ1JlYXNvbjo6Tm9uZSkKKyAgICAgICAgICAgIEZFQVRVUkVfQ09VTlRFUl9JTkNS
RU1FTlRfS0VZKHBhZ2UsIHBydW5pbmdSZWFzb25Ub0ZlYXR1cmVDb3VudGVyS2V5KGl0ZW0tPm1f
cHJ1bmluZ1JlYXNvbikpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKQEAgLTQ5
MSw4ICs1MDgsOCBAQCBDYWNoZWRQYWdlKiBQYWdlQ2FjaGU6OmdldChIaXN0b3J5SXRlbSogaXRl
bSwgUGFnZSogcGFnZSkKICAgICAgICAgTE9HKFBhZ2VDYWNoZSwgIk5vdCByZXN0b3JpbmcgcGFn
ZSBmb3IgJXMgZnJvbSBiYWNrL2ZvcndhcmQgY2FjaGUgYmVjYXVzZSBjYWNoZSBlbnRyeSBoYXMg
ZXhwaXJlZCIsIGl0ZW0tPnVybCgpLnN0cmluZygpLmFzY2lpKCkuZGF0YSgpKTsKICAgICAgICAg
RkVBVFVSRV9DT1VOVEVSX0lOQ1JFTUVOVF9LRVkocGFnZSwgRmVhdHVyZUNvdW50ZXJQYWdlQ2Fj
aGVGYWlsdXJlRXhwaXJlZEtleSk7CiAgICAgICAgIHBhZ2VDYWNoZSgpLT5yZW1vdmUoaXRlbSk7
Ci0gICAgfSBlbHNlIGlmIChpdGVtLT5tX3dhc1BydW5lZCkKLSAgICAgICAgRkVBVFVSRV9DT1VO
VEVSX0lOQ1JFTUVOVF9LRVkocGFnZSwgRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVGYWlsdXJlV2Fz
UHJ1bmVkS2V5KTsKKyAgICB9IGVsc2UgaWYgKGl0ZW0tPm1fcHJ1bmluZ1JlYXNvbiAhPSBQcnVu
aW5nUmVhc29uOjpOb25lKQorICAgICAgICBGRUFUVVJFX0NPVU5URVJfSU5DUkVNRU5UX0tFWShw
YWdlLCBwcnVuaW5nUmVhc29uVG9GZWF0dXJlQ291bnRlcktleShpdGVtLT5tX3BydW5pbmdSZWFz
b24pKTsKIAogICAgIHJldHVybiBudWxscHRyOwogfQpAQCAtNTEwLDExICs1MjcsMTEgQEAgdm9p
ZCBQYWdlQ2FjaGU6OnJlbW92ZShIaXN0b3J5SXRlbSogaXRlbSkKICAgICBpdGVtLT5kZXJlZigp
OyAvLyBCYWxhbmNlZCBpbiBhZGQoKS4KIH0KIAotdm9pZCBQYWdlQ2FjaGU6OnBydW5lKCkKK3Zv
aWQgUGFnZUNhY2hlOjpwcnVuZShQcnVuaW5nUmVhc29uIHBydW5pbmdSZWFzb24pCiB7CiAgICAg
d2hpbGUgKG1fc2l6ZSA+IG1fY2FwYWNpdHkpIHsKICAgICAgICAgQVNTRVJUKG1fdGFpbCAmJiBt
X3RhaWwtPm1fY2FjaGVkUGFnZSk7Ci0gICAgICAgIG1fdGFpbC0+bV93YXNQcnVuZWQgPSB0cnVl
OworICAgICAgICBtX3RhaWwtPm1fcHJ1bmluZ1JlYXNvbiA9IHBydW5pbmdSZWFzb247CiAgICAg
ICAgIHJlbW92ZShtX3RhaWwpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvUGFnZUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5o
CmluZGV4IGM5NmY0N2FkYzJjZDIzYTE4NzJlNWRjYjY1M2FkNDhlYjdiNjk0YWYuLmYwZDA5NWUz
ZjExMmFkMGIzYzdkNWZiMWY1MmFhNGJhZDFjMTE5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdl
Q2FjaGUuaApAQCAtMzcsNiArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
RnJhbWU7CiAgICAgY2xhc3MgSGlzdG9yeUl0ZW07CiAgICAgY2xhc3MgUGFnZTsKKworICAgIGVu
dW0gY2xhc3MgUHJ1bmluZ1JlYXNvbiB7IE5vbmUsIFByb2Nlc3NTdXNwZW5kZWQsIE1lbW9yeVBy
ZXNzdXJlLCBSZWFjaGVkQ2FwYWNpdHkgfTsKICAgICAKICAgICBjbGFzcyBQYWdlQ2FjaGUgewog
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKQEAgLTYyLDcgKzY0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
b2lkIG1hcmtQYWdlc0ZvckZ1bGxTdHlsZVJlY2FsYyhQYWdlKik7CiAKICAgICAgICAgLy8gVXNl
ZCB3aGVuIG1lbW9yeSBpcyBsb3cgdG8gcHJ1bmUgc29tZSBjYWNoZWQgcGFnZXMuCi0gICAgICAg
IHZvaWQgcHJ1bmVUb0NhcGFjaXR5Tm93KGludCBjYXBhY2l0eSk7CisgICAgICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgcHJ1bmVUb0NhcGFjaXR5Tm93KGludCBjYXBhY2l0eSwgUHJ1bmluZ1JlYXNv
bik7CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgICAgIHZvaWQgbWFya1BhZ2VzRm9y
Q2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpOwpAQCAtODEsNyArODMsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZvaWQgYWRkVG9MUlVMaXN0KEhpc3RvcnlJdGVtKik7IC8vIEFk
ZHMgdG8gdGhlIGhlYWQgb2YgdGhlIGxpc3QuCiAgICAgICAgIHZvaWQgcmVtb3ZlRnJvbUxSVUxp
c3QoSGlzdG9yeUl0ZW0qKTsKIAotICAgICAgICB2b2lkIHBydW5lKCk7CisgICAgICAgIHZvaWQg
cHJ1bmUoUHJ1bmluZ1JlYXNvbik7CiAKICAgICAgICAgaW50IG1fY2FwYWNpdHk7CiAgICAgICAg
IGludCBtX3NpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAzMGFj
MjBmZjU0YWU3YzI5NjkxMDA1ZjlhOTdmMGFjZjFkOTJjODQ3Li5iNzU0NWVmMmM0Y2EwOWEyMjlh
YjdmYjNiNzIzNGM4M2YwMGZiNDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKQEAgLTE3NjYsMTEgKzE3NjYsMTEgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29tbWl0UHJvdmlz
aW9uYWxMb2FkKCkKICAgICAgICAgICAgIExPRyhNZW1vcnlQcmVzc3VyZSwgIlBydW5pbmcgcGFn
ZSBjYWNoZSBiZWNhdXNlIHVuZGVyIG1lbW9yeSBwcmVzc3VyZSBhdDogJXMiLCBfX1BSRVRUWV9G
VU5DVElPTl9fKTsKICAgICAgICAgICAgIExPRyhQYWdlQ2FjaGUsICJQcnVuaW5nIHBhZ2UgY2Fj
aGUgdG8gMCBkdWUgdG8gbWVtb3J5IHByZXNzdXJlIik7CiAgICAgICAgICAgICAvLyBEb24ndCBj
YWNoZSBhbnkgcGFnZSBpZiB3ZSBhcmUgdW5kZXIgbWVtb3J5IHByZXNzdXJlLgotICAgICAgICAg
ICAgcGFnZUNhY2hlKCktPnBydW5lVG9DYXBhY2l0eU5vdygwKTsKKyAgICAgICAgICAgIHBhZ2VD
YWNoZSgpLT5wcnVuZVRvQ2FwYWNpdHlOb3coMCwgUHJ1bmluZ1JlYXNvbjo6TWVtb3J5UHJlc3N1
cmUpOwogICAgICAgICB9IGVsc2UgaWYgKHN5c3RlbU1lbW9yeUxldmVsKCkgPD0gbWVtb3J5TGV2
ZWxUaHJlc2hvbGRUb1BydW5lUGFnZUNhY2hlKSB7CiAgICAgICAgICAgICBMT0coTWVtb3J5UHJl
c3N1cmUsICJQcnVuaW5nIHBhZ2UgY2FjaGUgYmVjYXVzZSBzeXN0ZW0gbWVtb3J5IGxldmVsIGlz
ICVkIGF0OiAlcyIsIHN5c3RlbU1lbW9yeUxldmVsKCksIF9fUFJFVFRZX0ZVTkNUSU9OX18pOwog
ICAgICAgICAgICAgTE9HKFBhZ2VDYWNoZSwgIlBydW5pbmcgcGFnZSBjYWNoZSB0byAlZCBkdWUg
dG8gbG93IG1lbW9yeSAobGV2ZWwgJWQgbGVzcyBvciBlcXVhbCB0byAlZCB0aHJlc2hvbGQpIiwg
cGFnZUNhY2hlKCktPmNhcGFjaXR5KCkgLyAyLCBzeXN0ZW1NZW1vcnlMZXZlbCgpLCBtZW1vcnlM
ZXZlbFRocmVzaG9sZFRvUHJ1bmVQYWdlQ2FjaGUpOwotICAgICAgICAgICAgcGFnZUNhY2hlKCkt
PnBydW5lVG9DYXBhY2l0eU5vdyhwYWdlQ2FjaGUoKS0+Y2FwYWNpdHkoKSAvIDIpOworICAgICAg
ICAgICAgcGFnZUNhY2hlKCktPnBydW5lVG9DYXBhY2l0eU5vdyhwYWdlQ2FjaGUoKS0+Y2FwYWNp
dHkoKSAvIDIsIFBydW5pbmdSZWFzb246Ok1lbW9yeVByZXNzdXJlKTsKICAgICAgICAgfQogICAg
IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmVhdHVyZUNv
dW50ZXJLZXlzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GZWF0dXJlQ291bnRlcktleXMu
aAppbmRleCAzZWRmNTMyOWE4ZWI1ZGE3MDcwZGVhOWY1ZWI4YWJjNjk0YTQ2YjE0Li4xZDg3MjY0
NmFjMjA0NjQxOTU5OGY0YTNkNzlkNTRiNzkzYTgzYmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9GZWF0dXJlQ291bnRlcktleXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GZWF0dXJlQ291bnRlcktleXMuaApAQCAtNTksNyArNTksOSBAQCBzdGF0aWMgY29u
c3QgY2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZUZhaWx1cmVSZWxvYWRLZXlbXSA9ICJjb20u
YXBwbGUuV2ViS2l0Lgogc3RhdGljIGNvbnN0IGNoYXIgRmVhdHVyZUNvdW50ZXJQYWdlQ2FjaGVG
YWlsdXJlUmVsb2FkRnJvbU9yaWdpbktleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hl
LmZhaWx1cmUucmVsb2FkRnJvbU9yaWdpbiI7CiBzdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291
bnRlclBhZ2VDYWNoZUZhaWx1cmVTYW1lTG9hZEtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFn
ZUNhY2hlLmZhaWx1cmUuc2FtZUxvYWQiOwogc3RhdGljIGNvbnN0IGNoYXIgRmVhdHVyZUNvdW50
ZXJQYWdlQ2FjaGVGYWlsdXJlRXhwaXJlZEtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNh
Y2hlLmZhaWx1cmUuZXhwaXJlZCI7Ci1zdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBh
Z2VDYWNoZUZhaWx1cmVXYXNQcnVuZWRLZXlbXSA9ICJjb20uYXBwbGUuV2ViS2l0LnBhZ2VDYWNo
ZS5mYWlsdXJlLndhc1BydW5lZCI7CitzdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBh
Z2VDYWNoZUZhaWx1cmVQcnVuZWRNZW1vcnlQcmVzc3VyZUtleVtdID0gImNvbS5hcHBsZS5XZWJL
aXQucGFnZUNhY2hlLmZhaWx1cmUucHJ1bmVkLm1lbW9yeVByZXNzdXJlIjsKK3N0YXRpYyBjb25z
dCBjaGFyIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZVBydW5lZENhcGFjaXR5UmVhY2hl
ZEtleVtdID0gImNvbS5hcHBsZS5XZWJLaXQucGFnZUNhY2hlLmZhaWx1cmUucHJ1bmVkLmNhcGFj
aXR5UmVhY2hlZCI7CitzdGF0aWMgY29uc3QgY2hhciBGZWF0dXJlQ291bnRlclBhZ2VDYWNoZUZh
aWx1cmVQcnVuZWRQcm9jZXNzZWRTdXNwZW5kZWRLZXlbXSA9ICJjb20uYXBwbGUuV2ViS2l0LnBh
Z2VDYWNoZS5mYWlsdXJlLnBydW5lZC5wcm9jZXNzU3VzcGVuZGVkIjsKIHN0YXRpYyBjb25zdCBj
aGFyIEZlYXR1cmVDb3VudGVyUGFnZUNhY2hlRmFpbHVyZUtleVtdID0gImNvbS5hcHBsZS5XZWJL
aXQucGFnZUNhY2hlLmZhaWx1cmUiOwogc3RhdGljIGNvbnN0IGNoYXIgRmVhdHVyZUNvdW50ZXJQ
YWdlQ2FjaGVTdWNjZXNzS2V5W10gPSAiY29tLmFwcGxlLldlYktpdC5wYWdlQ2FjaGUuc3VjY2Vz
cyI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJl
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRs
ZXIuY3BwCmluZGV4IDE4MTJkZWMxYzlhNGVmMWIyYjBmOTEwOTkxNzNkNDZkNDRhMmM0NDMuLjY4
OTI4M2VlMDI3NDcyMWY0ZWE3MjNiYjU2OTM3ZWRhOGJjNWZjNTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApAQCAtMTAxLDkgKzEw
MSw5IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZWxlYXNlQ3JpdGljYWxNZW1vcnko
KQogewogICAgIHsKICAgICAgICAgUmVsaWVmTG9nZ2VyIGxvZygiRW1wdHkgdGhlIFBhZ2VDYWNo
ZSIpOwotICAgICAgICBpbnQgc2F2ZWRQYWdlQ2FjaGVDYXBhY2l0eSA9IHBhZ2VDYWNoZSgpLT5j
YXBhY2l0eSgpOwotICAgICAgICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkoMCk7Ci0gICAgICAg
IHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eShzYXZlZFBhZ2VDYWNoZUNhcGFjaXR5KTsKKyAgICAg
ICAgLy8gUmlnaHQgbm93LCB0aGUgb25seSByZWFzb24gd2UgY2FsbCByZWxlYXNlIGNyaXRpY2Fs
IG1lbW9yeSB3aGlsZSBub3QgdW5kZXIgbWVtb3J5IHByZXNzdXJlIGlzIGlmIHRoZSBwcm9jZXNz
IGlzIGFib3V0IHRvIGJlIHN1c3BlbmRlZC4KKyAgICAgICAgUHJ1bmluZ1JlYXNvbiBwcnVuaW5n
UmVhc29uID0gbWVtb3J5UHJlc3N1cmVIYW5kbGVyKCkuaXNVbmRlck1lbW9yeVByZXNzdXJlKCkg
PyBQcnVuaW5nUmVhc29uOjpNZW1vcnlQcmVzc3VyZSA6IFBydW5pbmdSZWFzb246OlByb2Nlc3NT
dXNwZW5kZWQ7CisgICAgICAgIHBhZ2VDYWNoZSgpLT5wcnVuZVRvQ2FwYWNpdHlOb3coMCwgcHJ1
bmluZ1JlYXNvbik7CiAgICAgfQogCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKaW5kZXggODk4NmE1MjQ3ZDU0ODEwYWVlMWM0MmU1ZDk5ZjQ2MjkzMWQyM2U3
MS4uMWI0NzZmYWYyNjAyMmI1ZmFlN2ZjZDU1Yzk0MTdlZWJiOTY0MGY1NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xMTI4LDkgKzExMjgsNyBAQCB2b2lk
IFdlYlByb2Nlc3M6OnNldFRleHRDaGVja2VyU3RhdGUoY29uc3QgVGV4dENoZWNrZXJTdGF0ZSYg
dGV4dENoZWNrZXJTdGF0ZSkKIAogdm9pZCBXZWJQcm9jZXNzOjpyZWxlYXNlUGFnZUNhY2hlKCkK
IHsKLSAgICBpbnQgc2F2ZWRQYWdlQ2FjaGVDYXBhY2l0eSA9IHBhZ2VDYWNoZSgpLT5jYXBhY2l0
eSgpOwotICAgIHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eSgwKTsKLSAgICBwYWdlQ2FjaGUoKS0+
c2V0Q2FwYWNpdHkoc2F2ZWRQYWdlQ2FjaGVDYXBhY2l0eSk7CisgICAgcGFnZUNhY2hlKCktPnBy
dW5lVG9DYXBhY2l0eU5vdygwLCBQcnVuaW5nUmVhc29uOjpNZW1vcnlQcmVzc3VyZSk7CiB9CiAK
ICNpZiAhUExBVEZPUk0oQ09DT0EpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>