<?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>39112</bug_id>
          
          <creation_ts>2010-05-14 04:36:50 -0700</creation_ts>
          <short_desc>FrameLoader: refactor loadFrameRequest() not to use FrameLoadRequest</short_desc>
          <delta_ts>2011-06-14 09:47:30 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>39111</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Jerdonek">cjerdonek</reporter>
          <assigned_to name="Chris Jerdonek">cjerdonek</assigned_to>
          <cc>abarth</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>225757</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-05-14 04:36:50 -0700</bug_when>
    <thetext>Refactor FrameLoader::loadFrameRequest() to take a ResourceRequest and String frame name instead of a FrameLoadRequest.  This will make the signature of loadFrameRequest() more similar to the signatures used predominantly by the other load methods.  This should aid future refactoring of the FrameLoader class by making opportunities for code sharing more evident.  This is also a step towards eliminating the FrameLoadRequest class (bug 39111).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226129</commentid>
    <comment_count>1</comment_count>
      <attachid>56137</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-05-14 21:23:21 -0700</bug_when>
    <thetext>Created attachment 56137
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226132</commentid>
    <comment_count>2</comment_count>
      <attachid>56138</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-05-14 21:29:25 -0700</bug_when>
    <thetext>Created attachment 56138
Proposed patch 2

I forgot to re-diff before attaching patch 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226475</commentid>
    <comment_count>3</comment_count>
      <attachid>56138</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-16 06:48:42 -0700</bug_when>
    <thetext>Comment on attachment 56138
Proposed patch 2

Hum...  It seems strange that &quot;loadFrameRequest&quot; wouldn&apos;t load a FrameLoadRequest.

I think we probably want to go in the other direction: make a bigger &quot;request&quot; object that we can pass around that includes things like lock history, etc.  Is there some reason you think breaking this down into a smaller object is better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226509</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-05-16 11:27:14 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 56138 [details])
&gt; Hum...  It seems strange that &quot;loadFrameRequest&quot; wouldn&apos;t load a FrameLoadRequest.

Yes, I noticed this, though wouldn&apos;t the correct name be loadFrameLoadRequest()?

&gt; I think we probably want to go in the other direction: make a bigger &quot;request&quot; object that we can pass around that includes things like lock history, etc.

It&apos;s funny you mention this.  When I had studied the history of FrameLoadRequest, the last change was to remove lock history:

http://trac.webkit.org/changeset/40373/trunk/WebCore/page/FrameLoadRequest.h

&gt; Is there some reason you think breaking this down into a smaller object is better?

For now, yes.  I think there is a good chance we may eventually want some abstraction like this, but I don&apos;t know if it&apos;s the right one.  In the short-term, given that the 4-year life of FrameLoadRequest hasn&apos;t really bought us anything here, I thought it would be better to make the various load methods look more similar.  This will make it somewhat easier to see opportunities for code sharing across the various load methods, etc.  If we prematurely clump things, it may be harder to do this.

After this change, FrameLoader::createWindow() will be the only place in FrameLoader.h using FrameLoadRequest.  And that function is getting moved out of the FrameLoader class in bug 39156.

Given all that, the dependency doesn&apos;t seem needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228983</commentid>
    <comment_count>5</comment_count>
      <attachid>56138</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-05-21 10:21:02 -0700</bug_when>
    <thetext>Comment on attachment 56138
Proposed patch 2

Marking r- to remove from pending review while considering Adam&apos;s comments.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56137</attachid>
            <date>2010-05-14 21:23:21 -0700</date>
            <delta_ts>2010-05-14 21:24:11 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>_patch-39112-1.diff</filename>
            <type>text/plain</type>
            <size>13207</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDI2NDk5MS4uMWNhMzVhYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0wNS0xNCAgQ2hyaXMgSmVyZG9u
