<?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>133375</bug_id>
          
          <creation_ts>2014-05-29 04:21:10 -0700</creation_ts>
          <short_desc>Replace uses of CrossThreadTask in DefaultSharedWorkerRepository, WorkerMessagingProxy with C++11 lambdas</short_desc>
          <delta_ts>2014-06-07 06:07:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1012395</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-05-29 04:21:10 -0700</bug_when>
    <thetext>Replaces uses of CrossThreadTask with C++11 lambdas</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012396</commentid>
    <comment_count>1</comment_count>
      <attachid>232241</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-05-29 04:25:21 -0700</bug_when>
    <thetext>Created attachment 232241
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012397</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-29 04:28:34 -0700</bug_when>
    <thetext>Attachment 232241 did not pass style-queue:


ERROR: Source/WebCore/workers/DefaultSharedWorkerRepository.cpp:186:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012768</commentid>
    <comment_count>3</comment_count>
      <attachid>232241</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-31 15:35:11 -0700</bug_when>
    <thetext>Comment on attachment 232241
Patch

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

Looks good. I’d like to eliminate the context argument to the function at some point. I don’t think it adds much over a function with no arguments.

&gt; Source/WebCore/workers/DefaultSharedWorkerRepository.cpp:188
&gt; +            context-&gt;reportException(errorMessageCopy, lineNumber, columnNumber, sourceURLCopy);

Need to add a nullptr to this line, after sourceURLCopy.

&gt; Source/WebCore/workers/WorkerMessagingProxy.cpp:170
&gt; +        if (this-&gt;askedToTerminate())

No need for &quot;this-&gt;&quot; here.

&gt; Source/WebCore/workers/WorkerMessagingProxy.cpp:238
&gt; +        toWorkerGlobalScope(context)-&gt;workerInspectorController().disconnectFrontend(Inspector::InspectorDisconnectReason::InspectorDestroyed);

Could we just capture a worker global scope here instead of casting the context?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013480</commentid>
    <comment_count>4</comment_count>
      <attachid>232241</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-06-05 02:12:32 -0700</bug_when>
    <thetext>Comment on attachment 232241
Patch

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

&gt;&gt; Source/WebCore/workers/WorkerMessagingProxy.cpp:170
&gt;&gt; +        if (this-&gt;askedToTerminate())
&gt; 
&gt; No need for &quot;this-&gt;&quot; here.

Right, and it can be removed in some other places as well.

&gt;&gt; Source/WebCore/workers/WorkerMessagingProxy.cpp:238
&gt;&gt; +        toWorkerGlobalScope(context)-&gt;workerInspectorController().disconnectFrontend(Inspector::InspectorDisconnectReason::InspectorDestroyed);
&gt; 
&gt; Could we just capture a worker global scope here instead of casting the context?

Where from? This task is posted in WorkerMessagingProxy::disconnectFromInspector(), and there&apos;s no WorkerGlobalScope available there for capturing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013481</commentid>
    <comment_count>5</comment_count>
      <attachid>232531</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-06-05 02:13:28 -0700</bug_when>
    <thetext>Created attachment 232531
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013482</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-06-05 02:14:19 -0700</bug_when>
    <thetext>Attachment 232531 did not pass style-queue:


ERROR: Source/WebCore/workers/DefaultSharedWorkerRepository.cpp:187:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013947</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-06-07 06:07:26 -0700</bug_when>
    <thetext>Committed r169673: &lt;http://trac.webkit.org/changeset/169673&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232241</attachid>
            <date>2014-05-29 04:25:21 -0700</date>
            <delta_ts>2014-06-05 02:13:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133375-20140529042455.patch</filename>
            <type>text/plain</type>
            <size>10465</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2OTQ0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE0LTA1LTI5ICBaYW4gRG9i
ZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXBsYWNlIHVzZXMgb2Yg
Q3Jvc3NUaHJlYWRUYXNrIGluIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LCBXb3JrZXJN
ZXNzYWdpbmdQcm94eSB3aXRoIEMrKzExIGxhbWJkYXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzM3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZXMgb2YgQ3Jvc3NUaHJlYWRUYXNrIGluIHRoZSB0
d28gY2xhc3NlcyBhcmUgcmVwbGFjZWQgd2l0aCBDKysxMSBsYW1iZGFzLgorICAgICAgICBUaGUg
bmVjZXNzYXJ5IGNyb3NzLXRocmVhZCBjb3BpZXMgYXJlIGNyZWF0ZWQgbWFudWFsbHkgYW5kIHBh
c3NlZCBpbnRvIHRoZQorICAgICAgICBsYW1iZGFzIGJ5IHZhbHVlLCByZW1vdmluZyB0aGUgbmVl
ZCBmb3IgQ3Jvc3NUaHJlYWRUYXNrIGFuZCBpdHMgdXNlIG9mIENyb3NzVGhyZWFkQ29waWVyLgor
CisgICAgICAgICogd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJQcm94eTo6cG9zdEV4Y2VwdGlvblRvV29ya2Vy
T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlclByb3h5Ojpwb3N0Q29uc29s
ZU1lc3NhZ2VUb1dvcmtlck9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpwb3N0RXhjZXB0aW9u
VGFzayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpwb3N0Q29uc29sZU1lc3NhZ2VUYXNr
KTogRGVsZXRlZC4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0Q29uc29sZU1lc3Nh
Z2VUb1dvcmtlck9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94
eTo6d29ya2VyT2JqZWN0RGVzdHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3Nh
Z2luZ1Byb3h5Ojpjb25uZWN0VG9JbnNwZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
TWVzc2FnaW5nUHJveHk6OmRpc2Nvbm5lY3RGcm9tSW5zcGVjdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzZW5kTWVzc2FnZVRvSW5zcGVjdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OnBvc3RDb25zb2xlTWVzc2FnZVRhc2spOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6Ondvcmtlck9iamVjdERlc3Ryb3llZEludGVy
bmFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmNvbm5lY3RUb1dvcmtlckdsb2JhbFNj
b3BlSW5zcGVjdG9yVGFzayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpkaXNjb25uZWN0
RnJvbVdvcmtlckdsb2JhbFNjb3BlSW5zcGVjdG9yVGFzayk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpkaXNwYXRjaE9uSW5zcGVjdG9yQmFja2VuZFRhc2spOiBEZWxldGVkLgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaDoKKwogMjAxNC0wNS0yOCAgQnJlbnQg
RnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBDYXB0aW9ucyBkdXJpbmcg
SExTIHBsYXliYWNrIGZsYXNoL2FyZSBkaWZmaWN1bHQgdG8gcmVhZGlseQpJbmRleDogU291cmNl
L1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3Np
dG9yeS5jcHAJKHJldmlzaW9uIDE2OTQ0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVm
YXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICsz
NSw2IEBACiAjaW5jbHVkZSAiRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCIKIAogI2lu
Y2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgotI2luY2x1ZGUgIkNyb3NzVGhyZWFkVGFzay5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1
ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgpAQCAtMTc4LDI4ICsxNzcsMjggQEAgR3Jv
dXBTZXR0aW5ncyogU2hhcmVkV29ya2VyUHJveHk6Omdyb3VwUwogICAgIHJldHVybiAwOwogfQog
Ci1zdGF0aWMgdm9pZCBwb3N0RXhjZXB0aW9uVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBj
b2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQotewotICAgIGNvbnRleHQtPnJl
cG9ydEV4Y2VwdGlvbihlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgc291
cmNlVVJMLCAwKTsKLX0KLQogdm9pZCBTaGFyZWRXb3JrZXJQcm94eTo6cG9zdEV4Y2VwdGlvblRv
V29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwg
aW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7CiAgICAgTXV0ZXhM
b2NrZXIgbG9jayhtX3dvcmtlckRvY3VtZW50c0xvY2spOwotICAgIGZvciAoYXV0byYgZG9jdW1l
bnQgOiBtX3dvcmtlckRvY3VtZW50cykKLSAgICAgICAgZG9jdW1lbnQtPnBvc3RUYXNrKENyb3Nz
VGhyZWFkVGFzaygmcG9zdEV4Y2VwdGlvblRhc2ssIGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwg
Y29sdW1uTnVtYmVyLCBzb3VyY2VVUkwpKTsKLX0KKyAgICBTdHJpbmcgZXJyb3JNZXNzYWdlQ29w
eSA9IGVycm9yTWVzc2FnZS5pc29sYXRlZENvcHkoKTsKKyAgICBTdHJpbmcgc291cmNlVVJMQ29w
eSA9IHNvdXJjZVVSTC5pc29sYXRlZENvcHkoKTsKIAotc3RhdGljIHZvaWQgcG9zdENvbnNvbGVN
ZXNzYWdlVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBkb2N1bWVudCwgTWVzc2FnZVNvdXJj
ZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1u
TnVtYmVyKQotewotICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShzb3VyY2UsIGxldmVs
LCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcik7CisgICAgZm9y
IChhdXRvJiBkb2N1bWVudCA6IG1fd29ya2VyRG9jdW1lbnRzKQorICAgICAgICBkb2N1bWVudC0+
cG9zdFRhc2soWz1dIChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KSB7CisgICAgICAg
ICAgICBjb250ZXh0LT5yZXBvcnRFeGNlcHRpb24oZXJyb3JNZXNzYWdlQ29weSwgbGluZU51bWJl
ciwgY29sdW1uTnVtYmVyLCBzb3VyY2VVUkxDb3B5KTsKKyAgICAgICAgfSk7CiB9CiAKIHZvaWQg
U2hhcmVkV29ya2VyUHJveHk6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMKQogewogICAgIE11dGV4TG9ja2VyIGxvY2sobV93b3JrZXJEb2N1bWVudHNMb2NrKTsKKyAg
ICBTdHJpbmcgbWVzc2FnZUNvcHkgPSBtZXNzYWdlLmlzb2xhdGVkQ29weSgpOworICAgIFN0cmlu
ZyBzb3VyY2VVUkxDb3B5ID0gc291cmNlVVJMLmlzb2xhdGVkQ29weSgpOworCiAgICAgZm9yIChh
dXRvJiBkb2N1bWVudCA6IG1fd29ya2VyRG9jdW1lbnRzKQotICAgICAgICBkb2N1bWVudC0+cG9z
dFRhc2soQ3Jvc3NUaHJlYWRUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBzb3VyY2UsIGxl
dmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcikpOworICAg
ICAgICBkb2N1bWVudC0+cG9zdFRhc2soWz1dIChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0KSB7CisgICAgICAgICAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShzb3VyY2UsIGxl
dmVsLCBtZXNzYWdlQ29weSwgc291cmNlVVJMQ29weSwgbGluZU51bWJlciwgY29sdW1uTnVtYmVy
KTsKKyAgICAgICAgfSk7CiB9CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQpJbmRleDogU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAJKHJldmlzaW9u
IDE2OTQ0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiV29ya2VyTWVz
c2FnaW5nUHJveHkuaCIKIAogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgotI2lu
Y2x1ZGUgIkNyb3NzVGhyZWFkVGFzay5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1
ZGUgIkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiRGVkaWNhdGVkV29y
a2VyVGhyZWFkLmgiCkBAIC0xNjMsMTYgKzE2MiwxNSBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1By
b3h5Ojpwb3N0RXhjZXB0aW9uCiAgICAgfSk7CiB9CiAKLXN0YXRpYyB2b2lkIHBvc3RDb25zb2xl
TWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV29ya2VyTWVzc2Fn
aW5nUHJveHkqIG1lc3NhZ2luZ1Byb3h5LCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxl
dmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVu
c2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCi17Ci0gICAgaWYg
KG1lc3NhZ2luZ1Byb3h5LT5hc2tlZFRvVGVybWluYXRlKCkpCi0gICAgICAgIHJldHVybjsKLSAg
ICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBzb3Vy
Y2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcik7Ci19Ci0KIHZvaWQgV29ya2VyTWVzc2Fn
aW5nUHJveHk6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxp
bmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewot
ICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soQ3Jvc3NUaHJlYWRUYXNrKCZw
b3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzKHRoaXMpLCBzb3Vy
Y2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHNvdXJjZVVSTCkp
OworICAgIFN0cmluZyBtZXNzYWdlQ29weSA9IG1lc3NhZ2UuaXNvbGF0ZWRDb3B5KCk7CisgICAg
U3RyaW5nIHNvdXJjZVVSTENvcHkgPSBzb3VyY2VVUkwuaXNvbGF0ZWRDb3B5KCk7CisgICAgbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhbPV0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQpIHsKKyAgICAgICAgaWYgKHRoaXMtPmFza2VkVG9UZXJtaW5hdGUoKSkKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2Uoc291
cmNlLCBsZXZlbCwgbWVzc2FnZUNvcHksIHNvdXJjZVVSTENvcHksIGxpbmVOdW1iZXIsIGNvbHVt
bk51bWJlcik7CisgICAgfSk7CiB9CiAKIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6Ondvcmtl
clRocmVhZENyZWF0ZWQoUGFzc1JlZlB0cjxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ+IHdvcmtlclRo
cmVhZCkKQEAgLTE5Niw3ICsxOTQsMTMgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6d29y
a2VyVGhyZWFkQwogdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyT2JqZWN0RGVzdHJv
eWVkKCkKIHsKICAgICBtX3dvcmtlck9iamVjdCA9IDA7Ci0gICAgbV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0LT5wb3N0VGFzayhDcm9zc1RocmVhZFRhc2soJndvcmtlck9iamVjdERlc3Ryb3llZElu
dGVybmFsLCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzKHRoaXMpKSk7CisgICAgbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0LT5wb3N0VGFzayhbdGhpc10gKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSB7
CisgICAgICAgIG1fbWF5QmVEZXN0cm95ZWQgPSB0cnVlOworICAgICAgICBpZiAobV93b3JrZXJU
aHJlYWQpCisgICAgICAgICAgICB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICB3b3JrZXJHbG9iYWxTY29wZURlc3Ryb3llZEludGVybmFsKCk7
CisgICAgfSk7CiB9CiAKIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6Om5vdGlmeU5ldHdvcmtT
dGF0ZUNoYW5nZShib29sIGlzT25saW5lKQpAQCAtMjEzLDMzICsyMTcsMTYgQEAgdm9pZCBXb3Jr
ZXJNZXNzYWdpbmdQcm94eTo6bm90aWZ5TmV0d29yawogICAgIH0pOwogfQogCi12b2lkIFdvcmtl
ck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJPYmplY3REZXN0cm95ZWRJbnRlcm5hbChTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgV29ya2VyTWVzc2FnaW5nUHJveHkqIHByb3h5KQotewotICAgIHByb3h5
LT5tX21heUJlRGVzdHJveWVkID0gdHJ1ZTsKLSAgICBpZiAocHJveHktPm1fd29ya2VyVGhyZWFk
KQotICAgICAgICBwcm94eS0+dGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKTsKLSAgICBlbHNl
Ci0gICAgICAgIHByb3h5LT53b3JrZXJHbG9iYWxTY29wZURlc3Ryb3llZEludGVybmFsKCk7Ci19
Ci0KICNpZiBFTkFCTEUoSU5TUEVDVE9SKQotc3RhdGljIHZvaWQgY29ubmVjdFRvV29ya2VyR2xv
YmFsU2NvcGVJbnNwZWN0b3JUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGJv
b2wpCi17Ci0gICAgdG9Xb3JrZXJHbG9iYWxTY29wZShjb250ZXh0KS0+d29ya2VySW5zcGVjdG9y
Q29udHJvbGxlcigpLmNvbm5lY3RGcm9udGVuZCgpOwotfQotCiB2b2lkIFdvcmtlck1lc3NhZ2lu
Z1Byb3h5Ojpjb25uZWN0VG9JbnNwZWN0b3IoV29ya2VyR2xvYmFsU2NvcGVQcm94eTo6UGFnZUlu
c3BlY3RvciogcGFnZUluc3BlY3RvcikKIHsKICAgICBpZiAobV9hc2tlZFRvVGVybWluYXRlKQog
ICAgICAgICByZXR1cm47CiAgICAgQVNTRVJUKCFtX3BhZ2VJbnNwZWN0b3IpOwogICAgIG1fcGFn
ZUluc3BlY3RvciA9IHBhZ2VJbnNwZWN0b3I7Ci0gICAgbV93b3JrZXJUaHJlYWQtPnJ1bkxvb3Ao
KS5wb3N0VGFza0Zvck1vZGUoQ3Jvc3NUaHJlYWRUYXNrKGNvbm5lY3RUb1dvcmtlckdsb2JhbFNj
b3BlSW5zcGVjdG9yVGFzaywgdHJ1ZSksIFdvcmtlckRlYnVnZ2VyQWdlbnQ6OmRlYnVnZ2VyVGFz
a01vZGUpOwotfQotCi1zdGF0aWMgdm9pZCBkaXNjb25uZWN0RnJvbVdvcmtlckdsb2JhbFNjb3Bl
SW5zcGVjdG9yVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBib29sKQotewot
ICAgIHRvV29ya2VyR2xvYmFsU2NvcGUoY29udGV4dCktPndvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXIoKS5kaXNjb25uZWN0RnJvbnRlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JEaXNjb25uZWN0UmVh
c29uOjpJbnNwZWN0b3JEZXN0cm95ZWQpOworICAgIG1fd29ya2VyVGhyZWFkLT5ydW5Mb29wKCku
cG9zdFRhc2tGb3JNb2RlKFtdIChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KSB7Cisg
ICAgICAgIHRvV29ya2VyR2xvYmFsU2NvcGUoY29udGV4dCktPndvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIoKS5jb25uZWN0RnJvbnRlbmQoKTsKKyAgICB9LCBXb3JrZXJEZWJ1Z2dlckFnZW50Ojpk
ZWJ1Z2dlclRhc2tNb2RlKTsKIH0KIAogdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6ZGlzY29u
bmVjdEZyb21JbnNwZWN0b3IoKQpAQCAtMjQ3LDE5ICsyMzQsMTkgQEAgdm9pZCBXb3JrZXJNZXNz
YWdpbmdQcm94eTo6ZGlzY29ubmVjdEZybwogICAgIG1fcGFnZUluc3BlY3RvciA9IDA7CiAgICAg
aWYgKG1fYXNrZWRUb1Rlcm1pbmF0ZSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fd29ya2VyVGhy
ZWFkLT5ydW5Mb29wKCkucG9zdFRhc2tGb3JNb2RlKENyb3NzVGhyZWFkVGFzayhkaXNjb25uZWN0
RnJvbVdvcmtlckdsb2JhbFNjb3BlSW5zcGVjdG9yVGFzaywgdHJ1ZSksIFdvcmtlckRlYnVnZ2Vy
QWdlbnQ6OmRlYnVnZ2VyVGFza01vZGUpOwotfQotCi1zdGF0aWMgdm9pZCBkaXNwYXRjaE9uSW5z
cGVjdG9yQmFja2VuZFRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlKQotewotICAgIHRvV29ya2VyR2xvYmFsU2NvcGUoY29udGV4dCktPndv
cmtlckluc3BlY3RvckNvbnRyb2xsZXIoKS5kaXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmQobWVz
c2FnZSk7CisgICAgbV93b3JrZXJUaHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoW10g
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIHsKKyAgICAgICAgdG9Xb3JrZXJHbG9i
YWxTY29wZShjb250ZXh0KS0+d29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpLmRpc2Nvbm5lY3RG
cm9udGVuZChJbnNwZWN0b3I6Okluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb246Okluc3BlY3RvckRl
c3Ryb3llZCk7CisgICAgfSwgV29ya2VyRGVidWdnZXJBZ2VudDo6ZGVidWdnZXJUYXNrTW9kZSk7
CiB9CiAKIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnNlbmRNZXNzYWdlVG9JbnNwZWN0b3Io
Y29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIGlmIChtX2Fza2VkVG9UZXJtaW5hdGUpCiAg
ICAgICAgIHJldHVybjsKLSAgICBtX3dvcmtlclRocmVhZC0+cnVuTG9vcCgpLnBvc3RUYXNrRm9y
TW9kZShDcm9zc1RocmVhZFRhc2soZGlzcGF0Y2hPbkluc3BlY3RvckJhY2tlbmRUYXNrLCBTdHJp
bmcobWVzc2FnZSkpLCBXb3JrZXJEZWJ1Z2dlckFnZW50OjpkZWJ1Z2dlclRhc2tNb2RlKTsKKyAg
ICBTdHJpbmcgbWVzc2FnZUNvcHkgPSBtZXNzYWdlLmlzb2xhdGVkQ29weSgpOworICAgIG1fd29y
a2VyVGhyZWFkLT5ydW5Mb29wKCkucG9zdFRhc2tGb3JNb2RlKFttZXNzYWdlQ29weV0gKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIHsKKyAgICAgICAgdG9Xb3JrZXJHbG9iYWxTY29w
ZShjb250ZXh0KS0+d29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpLmRpc3BhdGNoTWVzc2FnZUZy
b21Gcm9udGVuZChtZXNzYWdlQ29weSk7CisgICAgfSwgV29ya2VyRGVidWdnZXJBZ2VudDo6ZGVi
dWdnZXJUYXNrTW9kZSk7CiAgICAgV29ya2VyRGVidWdnZXJBZ2VudDo6aW50ZXJydXB0QW5kRGlz
cGF0Y2hJbnNwZWN0b3JDb21tYW5kcyhtX3dvcmtlclRocmVhZC5nZXQoKSk7CiB9CiAjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgJ
KHJldmlzaW9uIDE2OTQ0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2Fn
aW5nUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtOTgsNyArOTgsNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBXb3JrZXJUaHJlYWRBY3Rpdml0eVJlcG9ydFRh
c2s7CiAKICAgICAgICAgdm9pZCB3b3JrZXJHbG9iYWxTY29wZURlc3Ryb3llZEludGVybmFsKCk7
Ci0gICAgICAgIHN0YXRpYyB2b2lkIHdvcmtlck9iamVjdERlc3Ryb3llZEludGVybmFsKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBXb3JrZXJNZXNzYWdpbmdQcm94eSopOwogICAgICAgICB2b2lk
IHJlcG9ydFBlbmRpbmdBY3Rpdml0eUludGVybmFsKGJvb2wgY29uZmlybWluZ01lc3NhZ2UsIGJv
b2wgaGFzUGVuZGluZ0FjdGl2aXR5KTsKICAgICAgICAgV29ya2VyKiB3b3JrZXJPYmplY3QoKSBj
b25zdCB7IHJldHVybiBtX3dvcmtlck9iamVjdDsgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232531</attachid>
            <date>2014-06-05 02:13:28 -0700</date>
            <delta_ts>2014-06-06 16:22:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133375-20140605021302.patch</filename>
            <type>text/plain</type>
            <size>13211</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmNiODQ5ZWQzNTMzZWUx