ZWsgIDxjamVyZG9uZWtAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gKE9PUFMhKQorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTExMgorCisg
ICAgICAgIE5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LCBzbyBubyBuZXcgdGVzdHMuCisKKyAg
ICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OmNyZWF0ZVdpbmRvdyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6dXJs
U2VsZWN0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRGcmFtZVJlcXVl
c3QpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9S
ZWRpcmVjdFNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY2hlZHVsZWRGb3JtU3Vi
bWlzc2lvbjo6ZmlyZSk6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUl0
ZW1TZWxlY3RlZCk6CisKIDIwMTAtMDUtMTQgIEFuZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmtsaW5n
QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cCBiL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cApp
bmRleCAzNTkwMDZhLi4wMmIzYzkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuYmFzZS5l
eHAKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCkBAIC0xNTUsNyArMTU1LDcgQEAgX19a
TjdXZWJDb3JlMTFGcmFtZUxvYWRlcjEyc2hvdWxkUmVsb2FkRVJLTlNfNEtVUkxFUzNfCiBfX1pO
N1dlYkNvcmUxMUZyYW1lTG9hZGVyMTRkZXRhY2hDaGlsZHJlbkV2CiBfX1pON1dlYkNvcmUxMUZy
YW1lTG9hZGVyMTRzdG9wQWxsTG9hZGVyc0VOU18xNERhdGFiYXNlUG9saWN5RQogX19aTjdXZWJD
b3JlMTFGcmFtZUxvYWRlcjE2ZGV0YWNoRnJvbVBhcmVudEV2Ci1fX1pON1dlYkNvcmUxMUZyYW1l
TG9hZGVyMTZsb2FkRnJhbWVSZXF1ZXN0RVJLTlNfMTZGcmFtZUxvYWRSZXF1ZXN0RWJiTjNXVEYx
MFBhc3NSZWZQdHJJTlNfNUV2ZW50RUVFTlM1X0lOU185Rm9ybVN0YXRlRUVFTlNfMTRSZWZlcnJl
clBvbGljeUUKK19fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIxNmxvYWRGcmFtZVJlcXVlc3RFUktO
U18xNVJlc291cmNlUmVxdWVzdEVSS05TXzZTdHJpbmdFYmJOM1dURjEwUGFzc1JlZlB0cklOU181
RXZlbnRFRUVOUzhfSU5TXzlGb3JtU3RhdGVFRUVOU18xNFJlZmVycmVyUG9saWN5RQogX19aTjdX
ZWJDb3JlMTFGcmFtZUxvYWRlcjE3c3RvcEZvclVzZXJDYW5jZWxFYgogX19aTjdXZWJDb3JlMTFG
cmFtZUxvYWRlcjIxbG9hZFVSTEludG9DaGlsZEZyYW1lRVJLTlNfNEtVUkxFUktOU182U3RyaW5n
RVBOU181RnJhbWVFCiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjJmaW5kRnJhbWVGb3JOYXZp
Z2F0aW9uRVJLTlNfMTJBdG9taWNTdHJpbmdFCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggZmQ3
OTA3ZS4uZDNhNGYwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMjY2LDcgKzI2Niw3IEBA
IEZyYW1lKiBGcmFtZUxvYWRlcjo6Y3JlYXRlV2luZG93KEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRl
ckZvckZyYW1lTG9va3VwLCBjb25zdCBGCiAgICAgICAgIEZyYW1lKiBmcmFtZSA9IGZyYW1lTG9h
ZGVyRm9yRnJhbWVMb29rdXAtPmZyYW1lKCktPnRyZWUoKS0+ZmluZChyZXF1ZXN0LmZyYW1lTmFt
ZSgpKTsKICAgICAgICAgaWYgKGZyYW1lICYmIHNob3VsZEFsbG93TmF2aWdhdGlvbihmcmFtZSkp
IHsKICAgICAgICAgICAgIGlmICghcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKS5pc0Vt
cHR5KCkpCi0gICAgICAgICAgICAgICAgZnJhbWUtPmxvYWRlcigpLT5sb2FkRnJhbWVSZXF1ZXN0
KHJlcXVlc3QsIGZhbHNlLCBmYWxzZSwgMCwgMCwgU2VuZFJlZmVycmVyKTsKKyAgICAgICAgICAg
ICAgICBmcmFtZS0+bG9hZGVyKCktPmxvYWRGcmFtZVJlcXVlc3QocmVxdWVzdC5yZXNvdXJjZVJl
cXVlc3QoKSwgcmVxdWVzdC5mcmFtZU5hbWUoKSwgZmFsc2UsIGZhbHNlLCAwLCAwLCBTZW5kUmVm
ZXJyZXIpOwogICAgICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpKQogICAg
ICAgICAgICAgICAgIHBhZ2UtPmNocm9tZSgpLT5mb2N1cygpOwogICAgICAgICAgICAgY3JlYXRl
ZCA9IGZhbHNlOwpAQCAtMzUxLDE1ICszNTEsMTYgQEAgdm9pZCBGcmFtZUxvYWRlcjo6dXJsU2Vs
ZWN0ZWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIHBhc3MK
ICAgICBpZiAodGFyZ2V0LmlzRW1wdHkoKSkKICAgICAgICAgdGFyZ2V0ID0gbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+YmFzZVRhcmdldCgpOwogCi0gICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZVJlcXVl
c3QocmVxdWVzdCwgdGFyZ2V0KTsKKyAgICAvLyBNYWtlIGEgY29weSBzbyB3ZSBjYW4gY2FsbCBh
ZGRIVFRQT3JpZ2luSWZOZWVkZWQoKSBwcmlvciB0byBjYWxsaW5nIGxvYWRGcmFtZVJlcXVlc3Qo
KS4KKyAgICBSZXNvdXJjZVJlcXVlc3QgbmV3UmVzb3VyY2VSZXF1ZXN0KHJlcXVlc3QpOwogCiAg
ICAgaWYgKHJlZmVycmVyUG9saWN5ID09IE5vUmVmZXJyZXIpCiAgICAgICAgIG1fc3VwcHJlc3NP
cGVuZXJJbk5ld0ZyYW1lID0gdHJ1ZTsKLSAgICBlbHNlIGlmIChmcmFtZVJlcXVlc3QucmVzb3Vy
Y2VSZXF1ZXN0KCkuaHR0cFJlZmVycmVyKCkuaXNFbXB0eSgpKQotICAgICAgICBmcmFtZVJlcXVl
c3QucmVzb3VyY2VSZXF1ZXN0KCkuc2V0SFRUUFJlZmVycmVyKG1fb3V0Z29pbmdSZWZlcnJlcik7
Ci0gICAgYWRkSFRUUE9yaWdpbklmTmVlZGVkKGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3Qo
KSwgb3V0Z29pbmdPcmlnaW4oKSk7CisgICAgZWxzZSBpZiAobmV3UmVzb3VyY2VSZXF1ZXN0Lmh0
dHBSZWZlcnJlcigpLmlzRW1wdHkoKSkKKyAgICAgICAgbmV3UmVzb3VyY2VSZXF1ZXN0LnNldEhU
VFBSZWZlcnJlcihtX291dGdvaW5nUmVmZXJyZXIpOworICAgIGFkZEhUVFBPcmlnaW5JZk5lZWRl
ZChuZXdSZXNvdXJjZVJlcXVlc3QsIG91dGdvaW5nT3JpZ2luKCkpOwogCi0gICAgbG9hZEZyYW1l
UmVxdWVzdChmcmFtZVJlcXVlc3QsIGxvY2tIaXN0b3J5LCBsb2NrQmFja0ZvcndhcmRMaXN0LCB0
cmlnZ2VyaW5nRXZlbnQsIDAsIHJlZmVycmVyUG9saWN5KTsKKyAgICBsb2FkRnJhbWVSZXF1ZXN0
KG5ld1Jlc291cmNlUmVxdWVzdCwgdGFyZ2V0LCBsb2NrSGlzdG9yeSwgbG9ja0JhY2tGb3J3YXJk
TGlzdCwgdHJpZ2dlcmluZ0V2ZW50LCAwLCByZWZlcnJlclBvbGljeSk7CiAKICAgICBtX3N1cHBy
ZXNzT3BlbmVySW5OZXdGcmFtZSA9IGZhbHNlOwogfQpAQCAtMTc1OSwxMyArMTc2MCwxMyBAQCBz
dGF0aWMgYm9vbCBpc0ZlZWRXaXRoTmVzdGVkUHJvdG9jb2xJbkhUVFBGYW1pbHkoY29uc3QgS1VS
TCYgdXJsKQogICAgICAgICB8fCB1cmxTdHJpbmcuc3RhcnRzV2l0aCgiZmVlZHNlYXJjaDpodHRw
OiIsIGZhbHNlKSB8fCB1cmxTdHJpbmcuc3RhcnRzV2l0aCgiZmVlZHNlYXJjaDpodHRwczoiLCBm
YWxzZSk7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OmxvYWRGcmFtZVJlcXVlc3QoY29uc3QgRnJh
bWVMb2FkUmVxdWVzdCYgcmVxdWVzdCwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0Zv
cndhcmRMaXN0LAotICAgIFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPEZvcm1T
dGF0ZT4gZm9ybVN0YXRlLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSkKK3ZvaWQgRnJh
bWVMb2FkZXI6OmxvYWRGcmFtZVJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJj
ZVJlcXVlc3QsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBib29sIGxvY2tIaXN0b3J5LAorICAg
IGJvb2wgbG9ja0JhY2tGb3J3YXJkTGlzdCwgUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NS
ZWZQdHI8Rm9ybVN0YXRlPiBmb3JtU3RhdGUsIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5
KQogeyAgICAKLSAgICBLVVJMIHVybCA9IHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCk7
CisgICAgS1VSTCB1cmwgPSByZXNvdXJjZVJlcXVlc3QudXJsKCk7CiAKICAgICBTdHJpbmcgcmVm
ZXJyZXI7Ci0gICAgU3RyaW5nIGFyZ3NSZWZlcnJlciA9IHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0
KCkuaHR0cFJlZmVycmVyKCk7CisgICAgU3RyaW5nIGFyZ3NSZWZlcnJlciA9IHJlc291cmNlUmVx
dWVzdC5odHRwUmVmZXJyZXIoKTsKICAgICBpZiAoIWFyZ3NSZWZlcnJlci5pc0VtcHR5KCkpCiAg
ICAgICAgIHJlZmVycmVyID0gYXJnc1JlZmVycmVyOwogICAgIGVsc2UKQEAgLTE3ODMsMjIgKzE3
ODQsMjIgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZEZyYW1lUmVxdWVzdChjb25zdCBGcmFtZUxv
YWRSZXF1ZXN0JiByZXF1ZXN0LCBib29sIGxvY2tIaXMKICAgICAgICAgcmVmZXJyZXIgPSBTdHJp
bmcoKTsKICAgICAKICAgICBGcmFtZUxvYWRUeXBlIGxvYWRUeXBlOwotICAgIGlmIChyZXF1ZXN0
LnJlc291cmNlUmVxdWVzdCgpLmNhY2hlUG9saWN5KCkgPT0gUmVsb2FkSWdub3JpbmdDYWNoZURh
dGEpCisgICAgaWYgKHJlc291cmNlUmVxdWVzdC5jYWNoZVBvbGljeSgpID09IFJlbG9hZElnbm9y
aW5nQ2FjaGVEYXRhKQogICAgICAgICBsb2FkVHlwZSA9IEZyYW1lTG9hZFR5cGVSZWxvYWQ7CiAg
ICAgZWxzZSBpZiAobG9ja0JhY2tGb3J3YXJkTGlzdCkKICAgICAgICAgbG9hZFR5cGUgPSBGcmFt
ZUxvYWRUeXBlUmVkaXJlY3RXaXRoTG9ja2VkQmFja0ZvcndhcmRMaXN0OwogICAgIGVsc2UKICAg
ICAgICAgbG9hZFR5cGUgPSBGcmFtZUxvYWRUeXBlU3RhbmRhcmQ7CiAKLSAgICBpZiAocmVxdWVz
dC5yZXNvdXJjZVJlcXVlc3QoKS5odHRwTWV0aG9kKCkgPT0gIlBPU1QiKQotICAgICAgICBsb2Fk
UG9zdFJlcXVlc3QocmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKSwgcmVmZXJyZXIsIHJlcXVlc3Qu
ZnJhbWVOYW1lKCksIGxvY2tIaXN0b3J5LCBsb2FkVHlwZSwgZXZlbnQsIGZvcm1TdGF0ZS5nZXQo
KSk7CisgICAgaWYgKHJlc291cmNlUmVxdWVzdC5odHRwTWV0aG9kKCkgPT0gIlBPU1QiKQorICAg
ICAgICBsb2FkUG9zdFJlcXVlc3QocmVzb3VyY2VSZXF1ZXN0LCByZWZlcnJlciwgZnJhbWVOYW1l
LCBsb2NrSGlzdG9yeSwgbG9hZFR5cGUsIGV2ZW50LCBmb3JtU3RhdGUuZ2V0KCkpOwogICAgIGVs
c2UKLSAgICAgICAgbG9hZFVSTChyZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpLCByZWZl
cnJlciwgcmVxdWVzdC5mcmFtZU5hbWUoKSwgbG9ja0hpc3RvcnksIGxvYWRUeXBlLCBldmVudCwg
Zm9ybVN0YXRlLmdldCgpKTsKKyAgICAgICAgbG9hZFVSTChyZXNvdXJjZVJlcXVlc3QudXJsKCks
IHJlZmVycmVyLCBmcmFtZU5hbWUsIGxvY2tIaXN0b3J5LCBsb2FkVHlwZSwgZXZlbnQsIGZvcm1T
dGF0ZS5nZXQoKSk7CiAKICAgICAvLyBGSVhNRTogSXQncyBwb3NzaWJsZSB0aGlzIHRhcmdldEZy
YW1lIHdpbGwgbm90IGJlIHRoZSBzYW1lIGZyYW1lIHRoYXQgd2FzIHRhcmdldGVkIGJ5IHRoZSBh
Y3R1YWwKICAgICAvLyBsb2FkIGlmIGZyYW1lIG5hbWVzIGhhdmUgY2hhbmdlZC4KICAgICBGcmFt
ZSogc291cmNlRnJhbWUgPSBmb3JtU3RhdGUgPyBmb3JtU3RhdGUtPnNvdXJjZUZyYW1lKCkgOiBt
X2ZyYW1lOwotICAgIEZyYW1lKiB0YXJnZXRGcmFtZSA9IHNvdXJjZUZyYW1lLT5sb2FkZXIoKS0+
ZmluZEZyYW1lRm9yTmF2aWdhdGlvbihyZXF1ZXN0LmZyYW1lTmFtZSgpKTsKKyAgICBGcmFtZSog
dGFyZ2V0RnJhbWUgPSBzb3VyY2VGcmFtZS0+bG9hZGVyKCktPmZpbmRGcmFtZUZvck5hdmlnYXRp
b24oZnJhbWVOYW1lKTsKICAgICBpZiAodGFyZ2V0RnJhbWUgJiYgdGFyZ2V0RnJhbWUgIT0gc291
cmNlRnJhbWUpIHsKICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSB0YXJnZXRGcmFtZS0+cGFnZSgp
KQogICAgICAgICAgICAgcGFnZS0+Y2hyb21lKCktPmZvY3VzKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApp
bmRleCBlMGViZjRkLi5jMzBlNTY3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTExMyw4ICsxMTMs
OCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGxvYWRVUkxJbnRvQ2hpbGRGcmFtZShjb25zdCBLVVJM
JiwgY29uc3QgU3RyaW5nJiByZWZlcmVyLCBGcmFtZSopOwogCi0gICAgdm9pZCBsb2FkRnJhbWVS
ZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmLCBib29sIGxvY2tIaXN0b3J5LCBib29sIGxv
Y2tCYWNrRm9yd2FyZExpc3QsICAvLyBDYWxsZWQgYnkgc3VibWl0Rm9ybSwgY2FsbHMgbG9hZFBv
c3RSZXF1ZXN0IGFuZCBsb2FkVVJMLgotICAgICAgICBQYXNzUmVmUHRyPEV2ZW50PiwgUGFzc1Jl
ZlB0cjxGb3JtU3RhdGU+LCBSZWZlcnJlclBvbGljeSk7CisgICAgdm9pZCBsb2FkRnJhbWVSZXF1
ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBib29s
IGxvY2tIaXN0b3J5LCAvLyBDYWxsZWQgYnkgc3VibWl0Rm9ybSwgY2FsbHMgbG9hZFBvc3RSZXF1
ZXN0IGFuZCBsb2FkVVJMLgorICAgICAgICBib29sIGxvY2tCYWNrRm9yd2FyZExpc3QsIFBhc3NS
ZWZQdHI8RXZlbnQ+LCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4sIFJlZmVycmVyUG9saWN5KTsKIAog
ICAgIHZvaWQgbG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBib29sIGxvY2tIaXN0b3J5KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2FsbGVkIGJ5IFdlYkZy
YW1lLCBjYWxscyBsb2FkKFJlc291cmNlUmVxdWVzdCwgU3Vic3RpdHV0ZURhdGEpLgogICAgIHZv
aWQgbG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdWJzdGl0dXRlRGF0YSYsIGJv
b2wgbG9ja0hpc3RvcnkpOyAgICAgICAgICAgICAgICAgLy8gQ2FsbGVkIGJvdGggYnkgV2ViRnJh
bWUgYW5kIGludGVybmFsbHksIGNhbGxzIGxvYWQoRG9jdW1lbnRMb2FkZXIqKS4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL1JlZGlyZWN0U2NoZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVy
L1JlZGlyZWN0U2NoZWR1bGVyLmNwcAppbmRleCBiNGM4NmQ0Li40NjA0YTUyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9SZWRpcmVjdFNjaGVkdWxlci5jcHAKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvUmVkaXJlY3RTY2hlZHVsZXIuY3BwCkBAIC0xOTEsNyArMTkxLDcgQEAgcHVibGljOgogICAg
ICAgICAvLyB3aXRob3V0IGxlYXZpbmcgYSB0aW1lIHdpbmRvdy4gSWYgd2UgZmFpbCB0aGUgY2hl
Y2sganVzdCBzaWxlbnRseSBkcm9wIHRoZSBmb3JtIHN1Ym1pc3Npb24uCiAgICAgICAgIGlmICgh
bV9mb3JtU3RhdGUtPnNvdXJjZUZyYW1lKCktPmxvYWRlcigpLT5zaG91bGRBbGxvd05hdmlnYXRp
b24oZnJhbWUpKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBmcmFtZS0+bG9hZGVyKCkt
PmxvYWRGcmFtZVJlcXVlc3QobV9mcmFtZVJlcXVlc3QsIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNr
Rm9yd2FyZExpc3QoKSwgbV9ldmVudCwgbV9mb3JtU3RhdGUsIFNlbmRSZWZlcnJlcik7CisgICAg
ICAgIGZyYW1lLT5sb2FkZXIoKS0+bG9hZEZyYW1lUmVxdWVzdChtX2ZyYW1lUmVxdWVzdC5yZXNv
dXJjZVJlcXVlc3QoKSwgbV9mcmFtZVJlcXVlc3QuZnJhbWVOYW1lKCksIGxvY2tIaXN0b3J5KCks
IGxvY2tCYWNrRm9yd2FyZExpc3QoKSwgbV9ldmVudCwgbV9mb3JtU3RhdGUsIFNlbmRSZWZlcnJl
cik7CiAgICAgfQogCiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBkaWRTdGFydFRpbWVyPyBJdCB3
b3VsZCBtYWtlIHNlbnNlIHRvIHJlcG9ydCBmb3JtCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRy
b2xsZXIuY3BwCmluZGV4IGQzODRiMDIuLjhlMDk5MzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuY3BwCkBAIC0yNDksNyArMjQ5LDcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRy
b2xsZXI6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51SXRlbSogaXRlbSkKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluazoKICAgICAg
ICAgaWYgKEZyYW1lKiB0YXJnZXRGcmFtZSA9IHJlc3VsdC50YXJnZXRGcmFtZSgpKQotICAgICAg
ICAgICAgdGFyZ2V0RnJhbWUtPmxvYWRlcigpLT5sb2FkRnJhbWVSZXF1ZXN0KEZyYW1lTG9hZFJl
cXVlc3QoUmVzb3VyY2VSZXF1ZXN0KHJlc3VsdC5hYnNvbHV0ZUxpbmtVUkwoKSwgZnJhbWUtPmxv
YWRlcigpLT5vdXRnb2luZ1JlZmVycmVyKCkpKSwgZmFsc2UsIGZhbHNlLCAwLCAwLCBTZW5kUmVm
ZXJyZXIpOworICAgICAgICAgICAgdGFyZ2V0RnJhbWUtPmxvYWRlcigpLT5sb2FkRnJhbWVSZXF1
ZXN0KFJlc291cmNlUmVxdWVzdChyZXN1bHQuYWJzb2x1dGVMaW5rVVJMKCksIGZyYW1lLT5sb2Fk
ZXIoKS0+b3V0Z29pbmdSZWZlcnJlcigpKSwgU3RyaW5nKCksIGZhbHNlLCBmYWxzZSwgMCwgMCwg
U2VuZFJlZmVycmVyKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgb3Blbk5ld1dpbmRvdyhy
ZXN1bHQuYWJzb2x1dGVMaW5rVVJMKCksIGZyYW1lKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCA5NmY5YjkxLi5lMjI0ZmIwIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxMC0wNS0xNCAgQ2hyaXMgSmVyZG9uZWsgIDxjamVyZG9uZWtAd2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZWVkIGEgc2hvcnQg
ZGVzY3JpcHRpb24gKE9PUFMhKQorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zOTExMgorCisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lcklt
cGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjpsb2FkRnJh
bWVSZXF1ZXN0KToKKwogMjAxMC0wNS0xNCAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAgYi9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwCmluZGV4IGIyMDdhMjUuLjY3
ZDRhNDQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVy
SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBs
LmNwcApAQCAtNDksNyArNDksNiBAQAogI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIkZvcm1TdGF0ZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiRnJhbWVM
b2FkUmVxdWVzdC5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkdyYXBoaWNz
Q29udGV4dC5oIgogI2luY2x1ZGUgIkhvc3RXaW5kb3cuaCIKQEAgLTMxMSwxMSArMzEwLDkgQEAg
dm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjpsb2FkRnJhbWVSZXF1ZXN0KAogICAgICAgICBX
ZWJEYXRhU291cmNlSW1wbDo6c2V0TmV4dFBsdWdpbkxvYWRPYnNlcnZlcihvYnNlcnZlcik7CiAg
ICAgfQogCi0gICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZVJlcXVlc3QocmVxdWVzdC50b1Jlc291
cmNlUmVxdWVzdCgpKTsKLSAgICBmcmFtZVJlcXVlc3Quc2V0RnJhbWVOYW1lKHRhcmdldCk7Ci0K
ICAgICBmcmFtZS0+bG9hZGVyKCktPmxvYWRGcmFtZVJlcXVlc3QoCi0gICAgICAgIGZyYW1lUmVx
dWVzdCwKKyAgICAgICAgcmVxdWVzdC50b1Jlc291cmNlUmVxdWVzdCgpLAorICAgICAgICB0YXJn
ZXQsCiAgICAgICAgIGZhbHNlLCAgLy8gbG9jayBoaXN0b3J5CiAgICAgICAgIGZhbHNlLCAgLy8g
bG9jayBiYWNrIGZvcndhcmQgbGlzdAogICAgICAgICAwLCAgICAgIC8vIGV2ZW50CmRpZmYgLS1n
aXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbSBiL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQREZWaWV3Lm1tCmluZGV4IDFiZTMwMzMuLjgzNGU1ZmEgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQREZWaWV3Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
REZWaWV3Lm1tCkBAIC01MCw3ICs1MCw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL0V2ZW50TmFtZXMu
aD4KICNpbXBvcnQgPFdlYkNvcmUvRm9ybVN0YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1l
Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL0ZyYW1lTG9hZFJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNv
cmUvRnJhbWVMb2FkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvSFRNTEZvcm1FbGVtZW50Lmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0tVUkwuaD4KQEAgLTk1OCw3ICs5NTcsNyBAQCBzdGF0aWMgQk9PTCBf
UERGU2VsZWN0aW9uc0FyZUVxdWFsKFBERlNlbGVjdGlvbiAqc2VsZWN0aW9uQSwgUERGU2VsZWN0
aW9uICpzZWxlYwogICAgIH0KIAogICAgIC8vIENhbGwgdG8gdGhlIGZyYW1lIGxvYWRlciBiZWNh
dXNlIHRoaXMgaXMgd2hlcmUgb3VyIHNlY3VyaXR5IGNoZWNrcyBhcmUgbWFkZS4KLSAgICBjb3Jl
KFtkYXRhU291cmNlIHdlYkZyYW1lXSktPmxvYWRlcigpLT5sb2FkRnJhbWVSZXF1ZXN0KFJlc291
cmNlUmVxdWVzdChVUkwpLCBmYWxzZSwgZmFsc2UsIGV2ZW50LmdldCgpLCAwLCBTZW5kUmVmZXJy
ZXIpOworICAgIGNvcmUoW2RhdGFTb3VyY2Ugd2ViRnJhbWVdKS0+bG9hZGVyKCktPmxvYWRGcmFt
ZVJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KFVSTCksIFN0cmluZygpLCBmYWxzZSwgZmFsc2UsIGV2
ZW50LmdldCgpLCAwLCBTZW5kUmVmZXJyZXIpOwogfQogCiAtICh2b2lkKVBERlZpZXdPcGVuUERG
SW5OYXRpdmVBcHBsaWNhdGlvbjooUERGVmlldyAqKXNlbmRlcgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAz
ODEwMTU1Li4xMjZhNmM4IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAor
KysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMTkzMiw5ICsxOTMyLDE0IEBAIFFP
YmplY3QgKlFXZWJQYWdlOjpjcmVhdGVQbHVnaW4oY29uc3QgUVN0cmluZyAmY2xhc3NpZCwgY29u
c3QgUVVybCAmdXJsLCBjb25zdCBRCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VSZXF1ZXN0KGNvbnN0IFFVcmwgJnVybCwgV2ViQ29y
ZTo6RnJhbWUgKmZyYW1lKQoreworICAgIHJldHVybiBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qo
dXJsLCBmcmFtZS0+bG9hZGVyKCktPm91dGdvaW5nUmVmZXJyZXIoKSk7Cit9CisKIHN0YXRpYyBX
ZWJDb3JlOjpGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QoY29uc3QgUVVybCAmdXJs
LCBXZWJDb3JlOjpGcmFtZSAqZnJhbWUpCiB7Ci0gICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
IHJyKHVybCwgZnJhbWUtPmxvYWRlcigpLT5vdXRnb2luZ1JlZmVycmVyKCkpOworICAgIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCByciA9IHJlc291cmNlUmVxdWVzdCh1cmwsIGZyYW1lKTsKICAg
ICByZXR1cm4gV2ViQ29yZTo6RnJhbWVMb2FkUmVxdWVzdChycik7CiB9CiAKQEAgLTE5NzAsNyAr
MTk3NSw3IEBAIHZvaWQgUVdlYlBhZ2U6OnRyaWdnZXJBY3Rpb24oV2ViQWN0aW9uIGFjdGlvbiwg
Ym9vbCkKICAgICAgICAgY2FzZSBPcGVuTGluazoKICAgICAgICAgICAgIGlmIChRV2ViRnJhbWUg
KnRhcmdldEZyYW1lID0gZC0+aGl0VGVzdFJlc3VsdC5saW5rVGFyZ2V0RnJhbWUoKSkgewogICAg
ICAgICAgICAgICAgIFdURjo6UmVmUHRyPFdlYkNvcmU6OkZyYW1lPiB3Y0ZyYW1lID0gdGFyZ2V0
RnJhbWUtPmQtPmZyYW1lOwotICAgICAgICAgICAgICAgIHRhcmdldEZyYW1lLT5kLT5mcmFtZS0+
bG9hZGVyKCktPmxvYWRGcmFtZVJlcXVlc3QoZnJhbWVMb2FkUmVxdWVzdChkLT5oaXRUZXN0UmVz
dWx0LmxpbmtVcmwoKSwgd2NGcmFtZS5nZXQoKSksCisgICAgICAgICAgICAgICAgdGFyZ2V0RnJh
bWUtPmQtPmZyYW1lLT5sb2FkZXIoKS0+bG9hZEZyYW1lUmVxdWVzdChyZXNvdXJjZVJlcXVlc3Qo
ZC0+aGl0VGVzdFJlc3VsdC5saW5rVXJsKCksIHdjRnJhbWUuZ2V0KCkpLCAvKmZyYW1lTmFtZSov
IFN0cmluZygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLypsb2NrSGlzdG9yeSovIGZhbHNlLCAvKmxvY2tCYWNrRm9y
d2FyZExpc3QqLyBmYWxzZSwgLypldmVudCovIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKkZvcm1TdGF0ZSovIDAs
IFNlbmRSZWZlcnJlcik7CiAgICAgICAgICAgICAgICAgYnJlYWs7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56138</attachid>
            <date>2010-05-14 21:29:25 -0700</date>
            <delta_ts>2010-06-11 13:09:33 -0700</delta_ts>
            <desc>Proposed patch 2</desc>
            <filename>_patch-39112-2.diff</filename>
            <type>text/plain</type>
            <size>16862</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDI2NDk5MS4uMWM0MmQyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMC0wNS0xNCAgQ2hyaXMgSmVyZG9u
ZWsgIDxjamVyZG9uZWtAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmVkIEZyYW1lTG9hZGVyJ3MgbG9hZEZyYW1lUmVx
dWVzdCgpIHRvIGFjY2VwdCBhIFJlc291cmNlUmVxdWVzdAorICAgICAgICBhbmQgZnJhbWUgbmFt
ZSBpbnN0ZWFkIG9mIGEgRnJhbWVMb2FkUmVxdWVzdC4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzkxMTIKKworICAgICAgICBUaGlzIGNoYW5nZSBt
YWtlcyB0aGUgc2lnbmF0dXJlIG9mIGxvYWRGcmFtZVJlcXVlc3QoKSBtb3JlIHNpbWlsYXIKKyAg
ICAgICAgdG8gdGhlIHNpZ25hdHVyZXMgdXNlZCBwcmVkb21pbmFudGx5IGJ5IHRoZSBvdGhlciBG
cmFtZUxvYWRlciBsb2FkKCkKKyAgICAgICAgbWV0aG9kcy4gIFRoaXMgd2lsbCBhaWQgaW4gcmVm
YWN0b3JpbmcgRnJhbWVMb2FkZXIuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxp
dHksIHNvIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUuYmFzZS5leHA6CisgICAg
ICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpjcmVhdGVXaW5kb3cpOgorICAgICAgICAgIC0gVXBkYXRlZCB0byBjYWxsIGxvYWRGcmFt
ZVJlcXVlc3QoKSB3aXRoIHRoZSBuZXcgc2lnbmF0dXJlLgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXI6OnVybFNlbGVjdGVkKToKKyAgICAgICAgICAtIFVwZGF0ZWQgdG8gY2FsbCBsb2Fk
RnJhbWVSZXF1ZXN0KCkgd2l0aCB0aGUgbmV3IHNpZ25hdHVyZS4KKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjpsb2FkRnJhbWVSZXF1ZXN0KToKKyAgICAgICAgICAtIENoYW5nZWQgdGhl
IHNpZ25hdHVyZSBhcyBkZXNjcmliZWQgYWJvdmUuCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9h
ZGVyLmg6CisgICAgICAgICAgLSBDaGFuZ2VkIHRoZSBzaWduYXR1cmUgb2YgbG9hZEZyYW1lUmVx
dWVzdCgpIGFzIGRlc2NyaWJlZCBhYm92ZS4KKyAgICAgICAgKiBsb2FkZXIvUmVkaXJlY3RTY2hl
ZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkRm9ybVN1Ym1pc3Npb246OmZp
cmUpOgorICAgICAgICAgIC0gVXBkYXRlZCB0byBjYWxsIGxvYWRGcmFtZVJlcXVlc3QoKSB3aXRo
IHRoZSBuZXcgc2lnbmF0dXJlLgorICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6Y29udGV4dE1l
bnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAgIC0gVXBkYXRlZCB0byBjYWxsIGxvYWRGcmFtZVJl
cXVlc3QoKSB3aXRoIHRoZSBuZXcgc2lnbmF0dXJlLgorCiAyMDEwLTA1LTE0ICBBbmRyZWFzIEts
aW5nICA8YW5kcmVhcy5rbGluZ0Bub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAgYi9XZWJDb3Jl
L1dlYkNvcmUuYmFzZS5leHAKaW5kZXggMzU5MDA2YS4uMDJiM2M5MSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9XZWJDb3JlLmJhc2UuZXhwCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cApAQCAt
MTU1LDcgKzE1NSw3IEBAIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIxMnNob3VsZFJlbG9hZEVS
S05TXzRLVVJMRVMzXwogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE0ZGV0YWNoQ2hpbGRyZW5F
dgogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE0c3RvcEFsbExvYWRlcnNFTlNfMTREYXRhYmFz
ZVBvbGljeUUKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIxNmRldGFjaEZyb21QYXJlbnRFdgot
X19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2bG9hZEZyYW1lUmVxdWVzdEVSS05TXzE2RnJhbWVM
b2FkUmVxdWVzdEViYk4zV1RGMTBQYXNzUmVmUHRySU5TXzVFdmVudEVFRU5TNV9JTlNfOUZvcm1T
dGF0ZUVFRU5TXzE0UmVmZXJyZXJQb2xpY3lFCitfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMTZs
b2FkRnJhbWVSZXF1ZXN0RVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFUktOU182U3RyaW5nRWJiTjNX
VEYxMFBhc3NSZWZQdHJJTlNfNUV2ZW50RUVFTlM4X0lOU185Rm9ybVN0YXRlRUVFTlNfMTRSZWZl
cnJlclBvbGljeUUKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIxN3N0b3BGb3JVc2VyQ2FuY2Vs
RWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxvYWRVUkxJbnRvQ2hpbGRGcmFtZUVSS05T
XzRLVVJMRVJLTlNfNlN0cmluZ0VQTlNfNUZyYW1lRQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjIyZmluZEZyYW1lRm9yTmF2aWdhdGlvbkVSS05TXzEyQXRvbWljU3RyaW5nRQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCmluZGV4IGZkNzkwN2UuLmQzYTRmMDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
QEAgLTI2Niw3ICsyNjYsNyBAQCBGcmFtZSogRnJhbWVMb2FkZXI6OmNyZWF0ZVdpbmRvdyhGcmFt
ZUxvYWRlciogZnJhbWVMb2FkZXJGb3JGcmFtZUxvb2t1cCwgY29uc3QgRgogICAgICAgICBGcmFt
ZSogZnJhbWUgPSBmcmFtZUxvYWRlckZvckZyYW1lTG9va3VwLT5mcmFtZSgpLT50cmVlKCktPmZp
bmQocmVxdWVzdC5mcmFtZU5hbWUoKSk7CiAgICAgICAgIGlmIChmcmFtZSAmJiBzaG91bGRBbGxv
d05hdmlnYXRpb24oZnJhbWUpKSB7CiAgICAgICAgICAgICBpZiAoIXJlcXVlc3QucmVzb3VyY2VS
ZXF1ZXN0KCkudXJsKCkuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAgIGZyYW1lLT5sb2FkZXIo
KS0+bG9hZEZyYW1lUmVxdWVzdChyZXF1ZXN0LCBmYWxzZSwgZmFsc2UsIDAsIDAsIFNlbmRSZWZl
cnJlcik7CisgICAgICAgICAgICAgICAgZnJhbWUtPmxvYWRlcigpLT5sb2FkRnJhbWVSZXF1ZXN0
KHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCksIHJlcXVlc3QuZnJhbWVOYW1lKCksIGZhbHNlLCBm
YWxzZSwgMCwgMCwgU2VuZFJlZmVycmVyKTsKICAgICAgICAgICAgIGlmIChQYWdlKiBwYWdlID0g
ZnJhbWUtPnBhZ2UoKSkKICAgICAgICAgICAgICAgICBwYWdlLT5jaHJvbWUoKS0+Zm9jdXMoKTsK
ICAgICAgICAgICAgIGNyZWF0ZWQgPSBmYWxzZTsKQEAgLTM1MSwxNSArMzUxLDE2IEBAIHZvaWQg
RnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgU3RyaW5nJiBwYXNzCiAgICAgaWYgKHRhcmdldC5pc0VtcHR5KCkpCiAgICAgICAgIHRh
cmdldCA9IG1fZnJhbWUtPmRvY3VtZW50KCktPmJhc2VUYXJnZXQoKTsKIAotICAgIEZyYW1lTG9h
ZFJlcXVlc3QgZnJhbWVSZXF1ZXN0KHJlcXVlc3QsIHRhcmdldCk7CisgICAgLy8gTWFrZSBhIGNv
cHkgc28gd2UgY2FuIGNhbGwgYWRkSFRUUE9yaWdpbklmTmVlZGVkKCkgcHJpb3IgdG8gY2FsbGlu
ZyBsb2FkRnJhbWVSZXF1ZXN0KCkuCisgICAgUmVzb3VyY2VSZXF1ZXN0IG5ld1Jlc291cmNlUmVx
dWVzdChyZXF1ZXN0KTsKIAogICAgIGlmIChyZWZlcnJlclBvbGljeSA9PSBOb1JlZmVycmVyKQog
ICAgICAgICBtX3N1cHByZXNzT3BlbmVySW5OZXdGcmFtZSA9IHRydWU7Ci0gICAgZWxzZSBpZiAo
ZnJhbWVSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLmh0dHBSZWZlcnJlcigpLmlzRW1wdHkoKSkK
LSAgICAgICAgZnJhbWVSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnNldEhUVFBSZWZlcnJlciht
X291dGdvaW5nUmVmZXJyZXIpOwotICAgIGFkZEhUVFBPcmlnaW5JZk5lZWRlZChmcmFtZVJlcXVl
c3QucmVzb3VyY2VSZXF1ZXN0KCksIG91dGdvaW5nT3JpZ2luKCkpOworICAgIGVsc2UgaWYgKG5l
d1Jlc291cmNlUmVxdWVzdC5odHRwUmVmZXJyZXIoKS5pc0VtcHR5KCkpCisgICAgICAgIG5ld1Jl
c291cmNlUmVxdWVzdC5zZXRIVFRQUmVmZXJyZXIobV9vdXRnb2luZ1JlZmVycmVyKTsKKyAgICBh
ZGRIVFRQT3JpZ2luSWZOZWVkZWQobmV3UmVzb3VyY2VSZXF1ZXN0LCBvdXRnb2luZ09yaWdpbigp
KTsKIAotICAgIGxvYWRGcmFtZVJlcXVlc3QoZnJhbWVSZXF1ZXN0LCBsb2NrSGlzdG9yeSwgbG9j
a0JhY2tGb3J3YXJkTGlzdCwgdHJpZ2dlcmluZ0V2ZW50LCAwLCByZWZlcnJlclBvbGljeSk7Cisg
ICAgbG9hZEZyYW1lUmVxdWVzdChuZXdSZXNvdXJjZVJlcXVlc3QsIHRhcmdldCwgbG9ja0hpc3Rv
cnksIGxvY2tCYWNrRm9yd2FyZExpc3QsIHRyaWdnZXJpbmdFdmVudCwgMCwgcmVmZXJyZXJQb2xp
Y3kpOwogCiAgICAgbV9zdXBwcmVzc09wZW5lckluTmV3RnJhbWUgPSBmYWxzZTsKIH0KQEAgLTE3
NTksMTMgKzE3NjAsMTMgQEAgc3RhdGljIGJvb2wgaXNGZWVkV2l0aE5lc3RlZFByb3RvY29sSW5I
VFRQRmFtaWx5KGNvbnN0IEtVUkwmIHVybCkKICAgICAgICAgfHwgdXJsU3RyaW5nLnN0YXJ0c1dp
dGgoImZlZWRzZWFyY2g6aHR0cDoiLCBmYWxzZSkgfHwgdXJsU3RyaW5nLnN0YXJ0c1dpdGgoImZl
ZWRzZWFyY2g6aHR0cHM6IiwgZmFsc2UpOwogfQogCi12b2lkIEZyYW1lTG9hZGVyOjpsb2FkRnJh
bWVSZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIHJlcXVlc3QsIGJvb2wgbG9ja0hpc3Rv
cnksIGJvb2wgbG9ja0JhY2tGb3J3YXJkTGlzdCwKLSAgICBQYXNzUmVmUHRyPEV2ZW50PiBldmVu
dCwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+IGZvcm1TdGF0ZSwgUmVmZXJyZXJQb2xpY3kgcmVmZXJy
ZXJQb2xpY3kpCit2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRnJhbWVSZXF1ZXN0KGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgYm9v
bCBsb2NrSGlzdG9yeSwKKyAgICBib29sIGxvY2tCYWNrRm9yd2FyZExpc3QsIFBhc3NSZWZQdHI8
RXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4gZm9ybVN0YXRlLCBSZWZlcnJlclBv
bGljeSByZWZlcnJlclBvbGljeSkKIHsgICAgCi0gICAgS1VSTCB1cmwgPSByZXF1ZXN0LnJlc291
cmNlUmVxdWVzdCgpLnVybCgpOworICAgIEtVUkwgdXJsID0gcmVzb3VyY2VSZXF1ZXN0LnVybCgp
OwogCiAgICAgU3RyaW5nIHJlZmVycmVyOwotICAgIFN0cmluZyBhcmdzUmVmZXJyZXIgPSByZXF1
ZXN0LnJlc291cmNlUmVxdWVzdCgpLmh0dHBSZWZlcnJlcigpOworICAgIFN0cmluZyBhcmdzUmVm
ZXJyZXIgPSByZXNvdXJjZVJlcXVlc3QuaHR0cFJlZmVycmVyKCk7CiAgICAgaWYgKCFhcmdzUmVm
ZXJyZXIuaXNFbXB0eSgpKQogICAgICAgICByZWZlcnJlciA9IGFyZ3NSZWZlcnJlcjsKICAgICBl
bHNlCkBAIC0xNzgzLDIyICsxNzg0LDIyIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRGcmFtZVJl
cXVlc3QoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgcmVxdWVzdCwgYm9vbCBsb2NrSGlzCiAgICAg
ICAgIHJlZmVycmVyID0gU3RyaW5nKCk7CiAgICAgCiAgICAgRnJhbWVMb2FkVHlwZSBsb2FkVHlw
ZTsKLSAgICBpZiAocmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5jYWNoZVBvbGljeSgpID09IFJl
bG9hZElnbm9yaW5nQ2FjaGVEYXRhKQorICAgIGlmIChyZXNvdXJjZVJlcXVlc3QuY2FjaGVQb2xp
Y3koKSA9PSBSZWxvYWRJZ25vcmluZ0NhY2hlRGF0YSkKICAgICAgICAgbG9hZFR5cGUgPSBGcmFt
ZUxvYWRUeXBlUmVsb2FkOwogICAgIGVsc2UgaWYgKGxvY2tCYWNrRm9yd2FyZExpc3QpCiAgICAg
ICAgIGxvYWRUeXBlID0gRnJhbWVMb2FkVHlwZVJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJk
TGlzdDsKICAgICBlbHNlCiAgICAgICAgIGxvYWRUeXBlID0gRnJhbWVMb2FkVHlwZVN0YW5kYXJk
OwogCi0gICAgaWYgKHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkuaHR0cE1ldGhvZCgpID09ICJQ
T1NUIikKLSAgICAgICAgbG9hZFBvc3RSZXF1ZXN0KHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCks
IHJlZmVycmVyLCByZXF1ZXN0LmZyYW1lTmFtZSgpLCBsb2NrSGlzdG9yeSwgbG9hZFR5cGUsIGV2
ZW50LCBmb3JtU3RhdGUuZ2V0KCkpOworICAgIGlmIChyZXNvdXJjZVJlcXVlc3QuaHR0cE1ldGhv
ZCgpID09ICJQT1NUIikKKyAgICAgICAgbG9hZFBvc3RSZXF1ZXN0KHJlc291cmNlUmVxdWVzdCwg
cmVmZXJyZXIsIGZyYW1lTmFtZSwgbG9ja0hpc3RvcnksIGxvYWRUeXBlLCBldmVudCwgZm9ybVN0
YXRlLmdldCgpKTsKICAgICBlbHNlCi0gICAgICAgIGxvYWRVUkwocmVxdWVzdC5yZXNvdXJjZVJl
cXVlc3QoKS51cmwoKSwgcmVmZXJyZXIsIHJlcXVlc3QuZnJhbWVOYW1lKCksIGxvY2tIaXN0b3J5
LCBsb2FkVHlwZSwgZXZlbnQsIGZvcm1TdGF0ZS5nZXQoKSk7CisgICAgICAgIGxvYWRVUkwocmVz
b3VyY2VSZXF1ZXN0LnVybCgpLCByZWZlcnJlciwgZnJhbWVOYW1lLCBsb2NrSGlzdG9yeSwgbG9h
ZFR5cGUsIGV2ZW50LCBmb3JtU3RhdGUuZ2V0KCkpOwogCiAgICAgLy8gRklYTUU6IEl0J3MgcG9z
c2libGUgdGhpcyB0YXJnZXRGcmFtZSB3aWxsIG5vdCBiZSB0aGUgc2FtZSBmcmFtZSB0aGF0IHdh
cyB0YXJnZXRlZCBieSB0aGUgYWN0dWFsCiAgICAgLy8gbG9hZCBpZiBmcmFtZSBuYW1lcyBoYXZl
IGNoYW5nZWQuCiAgICAgRnJhbWUqIHNvdXJjZUZyYW1lID0gZm9ybVN0YXRlID8gZm9ybVN0YXRl
LT5zb3VyY2VGcmFtZSgpIDogbV9mcmFtZTsKLSAgICBGcmFtZSogdGFyZ2V0RnJhbWUgPSBzb3Vy
Y2VGcmFtZS0+bG9hZGVyKCktPmZpbmRGcmFtZUZvck5hdmlnYXRpb24ocmVxdWVzdC5mcmFtZU5h
bWUoKSk7CisgICAgRnJhbWUqIHRhcmdldEZyYW1lID0gc291cmNlRnJhbWUtPmxvYWRlcigpLT5m
aW5kRnJhbWVGb3JOYXZpZ2F0aW9uKGZyYW1lTmFtZSk7CiAgICAgaWYgKHRhcmdldEZyYW1lICYm
IHRhcmdldEZyYW1lICE9IHNvdXJjZUZyYW1lKSB7CiAgICAgICAgIGlmIChQYWdlKiBwYWdlID0g
dGFyZ2V0RnJhbWUtPnBhZ2UoKSkKICAgICAgICAgICAgIHBhZ2UtPmNocm9tZSgpLT5mb2N1cygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggZTBlYmY0ZC4uNDVhYTY0NyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC0xMTMsOCArMTEzLDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBsb2FkVVJMSW50b0No
aWxkRnJhbWUoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgcmVmZXJlciwgRnJhbWUqKTsKIAot
ICAgIHZvaWQgbG9hZEZyYW1lUmVxdWVzdChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiwgYm9vbCBs
b2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0LCAgLy8gQ2FsbGVkIGJ5IHN1Ym1p
dEZvcm0sIGNhbGxzIGxvYWRQb3N0UmVxdWVzdCBhbmQgbG9hZFVSTC4KLSAgICAgICAgUGFzc1Jl
ZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiwgUmVmZXJyZXJQb2xpY3kpOworICAg
IC8vIFBhc3MgU3RyaW5nKCkgZm9yIGZyYW1lTmFtZSBpZiB0aGVyZSBpcyBubyBmcmFtZSBuYW1l
LgorICAgIHZvaWQgbG9hZEZyYW1lUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25z
dCBTdHJpbmcmIGZyYW1lTmFtZSwgYm9vbCBsb2NrSGlzdG9yeSwgLy8gQ2FsbGVkIGJ5IHN1Ym1p
dEZvcm0sIGNhbGxzIGxvYWRQb3N0UmVxdWVzdCBhbmQgbG9hZFVSTC4KKyAgICAgICAgYm9vbCBs
b2NrQmFja0ZvcndhcmRMaXN0LCBQYXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxGb3JtU3Rh
dGU+LCBSZWZlcnJlclBvbGljeSk7CiAKICAgICB2b2lkIGxvYWQoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiwgYm9vbCBsb2NrSGlzdG9yeSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIENhbGxlZCBieSBXZWJGcmFtZSwgY2FsbHMgbG9hZChSZXNvdXJjZVJlcXVlc3Qs
IFN1YnN0aXR1dGVEYXRhKS4KICAgICB2b2lkIGxvYWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgU3Vic3RpdHV0ZURhdGEmLCBib29sIGxvY2tIaXN0b3J5KTsgICAgICAgICAgICAgICAg
IC8vIENhbGxlZCBib3RoIGJ5IFdlYkZyYW1lIGFuZCBpbnRlcm5hbGx5LCBjYWxscyBsb2FkKERv
Y3VtZW50TG9hZGVyKikuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZWRpcmVjdFNjaGVk
dWxlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9SZWRpcmVjdFNjaGVkdWxlci5jcHAKaW5kZXggYjRj
ODZkNC4uNDYwNGE1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVkaXJlY3RTY2hlZHVs
ZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL1JlZGlyZWN0U2NoZWR1bGVyLmNwcApAQCAtMTkx
LDcgKzE5MSw3IEBAIHB1YmxpYzoKICAgICAgICAgLy8gd2l0aG91dCBsZWF2aW5nIGEgdGltZSB3
aW5kb3cuIElmIHdlIGZhaWwgdGhlIGNoZWNrIGp1c3Qgc2lsZW50bHkgZHJvcCB0aGUgZm9ybSBz
dWJtaXNzaW9uLgogICAgICAgICBpZiAoIW1fZm9ybVN0YXRlLT5zb3VyY2VGcmFtZSgpLT5sb2Fk
ZXIoKS0+c2hvdWxkQWxsb3dOYXZpZ2F0aW9uKGZyYW1lKSkKICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgZnJhbWUtPmxvYWRlcigpLT5sb2FkRnJhbWVSZXF1ZXN0KG1fZnJhbWVSZXF1ZXN0
LCBsb2NrSGlzdG9yeSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCksIG1fZXZlbnQsIG1fZm9ybVN0
YXRlLCBTZW5kUmVmZXJyZXIpOworICAgICAgICBmcmFtZS0+bG9hZGVyKCktPmxvYWRGcmFtZVJl
cXVlc3QobV9mcmFtZVJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCksIG1fZnJhbWVSZXF1ZXN0LmZy
YW1lTmFtZSgpLCBsb2NrSGlzdG9yeSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCksIG1fZXZlbnQs
IG1fZm9ybVN0YXRlLCBTZW5kUmVmZXJyZXIpOwogICAgIH0KIAogICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQgZGlkU3RhcnRUaW1lcj8gSXQgd291bGQgbWFrZSBzZW5zZSB0byByZXBvcnQgZm9ybQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAppbmRleCBkMzg0YjAyLi44ZTA5OTM4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysg
Yi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAtMjQ5LDcgKzI0OSw3
IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChD
b250ZXh0TWVudUl0ZW0qIGl0ZW0pCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnT3Blbkxpbms6CiAgICAgICAgIGlmIChGcmFtZSogdGFyZ2V0RnJhbWUgPSByZXN1
bHQudGFyZ2V0RnJhbWUoKSkKLSAgICAgICAgICAgIHRhcmdldEZyYW1lLT5sb2FkZXIoKS0+bG9h
ZEZyYW1lUmVxdWVzdChGcmFtZUxvYWRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdChyZXN1bHQuYWJz
b2x1dGVMaW5rVVJMKCksIGZyYW1lLT5sb2FkZXIoKS0+b3V0Z29pbmdSZWZlcnJlcigpKSksIGZh
bHNlLCBmYWxzZSwgMCwgMCwgU2VuZFJlZmVycmVyKTsKKyAgICAgICAgICAgIHRhcmdldEZyYW1l
LT5sb2FkZXIoKS0+bG9hZEZyYW1lUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QocmVzdWx0LmFic29s
dXRlTGlua1VSTCgpLCBmcmFtZS0+bG9hZGVyKCktPm91dGdvaW5nUmVmZXJyZXIoKSksIFN0cmlu
ZygpLCBmYWxzZSwgZmFsc2UsIDAsIDAsIFNlbmRSZWZlcnJlcik7CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIG9wZW5OZXdXaW5kb3cocmVzdWx0LmFic29sdXRlTGlua1VSTCgpLCBmcmFtZSk7
CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBi
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOTZmOWI5MS4uYWIxOWE5YiAxMDA2NDQK
LS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMDUtMTQgIENocmlzIEplcmRvbmVrICA8Y2pl
cmRvbmVrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVmYWN0b3JlZCBGcmFtZUxvYWRlcidzIGxvYWRGcmFtZVJlcXVlc3QoKSB0
byBhY2NlcHQgYSBSZXNvdXJjZVJlcXVlc3QKKyAgICAgICAgYW5kIGZyYW1lIG5hbWUgaW5zdGVh
ZCBvZiBhIEZyYW1lTG9hZFJlcXVlc3QuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTM5MTEyCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhl
IHNpZ25hdHVyZSBvZiBsb2FkRnJhbWVSZXF1ZXN0KCkgbW9yZSBzaW1pbGFyCisgICAgICAgIHRv
IHRoZSBzaWduYXR1cmVzIHVzZWQgcHJlZG9taW5hbnRseSBieSB0aGUgb3RoZXIgRnJhbWVMb2Fk
ZXIgbG9hZCgpCisgICAgICAgIG1ldGhvZHMuICBUaGlzIHdpbGwgYWlkIGluIHJlZmFjdG9yaW5n
IEZyYW1lTG9hZGVyLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LCBzbyBu
byBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBzcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OmxvYWRGcmFtZVJlcXVl
c3QpOgorICAgICAgICAgIC0gVXBkYXRlZCB0byBjYWxsIGxvYWRGcmFtZVJlcXVlc3QoKSB3aXRo
IHRoZSBuZXcgc2lnbmF0dXJlLgorCiAyMDEwLTA1LTE0ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2No
ZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcCBi
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAKaW5kZXggYjIw
N2EyNS4uNjdkNGE0NCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5D
b250YWluZXJJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRh
aW5lckltcGwuY3BwCkBAIC00OSw3ICs0OSw2IEBACiAjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiRm9ybVN0YXRlLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNsdWRl
ICJGcmFtZUxvYWRSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSG9zdFdpbmRvdy5oIgpAQCAtMzExLDExICsz
MTAsOSBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OmxvYWRGcmFtZVJlcXVlc3QoCiAg
ICAgICAgIFdlYkRhdGFTb3VyY2VJbXBsOjpzZXROZXh0UGx1Z2luTG9hZE9ic2VydmVyKG9ic2Vy
dmVyKTsKICAgICB9CiAKLSAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lUmVxdWVzdChyZXF1ZXN0
LnRvUmVzb3VyY2VSZXF1ZXN0KCkpOwotICAgIGZyYW1lUmVxdWVzdC5zZXRGcmFtZU5hbWUodGFy
Z2V0KTsKLQogICAgIGZyYW1lLT5sb2FkZXIoKS0+bG9hZEZyYW1lUmVxdWVzdCgKLSAgICAgICAg
ZnJhbWVSZXF1ZXN0LAorICAgICAgICByZXF1ZXN0LnRvUmVzb3VyY2VSZXF1ZXN0KCksCisgICAg
ICAgIHRhcmdldCwKICAgICAgICAgZmFsc2UsICAvLyBsb2NrIGhpc3RvcnkKICAgICAgICAgZmFs
c2UsICAvLyBsb2NrIGJhY2sgZm9yd2FyZCBsaXN0CiAgICAgICAgIDAsICAgICAgLy8gZXZlbnQK
ZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
aW5kZXggYjZjNDc0Yy4uODYyOWY1MCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wNS0xNCAg
Q2hyaXMgSmVyZG9uZWsgIDxjamVyZG9uZWtAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmVkIEZyYW1lTG9hZGVyJ3Mg
bG9hZEZyYW1lUmVxdWVzdCgpIHRvIGFjY2VwdCBhIFJlc291cmNlUmVxdWVzdAorICAgICAgICBh
bmQgZnJhbWUgbmFtZSBpbnN0ZWFkIG9mIGEgRnJhbWVMb2FkUmVxdWVzdC4KKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzkxMTIKKworICAgICAgICBU
aGlzIGNoYW5nZSBtYWtlcyB0aGUgc2lnbmF0dXJlIG9mIGxvYWRGcmFtZVJlcXVlc3QoKSBtb3Jl
IHNpbWlsYXIKKyAgICAgICAgdG8gdGhlIHNpZ25hdHVyZXMgdXNlZCBwcmVkb21pbmFudGx5IGJ5
IHRoZSBvdGhlciBGcmFtZUxvYWRlciBsb2FkKCkKKyAgICAgICAgbWV0aG9kcy4gIFRoaXMgd2ls
bCBhaWQgaW4gcmVmYWN0b3JpbmcgRnJhbWVMb2FkZXIuCisKKyAgICAgICAgTm8gY2hhbmdlIGlu
IGZ1bmN0aW9uYWxpdHksIHNvIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIFdlYlZpZXcvV2Vi
UERGVmlldy5tbToKKyAgICAgICAgKC1bV2ViUERGVmlldyBQREZWaWV3V2lsbENsaWNrT25MaW5r
OndpdGhVUkw6XSk6CisgICAgICAgICAgLSBVcGRhdGVkIHRvIGNhbGwgbG9hZEZyYW1lUmVxdWVz
dCgpIHdpdGggdGhlIG5ldyBzaWduYXR1cmUuCisKIDIwMTAtMDUtMTMgIFRpbW90aHkgSGF0Y2hl
ciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IHJlcG9ydGluZyBleGNlcHRp
b25zIHRoYXQgb2NjdXIgd2hlbiB1c2luZyBKYXZhU2NyaXB0Q29yZSBBUElzCmRpZmYgLS1naXQg
YS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbSBiL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQREZWaWV3Lm1tCmluZGV4IDFiZTMwMzMuLjgzNGU1ZmEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQREZWaWV3Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQREZW
aWV3Lm1tCkBAIC01MCw3ICs1MCw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL0V2ZW50TmFtZXMuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvRm9ybVN0YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+
Ci0jaW1wb3J0IDxXZWJDb3JlL0ZyYW1lTG9hZFJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUv
RnJhbWVMb2FkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvSFRNTEZvcm1FbGVtZW50Lmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0tVUkwuaD4KQEAgLTk1OCw3ICs5NTcsNyBAQCBzdGF0aWMgQk9PTCBfUERG
U2VsZWN0aW9uc0FyZUVxdWFsKFBERlNlbGVjdGlvbiAqc2VsZWN0aW9uQSwgUERGU2VsZWN0aW9u
ICpzZWxlYwogICAgIH0KIAogICAgIC8vIENhbGwgdG8gdGhlIGZyYW1lIGxvYWRlciBiZWNhdXNl
IHRoaXMgaXMgd2hlcmUgb3VyIHNlY3VyaXR5IGNoZWNrcyBhcmUgbWFkZS4KLSAgICBjb3JlKFtk
YXRhU291cmNlIHdlYkZyYW1lXSktPmxvYWRlcigpLT5sb2FkRnJhbWVSZXF1ZXN0KFJlc291cmNl
UmVxdWVzdChVUkwpLCBmYWxzZSwgZmFsc2UsIGV2ZW50LmdldCgpLCAwLCBTZW5kUmVmZXJyZXIp
OworICAgIGNvcmUoW2RhdGFTb3VyY2Ugd2ViRnJhbWVdKS0+bG9hZGVyKCktPmxvYWRGcmFtZVJl
cXVlc3QoUmVzb3VyY2VSZXF1ZXN0KFVSTCksIFN0cmluZygpLCBmYWxzZSwgZmFsc2UsIGV2ZW50
LmdldCgpLCAwLCBTZW5kUmVmZXJyZXIpOwogfQogCiAtICh2b2lkKVBERlZpZXdPcGVuUERGSW5O
YXRpdmVBcHBsaWNhdGlvbjooUERGVmlldyAqKXNlbmRlcgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAzODEw
MTU1Li4xMjZhNmM4IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysg
Yi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMTkzMiw5ICsxOTMyLDE0IEBAIFFPYmpl
Y3QgKlFXZWJQYWdlOjpjcmVhdGVQbHVnaW4oY29uc3QgUVN0cmluZyAmY2xhc3NpZCwgY29uc3Qg
UVVybCAmdXJsLCBjb25zdCBRCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VSZXF1ZXN0KGNvbnN0IFFVcmwgJnVybCwgV2ViQ29yZTo6
RnJhbWUgKmZyYW1lKQoreworICAgIHJldHVybiBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QodXJs
LCBmcmFtZS0+bG9hZGVyKCktPm91dGdvaW5nUmVmZXJyZXIoKSk7Cit9CisKIHN0YXRpYyBXZWJD
b3JlOjpGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QoY29uc3QgUVVybCAmdXJsLCBX
ZWJDb3JlOjpGcmFtZSAqZnJhbWUpCiB7Ci0gICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJy
KHVybCwgZnJhbWUtPmxvYWRlcigpLT5vdXRnb2luZ1JlZmVycmVyKCkpOworICAgIFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCByciA9IHJlc291cmNlUmVxdWVzdCh1cmwsIGZyYW1lKTsKICAgICBy
ZXR1cm4gV2ViQ29yZTo6RnJhbWVMb2FkUmVxdWVzdChycik7CiB9CiAKQEAgLTE5NzAsNyArMTk3
NSw3IEBAIHZvaWQgUVdlYlBhZ2U6OnRyaWdnZXJBY3Rpb24oV2ViQWN0aW9uIGFjdGlvbiwgYm9v
bCkKICAgICAgICAgY2FzZSBPcGVuTGluazoKICAgICAgICAgICAgIGlmIChRV2ViRnJhbWUgKnRh
cmdldEZyYW1lID0gZC0+aGl0VGVzdFJlc3VsdC5saW5rVGFyZ2V0RnJhbWUoKSkgewogICAgICAg
ICAgICAgICAgIFdURjo6UmVmUHRyPFdlYkNvcmU6OkZyYW1lPiB3Y0ZyYW1lID0gdGFyZ2V0RnJh
bWUtPmQtPmZyYW1lOwotICAgICAgICAgICAgICAgIHRhcmdldEZyYW1lLT5kLT5mcmFtZS0+bG9h
ZGVyKCktPmxvYWRGcmFtZVJlcXVlc3QoZnJhbWVMb2FkUmVxdWVzdChkLT5oaXRUZXN0UmVzdWx0
LmxpbmtVcmwoKSwgd2NGcmFtZS5nZXQoKSksCisgICAgICAgICAgICAgICAgdGFyZ2V0RnJhbWUt
PmQtPmZyYW1lLT5sb2FkZXIoKS0+bG9hZEZyYW1lUmVxdWVzdChyZXNvdXJjZVJlcXVlc3QoZC0+
aGl0VGVzdFJlc3VsdC5saW5rVXJsKCksIHdjRnJhbWUuZ2V0KCkpLCAvKmZyYW1lTmFtZSovIFN0
cmluZygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLypsb2NrSGlzdG9yeSovIGZhbHNlLCAvKmxvY2tCYWNrRm9yd2Fy
ZExpc3QqLyBmYWxzZSwgLypldmVudCovIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKkZvcm1TdGF0ZSovIDAsIFNl
bmRSZWZlcnJlcik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBhMWE0OTJhLi40N2E0NTI3
IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0wNS0xNCAgQ2hyaXMgSmVyZG9uZWsgIDxjamVyZG9u
ZWtAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZWZhY3RvcmVkIEZyYW1lTG9hZGVyJ3MgbG9hZEZyYW1lUmVxdWVzdCgpIHRvIGFj
Y2VwdCBhIFJlc291cmNlUmVxdWVzdAorICAgICAgICBhbmQgZnJhbWUgbmFtZSBpbnN0ZWFkIG9m
IGEgRnJhbWVMb2FkUmVxdWVzdC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzkxMTIKKworICAgICAgICBUaGlzIGNoYW5nZSBtYWtlcyB0aGUgc2ln
bmF0dXJlIG9mIGxvYWRGcmFtZVJlcXVlc3QoKSBtb3JlIHNpbWlsYXIKKyAgICAgICAgdG8gdGhl
IHNpZ25hdHVyZXMgdXNlZCBwcmVkb21pbmFudGx5IGJ5IHRoZSBvdGhlciBGcmFtZUxvYWRlciBs
b2FkKCkKKyAgICAgICAgbWV0aG9kcy4gIFRoaXMgd2lsbCBhaWQgaW4gcmVmYWN0b3JpbmcgRnJh
bWVMb2FkZXIuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHksIHNvIG5vIG5l
dyB0ZXN0cy4KKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChyZXNvdXJj
ZVJlcXVlc3QpOgorICAgICAgICAgIC0gQWRkZWQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gY29uc3Ry
dWN0IFJlc291cmNlUmVxdWVzdCBpbnN0YW5jZXMuCisgICAgICAgIChmcmFtZUxvYWRSZXF1ZXN0
KToKKyAgICAgICAgICAtIFVwZGF0ZWQgdG8gY2FsbCB0aGUgbmV3IHJlc291cmNlUmVxdWVzdCgp
IGhlbHBlciBmdW5jdGlvbiBhYm92ZS4KKyAgICAgICAgKFFXZWJQYWdlOjp0cmlnZ2VyQWN0aW9u
KToKKyAgICAgICAgICAtIFVwZGF0ZWQgdG8gY2FsbCBsb2FkRnJhbWVSZXF1ZXN0KCkgd2l0aCB0
aGUgbmV3IHNpZ25hdHVyZS4KKwogMjAxMC0wNS0xNCAgS2VudCBIYW5zZW4gPGtlbnQuaGFuc2Vu
QG5va2lhLmNvbT4sIEpvY2VseW4gVHVyY290dGUgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29t
PiwgVG9yIEFybmUgVmVzdGLDuCA8dG9yLmFybmUudmVzdGJvQG5va2lhLmNvbT4sIEhlbnJ5IEhh
dmVyaW5lbiA8aGVucnkuaGF2ZXJpbmVuQG5va2lhLmNvbT4sIEplZHJ6ZWogTm93YWNraSA8amVk
cnplai5ub3dhY2tpQG5va2lhLmNvbT4sIEFuZHJlYXMgS2xpbmcgPGFuZHJlYXMua2xpbmdAbm9r
aWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgo=
</data>
<flag name="review"
          id="40504"
          type_id="1"
          status="-"
          setter="cjerdonek"
    />
    <flag name="commit-queue"
          id="40505"
          type_id="3"
          status="-"
          setter="cjerdonek"
    />
          </attachment>
      

    </bug>

</bugzilla>