NzIwZDY5MzE5MzVkOTQ0ZmFhMTMxYjk0ZS4uMWUxMzFiYTg5NWUzN2VmODkxNmY0MzdjMDg0OGRl
NjEzZWY2M2ZmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE0LTA2LTA1ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXBsYWNlIHVzZXMg
b2YgQ3Jvc3NUaHJlYWRUYXNrIGluIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LCBXb3Jr
ZXJNZXNzYWdpbmdQcm94eSB3aXRoIEMrKzExIGxhbWJkYXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzM3NQorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIFVzZXMgb2YgQ3Jvc3NUaHJlYWRUYXNrIGluIHRoZSB0
d28gY2xhc3NlcyBhcmUgcmVwbGFjZWQgd2l0aCBDKysxMSBsYW1iZGFzLgorICAgICAgICBUaGUg
bmVjZXNzYXJ5IGNyb3NzLXRocmVhZCBjb3BpZXMgYXJlIGNyZWF0ZWQgbWFudWFsbHkgYW5kIHBh
c3NlZCBpbnRvIHRoZQorICAgICAgICBsYW1iZGFzIGJ5IHZhbHVlLCByZW1vdmluZyB0aGUgbmVl
ZCBmb3IgQ3Jvc3NUaHJlYWRUYXNrIGFuZCBpdHMgdXNlIG9mIENyb3NzVGhyZWFkQ29waWVyLgor
CisgICAgICAgICogd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJQcm94eTo6cG9zdEV4Y2VwdGlvblRvV29ya2Vy
T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlclByb3h5Ojpwb3N0Q29uc29s
ZU1lc3NhZ2VUb1dvcmtlck9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpwb3N0RXhjZXB0aW9u
VGFzayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpwb3N0Q29uc29sZU1lc3NhZ2VUYXNr
KTogRGVsZXRlZC4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0Q29uc29sZU1lc3Nh
Z2VUb1dvcmtlck9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94
eTo6d29ya2VyT2JqZWN0RGVzdHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3Nh
Z2luZ1Byb3h5Ojpjb25uZWN0VG9JbnNwZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
TWVzc2FnaW5nUHJveHk6OmRpc2Nvbm5lY3RGcm9tSW5zcGVjdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzZW5kTWVzc2FnZVRvSW5zcGVjdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OnBvc3RDb25zb2xlTWVzc2FnZVRhc2spOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6Ondvcmtlck9iamVjdERlc3Ryb3llZEludGVy
bmFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmNvbm5lY3RUb1dvcmtlckdsb2JhbFNj
b3BlSW5zcGVjdG9yVGFzayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpkaXNjb25uZWN0
RnJvbVdvcmtlckdsb2JhbFNjb3BlSW5zcGVjdG9yVGFzayk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpkaXNwYXRjaE9uSW5zcGVjdG9yQmFja2VuZFRhc2spOiBEZWxldGVkLgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaDoKKwogMjAxNC0wNi0wNCAgQmVtIEpv
bmVzLUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIFNoYXBlc10gSW1h
Z2UgbGlmZXRpbWUgaXMgbm90IHByb3Blcmx5IGhhbmRsZWQgZm9yIGdyYWRpZW50IHNoYXBlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5LmNwcAppbmRleCA0YmQ4YzU3M2VmOTNlODhkYjg0MGVmMDdkNmI2NDhkYzkyMWM0
ZGU1Li4yMTUxYzcwZTA0ZTA3MmU0N2U5NjJjOThkMjIxM2UyOTVjOGM2MzYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0
b3J5LmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIkRlZmF1bHRTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5LmgiCiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKLSNpbmNsdWRlICJD
cm9zc1RocmVhZFRhc2suaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKQEAgLTE3
OSwyOCArMTc4LDI4IEBAIEdyb3VwU2V0dGluZ3MqIFNoYXJlZFdvcmtlclByb3h5Ojpncm91cFNl
dHRpbmdzKCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgcG9zdEV4Y2Vw
dGlvblRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBl
cnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCkKLXsKLSAgICBjb250ZXh0LT5yZXBvcnRFeGNlcHRpb24oZXJyb3JNZXNz
YWdlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHNvdXJjZVVSTCwgMCk7Ci19Ci0KIHZvaWQg
U2hhcmVkV29ya2VyUHJveHk6OnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMKQogewogICAgIE11dGV4TG9ja2VyIGxvY2sobV93b3JrZXJEb2N1
bWVudHNMb2NrKTsKLSAgICBmb3IgKGF1dG8mIGRvY3VtZW50IDogbV93b3JrZXJEb2N1bWVudHMp
Ci0gICAgICAgIGRvY3VtZW50LT5wb3N0VGFzayhDcm9zc1RocmVhZFRhc2soJnBvc3RFeGNlcHRp
b25UYXNrLCBlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgc291cmNlVVJM
KSk7Ci19CisgICAgU3RyaW5nIGVycm9yTWVzc2FnZUNvcHkgPSBlcnJvck1lc3NhZ2UuaXNvbGF0
ZWRDb3B5KCk7CisgICAgU3RyaW5nIHNvdXJjZVVSTENvcHkgPSBzb3VyY2VVUkwuaXNvbGF0ZWRD
b3B5KCk7CiAKLXN0YXRpYyB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogZG9jdW1lbnQsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwg
bGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlcikKLXsKLSAgICBkb2N1bWVu
dC0+YWRkQ29uc29sZU1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJMLCBs
aW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpOworICAgIGZvciAoYXV0byYgZG9jdW1lbnQgOiBtX3dv
cmtlckRvY3VtZW50cykKKyAgICAgICAgZG9jdW1lbnQtPnBvc3RUYXNrKFs9XSAoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCkgeworICAgICAgICAgICAgY29udGV4dC0+cmVwb3J0RXhj
ZXB0aW9uKGVycm9yTWVzc2FnZUNvcHksIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgc291cmNl
VVJMQ29weSwgbnVsbHB0cik7CisgICAgICAgIH0pOwogfQogCiB2b2lkIFNoYXJlZFdvcmtlclBy
b3h5Ojpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVt
YmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKICAgICBN
dXRleExvY2tlciBsb2NrKG1fd29ya2VyRG9jdW1lbnRzTG9jayk7CisgICAgU3RyaW5nIG1lc3Nh
Z2VDb3B5ID0gbWVzc2FnZS5pc29sYXRlZENvcHkoKTsKKyAgICBTdHJpbmcgc291cmNlVVJMQ29w
eSA9IHNvdXJjZVVSTC5pc29sYXRlZENvcHkoKTsKKwogICAgIGZvciAoYXV0byYgZG9jdW1lbnQg
OiBtX3dvcmtlckRvY3VtZW50cykKLSAgICAgICAgZG9jdW1lbnQtPnBvc3RUYXNrKENyb3NzVGhy
ZWFkVGFzaygmcG9zdENvbnNvbGVNZXNzYWdlVGFzaywgc291cmNlLCBsZXZlbCwgbWVzc2FnZSwg
c291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpKTsKKyAgICAgICAgZG9jdW1lbnQt
PnBvc3RUYXNrKFs9XSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgeworICAgICAg
ICAgICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZUNv
cHksIHNvdXJjZVVSTENvcHksIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcik7CisgICAgICAgIH0p
OwogfQogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggM2MzMDMxMzVhZDUyYjFiYjhkOWVkNjIz
MTIwYmEwMTE5Mzc1OTE0Mi4uMDc0ZjdjMDI2MjAxODUwOWNjMTYwOWYwYmNmMjA0N2FmODFmMDNj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5j
cHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJXb3JrZXJNZXNzYWdpbmdQcm94eS5oIgog
CiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCi0jaW5jbHVkZSAiQ3Jvc3NUaHJl
YWRUYXNrLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaCIKQEAg
LTk5LDcgKzk4LDcgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdE1lc3NhZ2VUb1dv
cmtlck9iamVjdChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHQKICAgICBNZXNzYWdlUG9ydENo
YW5uZWxBcnJheSogY2hhbm5lbHNQdHIgPSBjaGFubmVscy5yZWxlYXNlKCk7CiAgICAgbV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhbPV0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQpIHsKICAgICAgICAgV29ya2VyKiB3b3JrZXJPYmplY3QgPSB0aGlzLT53b3JrZXJP
YmplY3QoKTsKLSAgICAgICAgaWYgKCF3b3JrZXJPYmplY3QgfHwgdGhpcy0+YXNrZWRUb1Rlcm1p
bmF0ZSgpKQorICAgICAgICBpZiAoIXdvcmtlck9iamVjdCB8fCBhc2tlZFRvVGVybWluYXRlKCkp
CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VQ
b3J0QXJyYXk+IHBvcnRzID0gTWVzc2FnZVBvcnQ6OmVudGFuZ2xlUG9ydHMoKmNvbnRleHQsIHN0
ZDo6dW5pcXVlX3B0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4oY2hhbm5lbHNQdHIpKTsKQEAg
LTE2MywxNiArMTYyLDE1IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RFeGNlcHRp
b25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnCiAgICAgfSk7CiB9CiAK
LXN0YXRpYyB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgV29ya2VyTWVzc2FnaW5nUHJveHkqIG1lc3NhZ2luZ1Byb3h5LCBNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwpCi17Ci0gICAgaWYgKG1lc3NhZ2luZ1Byb3h5LT5hc2tlZFRvVGVybWluYXRl
KCkpCi0gICAgICAgIHJldHVybjsKLSAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShzb3Vy
Y2UsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcik7
Ci19Ci0KIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29y
a2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMKQogewotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9z
dFRhc2soQ3Jvc3NUaHJlYWRUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBBbGxvd0Nyb3Nz
VGhyZWFkQWNjZXNzKHRoaXMpLCBzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBj
b2x1bW5OdW1iZXIsIHNvdXJjZVVSTCkpOworICAgIFN0cmluZyBtZXNzYWdlQ29weSA9IG1lc3Nh
Z2UuaXNvbGF0ZWRDb3B5KCk7CisgICAgU3RyaW5nIHNvdXJjZVVSTENvcHkgPSBzb3VyY2VVUkwu
aXNvbGF0ZWRDb3B5KCk7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhb
PV0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIHsKKyAgICAgICAgaWYgKGFza2Vk
VG9UZXJtaW5hdGUoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgY29udGV4dC0+YWRk
Q29uc29sZU1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZUNvcHksIHNvdXJjZVVSTENvcHks
IGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcik7CisgICAgfSk7CiB9CiAKIHZvaWQgV29ya2VyTWVz
c2FnaW5nUHJveHk6OndvcmtlclRocmVhZENyZWF0ZWQoUGFzc1JlZlB0cjxEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQ+IHdvcmtlclRocmVhZCkKQEAgLTE5Niw3ICsxOTQsMTMgQEAgdm9pZCBXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6d29ya2VyVGhyZWFkQ3JlYXRlZChQYXNzUmVmUHRyPERlZGljYXRlZFdv
cmtlclRocmVhZD4KIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6Ondvcmtlck9iamVjdERlc3Ry
b3llZCgpCiB7CiAgICAgbV93b3JrZXJPYmplY3QgPSAwOwotICAgIG1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dC0+cG9zdFRhc2soQ3Jvc3NUaHJlYWRUYXNrKCZ3b3JrZXJPYmplY3REZXN0cm95ZWRJ
bnRlcm5hbCwgQWxsb3dDcm9zc1RocmVhZEFjY2Vzcyh0aGlzKSkpOworICAgIG1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC0+cG9zdFRhc2soW3RoaXNdIChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
eworICAgICAgICBtX21heUJlRGVzdHJveWVkID0gdHJ1ZTsKKyAgICAgICAgaWYgKG1fd29ya2Vy
VGhyZWFkKQorICAgICAgICAgICAgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgd29ya2VyR2xvYmFsU2NvcGVEZXN0cm95ZWRJbnRlcm5hbCgp
OworICAgIH0pOwogfQogCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpub3RpZnlOZXR3b3Jr
U3RhdGVDaGFuZ2UoYm9vbCBpc09ubGluZSkKQEAgLTIwOCwzOCArMjEyLDIwIEBAIHZvaWQgV29y
a2VyTWVzc2FnaW5nUHJveHk6Om5vdGlmeU5ldHdvcmtTdGF0ZUNoYW5nZShib29sIGlzT25saW5l
KQogICAgICAgICByZXR1cm47CiAKICAgICBtX3dvcmtlclRocmVhZC0+cnVuTG9vcCgpLnBvc3RU
YXNrKFs9XSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgewotICAgICAgICBXb3Jr
ZXJHbG9iYWxTY29wZSogd29ya2VyR2xvYmFsU2NvcGUgPSB0b1dvcmtlckdsb2JhbFNjb3BlKGNv
bnRleHQpOwotICAgICAgICB3b3JrZXJHbG9iYWxTY29wZS0+ZGlzcGF0Y2hFdmVudChFdmVudDo6
Y3JlYXRlKGlzT25saW5lID8gZXZlbnROYW1lcygpLm9ubGluZUV2ZW50IDogZXZlbnROYW1lcygp
Lm9mZmxpbmVFdmVudCwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIHRvV29ya2VyR2xvYmFsU2Nv
cGUoY29udGV4dCktPmRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShpc09ubGluZSA/IGV2ZW50
TmFtZXMoKS5vbmxpbmVFdmVudCA6IGV2ZW50TmFtZXMoKS5vZmZsaW5lRXZlbnQsIGZhbHNlLCBm
YWxzZSkpOwogICAgIH0pOwogfQogCi12b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJP
YmplY3REZXN0cm95ZWRJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV29ya2VyTWVz
c2FnaW5nUHJveHkqIHByb3h5KQotewotICAgIHByb3h5LT5tX21heUJlRGVzdHJveWVkID0gdHJ1
ZTsKLSAgICBpZiAocHJveHktPm1fd29ya2VyVGhyZWFkKQotICAgICAgICBwcm94eS0+dGVybWlu
YXRlV29ya2VyR2xvYmFsU2NvcGUoKTsKLSAgICBlbHNlCi0gICAgICAgIHByb3h5LT53b3JrZXJH
bG9iYWxTY29wZURlc3Ryb3llZEludGVybmFsKCk7Ci19Ci0KICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotc3RhdGljIHZvaWQgY29ubmVjdFRvV29ya2VyR2xvYmFsU2NvcGVJbnNwZWN0b3JUYXNrKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGJvb2wpCi17Ci0gICAgdG9Xb3JrZXJHbG9i
YWxTY29wZShjb250ZXh0KS0+d29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpLmNvbm5lY3RGcm9u
dGVuZCgpOwotfQotCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpjb25uZWN0VG9JbnNwZWN0
b3IoV29ya2VyR2xvYmFsU2NvcGVQcm94eTo6UGFnZUluc3BlY3RvciogcGFnZUluc3BlY3RvcikK
IHsKICAgICBpZiAobV9hc2tlZFRvVGVybWluYXRlKQogICAgICAgICByZXR1cm47CiAgICAgQVNT
RVJUKCFtX3BhZ2VJbnNwZWN0b3IpOwogICAgIG1fcGFnZUluc3BlY3RvciA9IHBhZ2VJbnNwZWN0
b3I7Ci0gICAgbV93b3JrZXJUaHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoQ3Jvc3NU
aHJlYWRUYXNrKGNvbm5lY3RUb1dvcmtlckdsb2JhbFNjb3BlSW5zcGVjdG9yVGFzaywgdHJ1ZSks
IFdvcmtlckRlYnVnZ2VyQWdlbnQ6OmRlYnVnZ2VyVGFza01vZGUpOwotfQotCi1zdGF0aWMgdm9p
ZCBkaXNjb25uZWN0RnJvbVdvcmtlckdsb2JhbFNjb3BlSW5zcGVjdG9yVGFzayhTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBib29sKQotewotICAgIHRvV29ya2VyR2xvYmFsU2NvcGUo
Y29udGV4dCktPndvcmtlckluc3BlY3RvckNvbnRyb2xsZXIoKS5kaXNjb25uZWN0RnJvbnRlbmQo
SW5zcGVjdG9yOjpJbnNwZWN0b3JEaXNjb25uZWN0UmVhc29uOjpJbnNwZWN0b3JEZXN0cm95ZWQp
OworICAgIG1fd29ya2VyVGhyZWFkLT5ydW5Mb29wKCkucG9zdFRhc2tGb3JNb2RlKFtdIChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KSB7CisgICAgICAgIHRvV29ya2VyR2xvYmFsU2Nv
cGUoY29udGV4dCktPndvcmtlckluc3BlY3RvckNvbnRyb2xsZXIoKS5jb25uZWN0RnJvbnRlbmQo
KTsKKyAgICB9LCBXb3JrZXJEZWJ1Z2dlckFnZW50OjpkZWJ1Z2dlclRhc2tNb2RlKTsKIH0KIAog
dm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6ZGlzY29ubmVjdEZyb21JbnNwZWN0b3IoKQpAQCAt
MjQ3LDE5ICsyMzMsMTkgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6ZGlzY29ubmVjdEZy
b21JbnNwZWN0b3IoKQogICAgIG1fcGFnZUluc3BlY3RvciA9IDA7CiAgICAgaWYgKG1fYXNrZWRU
b1Rlcm1pbmF0ZSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fd29ya2VyVGhyZWFkLT5ydW5Mb29w
KCkucG9zdFRhc2tGb3JNb2RlKENyb3NzVGhyZWFkVGFzayhkaXNjb25uZWN0RnJvbVdvcmtlckds
b2JhbFNjb3BlSW5zcGVjdG9yVGFzaywgdHJ1ZSksIFdvcmtlckRlYnVnZ2VyQWdlbnQ6OmRlYnVn
Z2VyVGFza01vZGUpOwotfQotCi1zdGF0aWMgdm9pZCBkaXNwYXRjaE9uSW5zcGVjdG9yQmFja2Vu
ZFRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlKQotewotICAgIHRvV29ya2VyR2xvYmFsU2NvcGUoY29udGV4dCktPndvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIoKS5kaXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmQobWVzc2FnZSk7CisgICAg
bV93b3JrZXJUaHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoW10gKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQpIHsKKyAgICAgICAgdG9Xb3JrZXJHbG9iYWxTY29wZShjb250
ZXh0KS0+d29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpLmRpc2Nvbm5lY3RGcm9udGVuZChJbnNw
ZWN0b3I6Okluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb246Okluc3BlY3RvckRlc3Ryb3llZCk7Cisg
ICAgfSwgV29ya2VyRGVidWdnZXJBZ2VudDo6ZGVidWdnZXJUYXNrTW9kZSk7CiB9CiAKIHZvaWQg
V29ya2VyTWVzc2FnaW5nUHJveHk6OnNlbmRNZXNzYWdlVG9JbnNwZWN0b3IoY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQogewogICAgIGlmIChtX2Fza2VkVG9UZXJtaW5hdGUpCiAgICAgICAgIHJldHVy
bjsKLSAgICBtX3dvcmtlclRocmVhZC0+cnVuTG9vcCgpLnBvc3RUYXNrRm9yTW9kZShDcm9zc1Ro
cmVhZFRhc2soZGlzcGF0Y2hPbkluc3BlY3RvckJhY2tlbmRUYXNrLCBTdHJpbmcobWVzc2FnZSkp
LCBXb3JrZXJEZWJ1Z2dlckFnZW50OjpkZWJ1Z2dlclRhc2tNb2RlKTsKKyAgICBTdHJpbmcgbWVz
c2FnZUNvcHkgPSBtZXNzYWdlLmlzb2xhdGVkQ29weSgpOworICAgIG1fd29ya2VyVGhyZWFkLT5y
dW5Mb29wKCkucG9zdFRhc2tGb3JNb2RlKFttZXNzYWdlQ29weV0gKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQpIHsKKyAgICAgICAgdG9Xb3JrZXJHbG9iYWxTY29wZShjb250ZXh0KS0+
d29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpLmRpc3BhdGNoTWVzc2FnZUZyb21Gcm9udGVuZCht
ZXNzYWdlQ29weSk7CisgICAgfSwgV29ya2VyRGVidWdnZXJBZ2VudDo6ZGVidWdnZXJUYXNrTW9k
ZSk7CiAgICAgV29ya2VyRGVidWdnZXJBZ2VudDo6aW50ZXJydXB0QW5kRGlzcGF0Y2hJbnNwZWN0
b3JDb21tYW5kcyhtX3dvcmtlclRocmVhZC5nZXQoKSk7CiB9CiAjZW5kaWYKQEAgLTMxMCw3ICsy
OTYsNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0TWVzc2FnZVRvUGFnZUluc3Bl
Y3Rvcihjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgU3RyaW5nIG1lc3NhZ2VDb3B5ID0g
bWVzc2FnZS5pc29sYXRlZENvcHkoKTsKICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBv
c3RUYXNrKFs9XSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIHsKLSAgICAgICAgdGhpcy0+bV9w
YWdlSW5zcGVjdG9yLT5kaXNwYXRjaE1lc3NhZ2VGcm9tV29ya2VyKG1lc3NhZ2VDb3B5KTsKKyAg
ICAgICAgbV9wYWdlSW5zcGVjdG9yLT5kaXNwYXRjaE1lc3NhZ2VGcm9tV29ya2VyKG1lc3NhZ2VD
b3B5KTsKICAgICB9KTsKIH0KICNlbmRpZgpAQCAtMzE4LDcgKzMwNCw3IEBAIHZvaWQgV29ya2Vy
TWVzc2FnaW5nUHJveHk6OnBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYg
bWVzc2FnZSkKIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OmNvbmZpcm1NZXNzYWdlRnJvbVdv
cmtlck9iamVjdChib29sIGhhc1BlbmRpbmdBY3Rpdml0eSkKIHsKICAgICBtX3NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQtPnBvc3RUYXNrKFs9XSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIHsKLSAg
ICAgICAgdGhpcy0+cmVwb3J0UGVuZGluZ0FjdGl2aXR5SW50ZXJuYWwodHJ1ZSwgaGFzUGVuZGlu
Z0FjdGl2aXR5KTsKKyAgICAgICAgcmVwb3J0UGVuZGluZ0FjdGl2aXR5SW50ZXJuYWwodHJ1ZSwg
aGFzUGVuZGluZ0FjdGl2aXR5KTsKICAgICB9KTsKICAgICAvLyBXaWxsIGV4ZWN1dGUgcmVwb3J0
UGVuZGluZ0FjdGl2aXR5SW50ZXJuYWwoKSBvbiBjb250ZXh0J3MgdGhyZWFkLgogfQpAQCAtMzI2
LDcgKzMxMiw3IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OmNvbmZpcm1NZXNzYWdlRnJv
bVdvcmtlck9iamVjdChib29sIGhhc1BlbmRpbmdBY3Rpdml0CiB2b2lkIFdvcmtlck1lc3NhZ2lu
Z1Byb3h5OjpyZXBvcnRQZW5kaW5nQWN0aXZpdHkoYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkpCiB7
CiAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhbPV0gKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKSB7Ci0gICAgICAgIHRoaXMtPnJlcG9ydFBlbmRpbmdBY3Rpdml0eUludGVy
bmFsKGZhbHNlLCBoYXNQZW5kaW5nQWN0aXZpdHkpOworICAgICAgICByZXBvcnRQZW5kaW5nQWN0
aXZpdHlJbnRlcm5hbChmYWxzZSwgaGFzUGVuZGluZ0FjdGl2aXR5KTsKICAgICB9KTsKICAgICAv
LyBXaWxsIGV4ZWN1dGUgcmVwb3J0UGVuZGluZ0FjdGl2aXR5SW50ZXJuYWwoKSBvbiBjb250ZXh0
J3MgdGhyZWFkLgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5oCmluZGV4IDU2NGRlZTk4YTk3YTM5OTEwYWFkMGI0MDJhYzg2OTE5YmM0ZmE2ZjguLjMx
MjBkOWI0OWU5NGUwNjllMzcyODI0ZTdkZmExZTA0OTdhMmIzNGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTk4LDcgKzk4LDYgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBmcmllbmQgY2xhc3MgV29ya2VyVGhyZWFkQWN0aXZp
dHlSZXBvcnRUYXNrOwogCiAgICAgICAgIHZvaWQgd29ya2VyR2xvYmFsU2NvcGVEZXN0cm95ZWRJ
bnRlcm5hbCgpOwotICAgICAgICBzdGF0aWMgdm9pZCB3b3JrZXJPYmplY3REZXN0cm95ZWRJbnRl
cm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV29ya2VyTWVzc2FnaW5nUHJveHkqKTsKICAg
ICAgICAgdm9pZCByZXBvcnRQZW5kaW5nQWN0aXZpdHlJbnRlcm5hbChib29sIGNvbmZpcm1pbmdN
ZXNzYWdlLCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSk7CiAgICAgICAgIFdvcmtlciogd29ya2Vy
T2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV93b3JrZXJPYmplY3Q7IH0KIAo=
</data>
<flag name="review"
          id="257024"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>