<?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>121390</bug_id>
          
          <creation_ts>2013-09-15 07:15:20 -0700</creation_ts>
          <short_desc>Set MessageEvent.source to the newly created port for shared workers&apos; connect events</short_desc>
          <delta_ts>2013-09-17 08:24:32 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#dom-messageevent-source</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>929437</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-09-15 07:15:20 -0700</bug_when>
    <thetext>Consider merging the following patch from Blink:
&quot;&quot;&quot;
Set MessageEvent.source to the newly created port for shared workers&apos; connect events
instead of previously null, as per the latest specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#dom-messageevent-source
http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#dom-sharedworker
&quot;&quot;&quot;

Blink revisions:
https://src.chromium.org/viewvc/blink?revision=156385&amp;view=revision
https://src.chromium.org/viewvc/blink?revision=156420&amp;view=revision</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929443</commentid>
    <comment_count>1</comment_count>
      <attachid>211708</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-09-15 08:02:25 -0700</bug_when>
    <thetext>Created attachment 211708
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929764</commentid>
    <comment_count>2</comment_count>
      <attachid>211708</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-16 09:38:29 -0700</bug_when>
    <thetext>Comment on attachment 211708
Patch

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

&gt; Source/WebCore/dom/EventTarget.h:114
&gt; +        virtual MessagePort* toMessagePort();

Given that the only client uses this as &quot;isMessagePort&quot;, maybe we should add that instead?

&gt; Source/WebCore/dom/MessageEvent.h:59
&gt; +    static PassRefPtr&lt;MessageEvent&gt; create(PassOwnPtr&lt;MessagePortArray&gt; ports, const ScriptValue&amp; data = ScriptValue(), const String&amp; origin = &quot;&quot;, const String&amp; lastEventId = &quot;&quot;, PassRefPtr&lt;EventTarget&gt; source = 0)

I think the default values should be emptyString() instead of &quot;&quot;, although not 100% sure that compiles. Null strings would be even more efficient, but that might require a look at the body of the constructor to see if that will change behavior.

&gt; Source/WebCore/dom/MessageEvent.h:63
&gt; +    static PassRefPtr&lt;MessageEvent&gt; create(PassOwnPtr&lt;MessagePortArray&gt; ports, PassRefPtr&lt;SerializedScriptValue&gt; data, const String&amp; origin = &quot;&quot;, const String&amp; lastEventId = &quot;&quot;, PassRefPtr&lt;EventTarget&gt; source = 0)

Ditto.

&gt; Source/WebCore/dom/MessagePort.h:78
&gt; +        MessagePort* toMessagePort() OVERRIDE { return this; }

Should mark either this class or this function as FINAL. SHould make this function private as there is no reason to call it on a MessagePort object.

&gt; Source/WebCore/workers/SharedWorkerGlobalScope.cpp:49
&gt; +    RefPtr&lt;MessagePort&gt; sourcePort = port;

Naming here is unclear. Both sourcePort and port sound fine to use. That’s why we normally use the crazy “prp” naming scheme, so it won’t be ambiguous which one to use.

&gt; Source/WebCore/workers/SharedWorkerGlobalScope.cpp:50
&gt; +    RefPtr&lt;MessageEvent&gt; event = MessageEvent::create(adoptPtr(new MessagePortArray(1, sourcePort)), ScriptValue(), &quot;&quot;, &quot;&quot;, sourcePort);

Should use emptyString() instead of &quot;&quot;. No question at a call site like this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930084</commentid>
    <comment_count>3</comment_count>
      <attachid>211870</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-09-17 00:56:43 -0700</bug_when>
    <thetext>Created attachment 211870
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930086</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-09-17 00:58:23 -0700</bug_when>
    <thetext>I took all the feedback into consideration.

I am requesting review again due to some non-trivial changes (using null Strings instead of empty ones in MessageEvent).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930231</commentid>
    <comment_count>5</comment_count>
      <attachid>211870</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-17 08:24:29 -0700</bug_when>
    <thetext>Comment on attachment 211870
Patch

Clearing flags on attachment: 211870

Committed r155959: &lt;http://trac.webkit.org/changeset/155959&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930232</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-17 08:24:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211708</attachid>
            <date>2013-09-15 08:02:25 -0700</date>
            <delta_ts>2013-09-17 00:56:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121390-20130915180224.patch</filename>
            <type>text/plain</type>
            <size>17519</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1ODA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM0NzljOWMzNDg5M2Iw
ZGY0Yjk3OGI0ZDNkMTRjZTY3N2QxZWNmMy4uM2ZkNjFkOWZhMzRkMTYwZWMzMmIyYzM5NmI1NWJl
MDg3MjlkMzI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA5LTE1ICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBTZXQg
TWVzc2FnZUV2ZW50LnNvdXJjZSB0byB0aGUgbmV3bHkgY3JlYXRlZCBwb3J0IGZvciBzaGFyZWQg
d29ya2VycycgY29ubmVjdCBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyMTM5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFNldCBNZXNzYWdlRXZlbnQuc291cmNlIHRvIHRoZSBuZXdseSBjcmVh
dGVkIHBvcnQgZm9yIHNoYXJlZCB3b3JrZXJzJyBjb25uZWN0IGV2ZW50cworICAgICAgICBpbnN0
ZWFkIG9mIHByZXZpb3VzbHkgbnVsbCwgYXMgcGVyIHRoZSBsYXRlc3Qgc3BlY2lmaWNhdGlvbjoK
KyAgICAgICAgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29y
ay9tdWx0aXBhZ2UvY29tbXMuaHRtbCNkb20tbWVzc2FnZWV2ZW50LXNvdXJjZQorICAgICAgICBo
dHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFn
ZS93b3JrZXJzLmh0bWwjZG9tLXNoYXJlZHdvcmtlcgorCisgICAgICAgIFRoaXMgYmVoYXZpb3Ig
aXMgY29uc2lzZW50IHdpdGggQmxpbmsuCisKKyAgICAgICAgVGVzdDogZmFzdC93b3JrZXJzL3No
YXJlZC13b3JrZXItbWVzc2FnZWV2ZW50LXNvdXJjZS5odG1sCisKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OnRvTWVzc2FnZVBv
cnQpOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAqIGRvbS9NZXNzYWdl
RXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNWYWxpZFNvdXJjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudCk6CisgICAgICAgICogZG9tL01lc3Nh
Z2VFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZUV2ZW50OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVzc2FnZUV2ZW50Ojpzb3VyY2UpOgorICAgICAgICAqIGRvbS9NZXNz
YWdlRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydC5oOgorICAgICAgICAqIHdv
cmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3Jl
YXRlQ29ubmVjdEV2ZW50KToKKwogMjAxMy0wOS0xNSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFtDVFRFXSBOb2RlIHN1YmNsYXNzZXMgc2hvdWxkIHRha2UgYSBEb2N1
bWVudCBieSByZWZlcmVuY2UgaW4gdGhlaXIgY29uc3RydWN0b3IgKFBhcnQgNikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuY3BwCmluZGV4IGYxMjBhYTE1OTNhMzZmMjU3NjIxNWEwNmFiYmNkMWJh
MjAyNTc3MDcuLmYxM2Q5NjI0ZTQ2MjA4NDRmYTNjOGQ2Nzc4YzJmZGVlZjgzZDc4M2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtNjgsNiArNjgsMTEgQEAgRE9NV2luZG93KiBF
dmVudFRhcmdldDo6dG9ET01XaW5kb3coKQogICAgIHJldHVybiAwOwogfQogCitNZXNzYWdlUG9y
dCogRXZlbnRUYXJnZXQ6OnRvTWVzc2FnZVBvcnQoKQoreworICAgIHJldHVybiAwOworfQorCiBi
b29sIEV2ZW50VGFyZ2V0OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZl
bnRUeXBlLCBQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyLCBib29sIHVzZUNhcHR1
cmUpCiB7CiAgICAgcmV0dXJuIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpLmV2ZW50TGlzdGVuZXJN
YXAuYWRkKGV2ZW50VHlwZSwgbGlzdGVuZXIsIHVzZUNhcHR1cmUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaAppbmRleCA5MjhiNjJmOWRkNjhjYTgxZTBjZGRjNzgzOWVjNWNiMTZiYWM1NGI1Li5j
MzE5YTQxMTNhYmM2MTkyMTBkMTFmMTE4YTQxY2E3OWI0ODBhYjFlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaApAQCAtMTExLDYgKzExMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICB2aXJ0dWFsIE5vZGUqIHRvTm9kZSgpOwogICAgICAgICB2aXJ0dWFsIERPTVdpbmRvdyog
dG9ET01XaW5kb3coKTsKKyAgICAgICAgdmlydHVhbCBNZXNzYWdlUG9ydCogdG9NZXNzYWdlUG9y
dCgpOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21p
Y1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+LCBib29sIHVzZUNh
cHR1cmUpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBB
dG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciosIGJvb2wgdXNlQ2FwdHVyZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwCmluZGV4IDAzMjlhZjEzNzliMDRjYzJlZTNk
ODEzYjBiZjIwNmFiOTcyZDA4OGEuLjdiMzZkMjViNWU5ODljZDdkM2RhZjU0ZDRkMTliYWEwOGI5
N2M3MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwCkBAIC0zMyw2ICszMywxMSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc1ZhbGlkU291
cmNlKEV2ZW50VGFyZ2V0KiBzb3VyY2UpCit7CisgICAgcmV0dXJuICFzb3VyY2UgfHwgc291cmNl
LT50b0RPTVdpbmRvdygpIHx8IHNvdXJjZS0+dG9NZXNzYWdlUG9ydCgpOworfQorCiBNZXNzYWdl
RXZlbnRJbml0OjpNZXNzYWdlRXZlbnRJbml0KCkKIHsKIH0KQEAgLTQ4LDEyICs1MywxMiBAQCBN
ZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0
IE1lc3NhZ2VFdmVudEluaXQmIGluaQogICAgICwgbV9kYXRhQXNTY3JpcHRWYWx1ZShpbml0aWFs
aXplci5kYXRhKQogICAgICwgbV9vcmlnaW4oaW5pdGlhbGl6ZXIub3JpZ2luKQogICAgICwgbV9s
YXN0RXZlbnRJZChpbml0aWFsaXplci5sYXN0RXZlbnRJZCkKLSAgICAsIG1fc291cmNlKGluaXRp
YWxpemVyLnNvdXJjZSkKKyAgICAsIG1fc291cmNlKGlzVmFsaWRTb3VyY2UoaW5pdGlhbGl6ZXIu
c291cmNlLmdldCgpKSA/IGluaXRpYWxpemVyLnNvdXJjZSA6IDApCiAgICAgLCBtX3BvcnRzKGFk
b3B0UHRyKG5ldyBNZXNzYWdlUG9ydEFycmF5KGluaXRpYWxpemVyLnBvcnRzKSkpCiB7CiB9CiAK
LU1lc3NhZ2VFdmVudDo6TWVzc2FnZUV2ZW50KGNvbnN0IFNjcmlwdFZhbHVlJiBkYXRhLCBjb25z
dCBTdHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCwgUGFzc1JlZlB0cjxE
T01XaW5kb3c+IHNvdXJjZSwgUGFzc093blB0cjxNZXNzYWdlUG9ydEFycmF5PiBwb3J0cykKK01l
c3NhZ2VFdmVudDo6TWVzc2FnZUV2ZW50KGNvbnN0IFNjcmlwdFZhbHVlJiBkYXRhLCBjb25zdCBT
dHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCwgUGFzc1JlZlB0cjxFdmVu
dFRhcmdldD4gc291cmNlLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0QXJyYXk+IHBvcnRzKQogICAg
IDogRXZlbnQoZXZlbnROYW1lcygpLm1lc3NhZ2VFdmVudCwgZmFsc2UsIGZhbHNlKQogICAgICwg
bV9kYXRhVHlwZShEYXRhVHlwZVNjcmlwdFZhbHVlKQogICAgICwgbV9kYXRhQXNTY3JpcHRWYWx1
ZShkYXRhKQpAQCAtNjIsOSArNjcsMTAgQEAgTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29u
c3QgU2NyaXB0VmFsdWUmIGRhdGEsIGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdAogICAgICwg
bV9zb3VyY2Uoc291cmNlKQogICAgICwgbV9wb3J0cyhwb3J0cykKIHsKKyAgICBBU1NFUlQoaXNW
YWxpZFNvdXJjZShtX3NvdXJjZS5nZXQoKSkpOwogfQogCi1NZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VF
dmVudChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwgY29uc3QgU3RyaW5n
JiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbGFzdEV2ZW50SWQsIFBhc3NSZWZQdHI8RE9NV2luZG93
PiBzb3VyY2UsIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRBcnJheT4gcG9ydHMpCitNZXNzYWdlRXZl
bnQ6Ok1lc3NhZ2VFdmVudChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwg
Y29uc3QgU3RyaW5nJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbGFzdEV2ZW50SWQsIFBhc3NSZWZQ
dHI8RXZlbnRUYXJnZXQ+IHNvdXJjZSwgUGFzc093blB0cjxNZXNzYWdlUG9ydEFycmF5PiBwb3J0
cykKICAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS5tZXNzYWdlRXZlbnQsIGZhbHNlLCBmYWxzZSkK
ICAgICAsIG1fZGF0YVR5cGUoRGF0YVR5cGVTZXJpYWxpemVkU2NyaXB0VmFsdWUpCiAgICAgLCBt
X2RhdGFBc1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZShkYXRhKQpAQCAtNzMsNiArNzksNyBAQCBNZXNz
YWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
ZGF0YSwgY29uc3QgU3RyaW5nJgogICAgICwgbV9zb3VyY2Uoc291cmNlKQogICAgICwgbV9wb3J0
cyhwb3J0cykKIHsKKyAgICBBU1NFUlQoaXNWYWxpZFNvdXJjZShtX3NvdXJjZS5nZXQoKSkpOwog
fQogCiBNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudChjb25zdCBTdHJpbmcmIGRhdGEsIGNvbnN0
IFN0cmluZyYgb3JpZ2luKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VF
dmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5oCmluZGV4IGYwNGZiYjJk
MzM4ODgwODZiNWRmZDg4MjRjNGUwZmFlZjJhOWFjZDMuLjFmZDQ1ZmY0MzJhMmRkNDQ4M2NjNDUz
ODgxY2VlNTI0YzhlYjk2MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
RXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmgKQEAgLTM4LDcg
KzM4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBET01XaW5kb3c7CitjbGFz
cyBFdmVudFRhcmdldDsKIAogc3RydWN0IE1lc3NhZ2VFdmVudEluaXQgOiBwdWJsaWMgRXZlbnRJ
bml0IHsKICAgICBNZXNzYWdlRXZlbnRJbml0KCk7CkBAIC00Niw3ICs0Niw3IEBAIHN0cnVjdCBN
ZXNzYWdlRXZlbnRJbml0IDogcHVibGljIEV2ZW50SW5pdCB7CiAgICAgU2NyaXB0VmFsdWUgZGF0
YTsKICAgICBTdHJpbmcgb3JpZ2luOwogICAgIFN0cmluZyBsYXN0RXZlbnRJZDsKLSAgICBSZWZQ
dHI8RE9NV2luZG93PiBzb3VyY2U7CisgICAgUmVmUHRyPEV2ZW50VGFyZ2V0PiBzb3VyY2U7CiAg
ICAgTWVzc2FnZVBvcnRBcnJheSBwb3J0czsKIH07CiAKQEAgLTU2LDExICs1NiwxMSBAQCBwdWJs
aWM6CiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lc3NhZ2VFdmVudCk7CiAg
ICAgfQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lc3NhZ2VFdmVudD4gY3JlYXRlKFBhc3NPd25Q
dHI8TWVzc2FnZVBvcnRBcnJheT4gcG9ydHMsIGNvbnN0IFNjcmlwdFZhbHVlJiBkYXRhID0gU2Ny
aXB0VmFsdWUoKSwgY29uc3QgU3RyaW5nJiBvcmlnaW4gPSAiIiwgY29uc3QgU3RyaW5nJiBsYXN0
RXZlbnRJZCA9ICIiLCBQYXNzUmVmUHRyPERPTVdpbmRvdz4gc291cmNlID0gMCkKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxNZXNzYWdlRXZlbnQ+IGNyZWF0ZShQYXNzT3duUHRyPE1lc3NhZ2VQb3J0
QXJyYXk+IHBvcnRzLCBjb25zdCBTY3JpcHRWYWx1ZSYgZGF0YSA9IFNjcmlwdFZhbHVlKCksIGNv
bnN0IFN0cmluZyYgb3JpZ2luID0gIiIsIGNvbnN0IFN0cmluZyYgbGFzdEV2ZW50SWQgPSAiIiwg
UGFzc1JlZlB0cjxFdmVudFRhcmdldD4gc291cmNlID0gMCkKICAgICB7CiAgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgTWVzc2FnZUV2ZW50KGRhdGEsIG9yaWdpbiwgbGFzdEV2ZW50SWQsIHNv
dXJjZSwgcG9ydHMpKTsKICAgICB9Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVzc2FnZUV2ZW50
PiBjcmVhdGUoUGFzc093blB0cjxNZXNzYWdlUG9ydEFycmF5PiBwb3J0cywgUGFzc1JlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRhdGEsIGNvbnN0IFN0cmluZyYgb3JpZ2luID0gIiIsIGNv
bnN0IFN0cmluZyYgbGFzdEV2ZW50SWQgPSAiIiwgUGFzc1JlZlB0cjxET01XaW5kb3c+IHNvdXJj
ZSA9IDApCisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVzc2FnZUV2ZW50PiBjcmVhdGUoUGFzc093
blB0cjxNZXNzYWdlUG9ydEFycmF5PiBwb3J0cywgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+IGRhdGEsIGNvbnN0IFN0cmluZyYgb3JpZ2luID0gIiIsIGNvbnN0IFN0cmluZyYgbGFz
dEV2ZW50SWQgPSAiIiwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gc291cmNlID0gMCkKICAgICB7
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVzc2FnZUV2ZW50KGRhdGEsIG9yaWdpbiwg
bGFzdEV2ZW50SWQsIHNvdXJjZSwgcG9ydHMpKTsKICAgICB9CkBAIC04Nyw3ICs4Nyw3IEBAIHB1
YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgb3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV9vcmln
aW47IH0KICAgICBjb25zdCBTdHJpbmcmIGxhc3RFdmVudElkKCkgY29uc3QgeyByZXR1cm4gbV9s
YXN0RXZlbnRJZDsgfQotICAgIERPTVdpbmRvdyogc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9z
b3VyY2UuZ2V0KCk7IH0KKyAgICBFdmVudFRhcmdldCogc291cmNlKCkgY29uc3QgeyByZXR1cm4g
bV9zb3VyY2UuZ2V0KCk7IH0KICAgICBNZXNzYWdlUG9ydEFycmF5IHBvcnRzKCkgY29uc3QgeyBy
ZXR1cm4gbV9wb3J0cyA/ICptX3BvcnRzIDogTWVzc2FnZVBvcnRBcnJheSgpOyB9CiAKICAgICAv
LyBGSVhNRTogUmVtb3ZlIHRoaXMgd2hlbiB3ZSBoYXZlIGN1c3RvbSBPYmpDIGJpbmRpbmcgc3Vw
cG9ydC4KQEAgLTExNiw4ICsxMTYsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIE1lc3NhZ2VF
dmVudCgpOwogICAgIE1lc3NhZ2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBNZXNz
YWdlRXZlbnRJbml0Jik7Ci0gICAgTWVzc2FnZUV2ZW50KGNvbnN0IFNjcmlwdFZhbHVlJiBkYXRh
LCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCwgUGFzc1Jl
ZlB0cjxET01XaW5kb3c+IHNvdXJjZSwgUGFzc093blB0cjxNZXNzYWdlUG9ydEFycmF5Pik7Ci0g
ICAgTWVzc2FnZUV2ZW50KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBkYXRhLCBj
b25zdCBTdHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCwgUGFzc1JlZlB0
cjxET01XaW5kb3c+IHNvdXJjZSwgUGFzc093blB0cjxNZXNzYWdlUG9ydEFycmF5Pik7CisgICAg
TWVzc2FnZUV2ZW50KGNvbnN0IFNjcmlwdFZhbHVlJiBkYXRhLCBjb25zdCBTdHJpbmcmIG9yaWdp
biwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gc291
cmNlLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0QXJyYXk+KTsKKyAgICBNZXNzYWdlRXZlbnQoUGFz
c1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRhdGEsIGNvbnN0IFN0cmluZyYgb3JpZ2lu
LCBjb25zdCBTdHJpbmcmIGxhc3RFdmVudElkLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiBzb3Vy
Y2UsIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRBcnJheT4pOwogCiAgICAgZXhwbGljaXQgTWVzc2Fn
ZUV2ZW50KGNvbnN0IFN0cmluZyYgZGF0YSwgY29uc3QgU3RyaW5nJiBvcmlnaW4pOwogICAgIGV4
cGxpY2l0IE1lc3NhZ2VFdmVudChQYXNzUmVmUHRyPEJsb2I+IGRhdGEsIGNvbnN0IFN0cmluZyYg
b3JpZ2luKTsKQEAgLTEzMSw3ICsxMzEsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxBcnJheUJ1
ZmZlcj4gbV9kYXRhQXNBcnJheUJ1ZmZlcjsKICAgICBTdHJpbmcgbV9vcmlnaW47CiAgICAgU3Ry
aW5nIG1fbGFzdEV2ZW50SWQ7Ci0gICAgUmVmUHRyPERPTVdpbmRvdz4gbV9zb3VyY2U7CisgICAg
UmVmUHRyPEV2ZW50VGFyZ2V0PiBtX3NvdXJjZTsKICAgICBPd25QdHI8TWVzc2FnZVBvcnRBcnJh
eT4gbV9wb3J0czsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
RXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5pZGwKaW5kZXggNWYz
MTQwYzUzNWE3YWMxY2E0N2JkZWQyNjVlOTRjNjBiYzYwMGVhYy4uNDk4YWRhYTEzY2Y1OTJkODdm
ODQ5MTAwZGE2NGI0NjgxNTgxMzczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VFdmVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5pZGwK
QEAgLTMyLDcgKzMyLDcgQEAKIF0gaW50ZXJmYWNlIE1lc3NhZ2VFdmVudCA6IEV2ZW50IHsKICAg
ICBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgb3JpZ2luOwogICAgIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBsYXN0RXZlbnRJZDsKLSAgICBbSW5pdGlhbGl6ZWRCeUV2
ZW50Q29uc3RydWN0b3JdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01XaW5kb3cgc291cmNlOworICAg
IFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9ubHkgYXR0cmlidXRlIEV2ZW50
VGFyZ2V0IHNvdXJjZTsgLy8gTWF5IGJlIGEgRE9NV2luZG93IG9yIGEgTWVzc2FnZVBvcnQuCiAj
aWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCiAg
ICAgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yLCBDYWNoZWRBdHRyaWJ1dGUsIEN1c3Rv
bUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIGFueSBkYXRhOwogICAgIFtJbml0aWFsaXplZEJ5
RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9ubHkgYXR0cmlidXRlIE1lc3NhZ2VQb3J0W10gcG9ydHM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCmluZGV4IDEwNTAzODYyZDU0Y2RlOWRhMzY3YTkxYWYy
NTFlMTcwZTFiZGUzYmIuLjgzNjUzNzdlYWI0YjMxMzQzN2JlMTM1NWUyYjcxNTIwMzExMGIzMDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNl
TmFtZSgpIGNvbnN0IE9WRVJSSURFOwogICAgICAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBPVkVSUklERTsKKyAgICAgICAg
TWVzc2FnZVBvcnQqIHRvTWVzc2FnZVBvcnQoKSBPVkVSUklERSB7IHJldHVybiB0aGlzOyB9CiAK
ICAgICAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggY2M3YWRmMmZiNTkz
Nzg1ZjlkZTE0NmRkZWIxNjQ0NmZmNzNmYmY3Mi4uMGQwNzhlNTc3MDIzYWI4ZDY5MDZkNzM2OTcz
YjAzOTEzNDdkZmU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRX
b3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRX
b3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTQ2LDcgKzQ2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBQYXNzUmVmUHRyPE1lc3NhZ2VFdmVudD4gY3JlYXRlQ29ubmVjdEV2ZW50KFBhc3NSZWZQ
dHI8TWVzc2FnZVBvcnQ+IHBvcnQpCiB7Ci0gICAgUmVmUHRyPE1lc3NhZ2VFdmVudD4gZXZlbnQg
PSBNZXNzYWdlRXZlbnQ6OmNyZWF0ZShhZG9wdFB0cihuZXcgTWVzc2FnZVBvcnRBcnJheSgxLCBw
b3J0KSkpOworICAgIFJlZlB0cjxNZXNzYWdlUG9ydD4gc291cmNlUG9ydCA9IHBvcnQ7CisgICAg
UmVmUHRyPE1lc3NhZ2VFdmVudD4gZXZlbnQgPSBNZXNzYWdlRXZlbnQ6OmNyZWF0ZShhZG9wdFB0
cihuZXcgTWVzc2FnZVBvcnRBcnJheSgxLCBzb3VyY2VQb3J0KSksIFNjcmlwdFZhbHVlKCksICIi
LCAiIiwgc291cmNlUG9ydCk7CiAgICAgZXZlbnQtPmluaXRFdmVudChldmVudE5hbWVzKCkuY29u
bmVjdEV2ZW50LCBmYWxzZSwgZmFsc2UpOwogICAgIHJldHVybiBldmVudC5yZWxlYXNlKCk7CiB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNjM2ZjFhNmJiZDU2MmY0MGNhNDc2ZmNkY2M4NzE2NjU4MjI4ZmVlZi4uNzg1ZjQ4
OGIyYWI3ZTlhZmE4YTljMWJiYWFjYzEzNTM3Y2Y0NjlhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDEzLTA5LTE1ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNv
bT4KKworICAgICAgICBTZXQgTWVzc2FnZUV2ZW50LnNvdXJjZSB0byB0aGUgbmV3bHkgY3JlYXRl
ZCBwb3J0IGZvciBzaGFyZWQgd29ya2VycycgY29ubmVjdCBldmVudHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTM5MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCB0byBjaGVj
ayB0aGF0IE1lc3NhZ2VFdmVudC5zb3VyY2UgaXMgc2V0IHRvIHRoZSBuZXdseSBjcmVhdGVkIHBv
cnQKKyAgICAgICAgZm9yIHNoYXJlZCB3b3JrZXJzJyBjb25uZWN0IGV2ZW50cy4KKworICAgICAg
ICAqIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZXNzYWdlLWV2ZW50LWNvbnN0cnVjdG9yLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVzc2FnZS1l
dmVudC1jb25zdHJ1Y3Rvci5odG1sOgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9yZXNvdXJjZXMv
bWVzc2FnZWV2ZW50LXNvdXJjZS5qczogQWRkZWQuCisgICAgICAgIChvbmNvbm5lY3QpOgorICAg
ICAgICAqIGZhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLW1lc3NhZ2VldmVudC1zb3VyY2UtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1t
ZXNzYWdlZXZlbnQtc291cmNlLmh0bWw6IEFkZGVkLgorCiAyMDEzLTA5LTE1ICBGcsOpZMOpcmlj
IFdhbmcgIDxmcmVkLndhbmdAZnJlZS5mcj4KIAogICAgICAgICBJbXBsZW1lbnQgdGhlIG1tdWx0
aXNjcmlwdHMgdGFnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1
Y3RvcnMvbWVzc2FnZS1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVzc2FnZS1ldmVudC1jb25zdHJ1Y3Rvci1leHBl
Y3RlZC50eHQKaW5kZXggMzJkZjY3ZGRmMTQ2NTM5OTJkOTNiNjUzYjBjOGIxZGNlNTAzN2EzYi4u
ZDM4YWE4ZjI2YzJiZTZkNjI1NTJmM2Y0ZjM1ZDc5NDdmZjM5ZGVkMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lc3NhZ2UtZXZlbnQtY29uc3RydWN0
b3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9y
cy9tZXNzYWdlLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtNjAsOCArNjAsMTAg
QEAgUEFTUyBuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUnLCB7IGdldCBsYXN0RXZlbnRJZCgp
IHsgcmV0dXJuIDEyMzsgfSB9KS5sYXN0RXYKIFBBU1MgbmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRU
eXBlJywgeyBnZXQgbGFzdEV2ZW50SWQoKSB7IHRocm93ICdNZXNzYWdlRXZlbnQgRXJyb3InOyB9
IH0pIHRocmV3IGV4Y2VwdGlvbiBNZXNzYWdlRXZlbnQgRXJyb3IuCiBQQVNTIG5ldyBNZXNzYWdl
RXZlbnQoJ2V2ZW50VHlwZScsIHsgc291cmNlOiB3aW5kb3cgfSkuc291cmNlIGlzIHdpbmRvdwog
UEFTUyBuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUnLCB7IHNvdXJjZTogdGhpcyB9KS5zb3Vy
Y2UgaXMgdGhpcworUEFTUyBuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUnLCB7IHBvcnRzOiBb
Y2hhbm5lbC5wb3J0MV0sIHNvdXJjZTogY2hhbm5lbC5wb3J0MSB9KS5zb3VyY2UgaXMgY2hhbm5l
bC5wb3J0MQogUEFTUyBuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUnLCB7IHNvdXJjZTogdGVz
dF9vYmplY3QgfSkuc291cmNlIGlzIG51bGwKIFBBU1MgbmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRU
eXBlJywgeyBzb3VyY2U6IGRvY3VtZW50IH0pLnNvdXJjZSBpcyBudWxsCitQQVNTIG5ldyBNZXNz
YWdlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc291cmNlOiBkb2N1bWVudC5ib2R5IH0pLnNvdXJjZSBp
cyBudWxsCiBQQVNTIG5ldyBNZXNzYWdlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc291cmNlOiB1bmRl
ZmluZWQgfSkuc291cmNlIGlzIG51bGwKIFBBU1MgbmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRUeXBl
JywgeyBzb3VyY2U6IG51bGwgfSkuc291cmNlIGlzIG51bGwKIFBBU1MgbmV3IE1lc3NhZ2VFdmVu
dCgnZXZlbnRUeXBlJywgeyBzb3VyY2U6IGZhbHNlIH0pLnNvdXJjZSBpcyBudWxsCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVzc2FnZS1ldmVudC1j
b25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21l
c3NhZ2UtZXZlbnQtY29uc3RydWN0b3IuaHRtbAppbmRleCAzYTk0ZDgwNDJmZTBiZGI5MmNlYTI3
OGVmN2JkMGY2ZDc3YWY4YzM5Li42ZDQxMjdhNWQ2YzcyMTE0MTEyZWQxMTE2MzNjOWU0ZThjZjMw
ZGVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVz
c2FnZS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2NvbnN0cnVjdG9ycy9tZXNzYWdlLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKQEAgLTcxLDkgKzcx
LDE0IEBAIHNob3VsZFRocm93KCJuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUnLCB7IGdldCBk
YXRhKCkgeyB0aHJvdyAnTWVzc2FnZUV2ZW50IEVyCiBzaG91bGRCZSgibmV3IE1lc3NhZ2VFdmVu
dCgnZXZlbnRUeXBlJywgeyBzb3VyY2U6IHdpbmRvdyB9KS5zb3VyY2UiLCAid2luZG93Iik7CiBz
aG91bGRCZSgibmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRUeXBlJywgeyBzb3VyY2U6IHRoaXMgfSku
c291cmNlIiwgInRoaXMiKTsKIAotLy8gTm9uLXdpbmRvdyBvYmplY3RzLgorLy8gTWVzc2FnZVBv
cnQgb2JqZWN0cy4KK3ZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CitzaG91bGRC
ZSgibmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRUeXBlJywgeyBwb3J0czogW2NoYW5uZWwucG9ydDFd
LCBzb3VyY2U6IGNoYW5uZWwucG9ydDEgfSkuc291cmNlIiwgImNoYW5uZWwucG9ydDEiKTsKKwor
Ly8gVW5hY2NlcHRhYmxlIHNvdXJjZSBvYmplY3RzIChub3QgYSBXaW5kb3cgb3IgYSBNZXNzYWdl
UG9ydCkuCiBzaG91bGRCZSgibmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRUeXBlJywgeyBzb3VyY2U6
IHRlc3Rfb2JqZWN0IH0pLnNvdXJjZSIsICJudWxsIik7CiBzaG91bGRCZSgibmV3IE1lc3NhZ2VF
dmVudCgnZXZlbnRUeXBlJywgeyBzb3VyY2U6IGRvY3VtZW50IH0pLnNvdXJjZSIsICJudWxsIik7
CitzaG91bGRCZSgibmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRUeXBlJywgeyBzb3VyY2U6IGRvY3Vt
ZW50LmJvZHkgfSkuc291cmNlIiwgIm51bGwiKTsKIHNob3VsZEJlKCJuZXcgTWVzc2FnZUV2ZW50
KCdldmVudFR5cGUnLCB7IHNvdXJjZTogdW5kZWZpbmVkIH0pLnNvdXJjZSIsICJudWxsIik7CiBz
aG91bGRCZSgibmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRUeXBlJywgeyBzb3VyY2U6IG51bGwgfSku
c291cmNlIiwgIm51bGwiKTsKIHNob3VsZEJlKCJuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUn
LCB7IHNvdXJjZTogZmFsc2UgfSkuc291cmNlIiwgIm51bGwiKTsKQEAgLTkwLDcgKzk1LDYgQEAg
c2hvdWxkVGhyb3coIm5ldyBNZXNzYWdlRXZlbnQoJ2V2ZW50VHlwZScsIHsgZ2V0IHNvdXJjZSgp
IHsgdGhyb3cgJ01lc3NhZ2VFdmVudAogCiAvLyBwb3J0cyBpcyBwYXNzZWQuCiAvLyBWYWxpZCBt
ZXNzYWdlIHBvcnRzLgotdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKIHZhciBj
aGFubmVsMiA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwogc2hvdWxkQmUoIm5ldyBNZXNzYWdlRXZl
bnQoJ2V2ZW50VHlwZScsIHsgcG9ydHM6IFtjaGFubmVsLnBvcnQxLCBjaGFubmVsLnBvcnQyLCBj
aGFubmVsMi5wb3J0MV0gfSkucG9ydHNbMF0iLCAiY2hhbm5lbC5wb3J0MSIpOwogc2hvdWxkQmUo
Im5ldyBNZXNzYWdlRXZlbnQoJ2V2ZW50VHlwZScsIHsgcG9ydHM6IFtjaGFubmVsLnBvcnQxLCBj
aGFubmVsLnBvcnQyLCBjaGFubmVsMi5wb3J0MV0gfSkucG9ydHNbMV0iLCAiY2hhbm5lbC5wb3J0
MiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy9tZXNz
YWdlZXZlbnQtc291cmNlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy9t
ZXNzYWdlZXZlbnQtc291cmNlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxYjcyYWRiMDk3YTA5OTY5ZjA3NTNi
MDI0NzczNmM0N2ZlOWQyMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dv
cmtlcnMvcmVzb3VyY2VzL21lc3NhZ2VldmVudC1zb3VyY2UuanMKQEAgLTAsMCArMSwxMSBAQAor
b25jb25uZWN0ID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBpZiAoZXZlbnQuX19wcm90b19fID09
PSBNZXNzYWdlRXZlbnQucHJvdG90eXBlKQorICAgICAgICBldmVudC5wb3J0c1swXS5wb3N0TWVz
c2FnZSgiUEFTUzogZXZlbnQuX19wcm90b19fIGlzIE1lc3NhZ2VFdmVudC5wcm90b3R5cGUiKTsK
KyAgICBlbHNlCisgICAgICAgIGV2ZW50LnBvcnRzWzBdLnBvc3RNZXNzYWdlKCJGQUlMOiBldmVu
dC5fX3Byb3RvX18gaXMgbm90IE1lc3NhZ2VFdmVudC5wcm90b3R5cGUiKTsKKyAgICBpZiAoZXZl
bnQuc291cmNlID09PSBldmVudC5wb3J0c1swXSkKKyAgICAgICAgZXZlbnQucG9ydHNbMF0ucG9z
dE1lc3NhZ2UoIlBBU1M6IGV2ZW50LnNvdXJjZSBpcyBldmVudC5wb3J0c1swXSIpOworICAgIGVs
c2UKKyAgICAgICAgZXZlbnQucG9ydHNbMF0ucG9zdE1lc3NhZ2UoIkZBSUw6IGV2ZW50LnNvdXJj
ZSBpcyBub3QgZXZlbnQucG9ydHNbMF0iKTsKKyAgICBldmVudC5wb3J0c1swXS5wb3N0TWVzc2Fn
ZSgiRE9ORToiKTsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hh
cmVkLXdvcmtlci1tZXNzYWdlZXZlbnQtc291cmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLW1lc3NhZ2VldmVudC1zb3VyY2UtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU1YWRmN2NmMzhjOTJmZWM4YTRhNDMyZDQxODkyMTA2ZWRiOTg4MDkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtl
ci1tZXNzYWdlZXZlbnQtc291cmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitNYWtl
IHN1cmUgdGhhdCBNZXNzYWdlRXZlbnQuc291cmNlIGlzIHByb3Blcmx5IHNldCBpbiBjb25uZWN0
IGV2ZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRpbmcgd29ya2Vy
OiByZXNvdXJjZXMvbWVzc2FnZWV2ZW50LXNvdXJjZS5qcworUEFTUyBbV29ya2VyXSAgZXZlbnQu
X19wcm90b19fIGlzIE1lc3NhZ2VFdmVudC5wcm90b3R5cGUKK1BBU1MgW1dvcmtlcl0gIGV2ZW50
LnNvdXJjZSBpcyBldmVudC5wb3J0c1swXQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vy
cy9zaGFyZWQtd29ya2VyLW1lc3NhZ2VldmVudC1zb3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLW1lc3NhZ2VldmVudC1zb3VyY2UuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kZTkwYjQwODA2NTIyYzI4ZTU5NTNlYjI3NDEwZWY1OTQ3YThkYTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItbWVzc2FnZWV2
ZW50LXNvdXJjZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgdGhhdCBNZXNzYWdlRXZl
bnQuc291cmNlIGlzIHByb3Blcmx5IHNldCBpbiBjb25uZWN0IGV2ZW50LiIpOworCitzdGFydFdv
cmtlcigicmVzb3VyY2VzL21lc3NhZ2VldmVudC1zb3VyY2UuanMiLCB0cnVlKTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211870</attachid>
            <date>2013-09-17 00:56:43 -0700</date>
            <delta_ts>2013-09-17 08:24:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121390-20130917105641.patch</filename>
            <type>text/plain</type>
            <size>20272</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1OTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmYyZDYxMjVmNTQwM2Qx
MTUzMDYyZjkzNGY5NGRiNDJkZTM3MmI0NS4uOWViYjAwYjk5YWQxYzkyNGM4MThkZjMwZDRiN2Y0
OGU5YTk3OGE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTA5LTE3ICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBTZXQg
TWVzc2FnZUV2ZW50LnNvdXJjZSB0byB0aGUgbmV3bHkgY3JlYXRlZCBwb3J0IGZvciBzaGFyZWQg
d29ya2VycycgY29ubmVjdCBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyMTM5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFNldCBNZXNzYWdlRXZlbnQuc291cmNlIHRvIHRoZSBuZXdseSBjcmVh
dGVkIHBvcnQgZm9yIHNoYXJlZCB3b3JrZXJzJyBjb25uZWN0IGV2ZW50cworICAgICAgICBpbnN0
ZWFkIG9mIHByZXZpb3VzbHkgbnVsbCwgYXMgcGVyIHRoZSBsYXRlc3Qgc3BlY2lmaWNhdGlvbjoK
KyAgICAgICAgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29y
ay9tdWx0aXBhZ2UvY29tbXMuaHRtbCNkb20tbWVzc2FnZWV2ZW50LXNvdXJjZQorICAgICAgICBo
dHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFn
ZS93b3JrZXJzLmh0bWwjZG9tLXNoYXJlZHdvcmtlcgorCisgICAgICAgIFRoaXMgYmVoYXZpb3Ig
aXMgY29uc2lzZW50IHdpdGggQmxpbmsuCisKKyAgICAgICAgVGVzdDogZmFzdC93b3JrZXJzL3No
YXJlZC13b3JrZXItbWVzc2FnZWV2ZW50LXNvdXJjZS5odG1sCisKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OmlzTWVzc2FnZVBv
cnQpOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAqIGRvbS9NZXNzYWdl
RXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNWYWxpZFNvdXJjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudCk6CisgICAgICAgICogZG9tL01lc3Nh
Z2VFdmVudC5oOgorICAgICAgICBVc2UgbnVsbCBTdHJpbmcgaW5zdGVhZCBvZiBhbiBlbXB0eSBT
dHJpbmcgYXMgZGVmYXVsdCB2YWx1ZSBmb3Igb3JpZ2luIGFuZCBsYXN0RXZlbnRJZC4KKyAgICAg
ICAgVGhpcyBpcyBtb3JlIGVmZmljaWVudCBhbmQgaGFzIG5vIGltcGFjdCBvbiB0aGUgYmVoYXZp
b3Igb24gdGhlIEphdmFTY3JpcHQgc2luY2UgYQorICAgICAgICBudWxsIFN0cmluZyBpcyBleHBv
c2VkIGFzIGFuIGVtcHR5IG9uZSBvbiBKUyBzaWRlLgorICAgICAgICBUaGlzIGNoYW5nZSBpcyBj
b3ZlcmVkIGJ5IGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZXNzYWdlLWV2ZW50LWNvbnN0cnVj
dG9yLmh0bWwKKyAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20v
TWVzc2FnZVBvcnQuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQb3N0TWVzc2FnZVRpbWVyOjpldmVudCk6CisgICAgICAgICogd29ya2Vycy9TaGFy
ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVDb25uZWN0
RXZlbnQpOgorCiAyMDEzLTA5LTE2ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQ1RURTogSW5wdXRUeXBlIHNob3VsZCBzdG9yZSBpdHMgSFRNTElucHV0RWxlbWVudCBi
YWNrIHBvaW50ZXIgYXMgYSByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCmlu
ZGV4IGYxMjBhYTE1OTNhMzZmMjU3NjIxNWEwNmFiYmNkMWJhMjAyNTc3MDcuLmYyY2M3MzM2Njli
MTAwNTE5MDVmNzg4ZDkwODMyMzdiMDIyZWJjNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
LmNwcApAQCAtNjgsNiArNjgsMTEgQEAgRE9NV2luZG93KiBFdmVudFRhcmdldDo6dG9ET01XaW5k
b3coKQogICAgIHJldHVybiAwOwogfQogCitib29sIEV2ZW50VGFyZ2V0Ojppc01lc3NhZ2VQb3J0
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgRXZlbnRUYXJnZXQ6OmFk
ZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8
RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSkKIHsKICAgICByZXR1cm4g
ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkuZXZlbnRMaXN0ZW5lck1hcC5hZGQoZXZlbnRUeXBlLCBs
aXN0ZW5lciwgdXNlQ2FwdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCmluZGV4IDkyOGI2
MmY5ZGQ2OGNhODFlMGNkZGM3ODM5ZWM1Y2IxNmJhYzU0YjUuLjY3YjcxNWIxZTc4MjQ4ODVhYzc1
MjVlMTZhMmYyNDRhMjNkNDMxN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC0xMTEs
NiArMTExLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwgTm9kZSog
dG9Ob2RlKCk7CiAgICAgICAgIHZpcnR1YWwgRE9NV2luZG93KiB0b0RPTVdpbmRvdygpOworICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNNZXNzYWdlUG9ydCgpIGNvbnN0OwogCiAgICAgICAgIHZpcnR1
YWwgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQ
YXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+LCBib29sIHVzZUNhcHR1cmUpOwogICAgICAgICB2aXJ0
dWFsIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSwgRXZlbnRMaXN0ZW5lciosIGJvb2wgdXNlQ2FwdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
RXZlbnQuY3BwCmluZGV4IDAzMjlhZjEzNzliMDRjYzJlZTNkODEzYjBiZjIwNmFiOTcyZDA4OGEu
Ljc1M2QyNTRiZDQ5ZjAwZTFiNDZmYWZmZmJlOTkxYjU0NTJkZjBmOWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NZXNzYWdlRXZlbnQuY3BwCkBAIC0zMyw2ICszMywxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc1ZhbGlkU291cmNlKEV2ZW50VGFyZ2V0KiBzb3Vy
Y2UpCit7CisgICAgcmV0dXJuICFzb3VyY2UgfHwgc291cmNlLT50b0RPTVdpbmRvdygpIHx8IHNv
dXJjZS0+aXNNZXNzYWdlUG9ydCgpOworfQorCiBNZXNzYWdlRXZlbnRJbml0OjpNZXNzYWdlRXZl
bnRJbml0KCkKIHsKIH0KQEAgLTQ4LDEyICs1MywxMiBAQCBNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1lc3NhZ2VFdmVudEluaXQmIGlu
aQogICAgICwgbV9kYXRhQXNTY3JpcHRWYWx1ZShpbml0aWFsaXplci5kYXRhKQogICAgICwgbV9v
cmlnaW4oaW5pdGlhbGl6ZXIub3JpZ2luKQogICAgICwgbV9sYXN0RXZlbnRJZChpbml0aWFsaXpl
ci5sYXN0RXZlbnRJZCkKLSAgICAsIG1fc291cmNlKGluaXRpYWxpemVyLnNvdXJjZSkKKyAgICAs
IG1fc291cmNlKGlzVmFsaWRTb3VyY2UoaW5pdGlhbGl6ZXIuc291cmNlLmdldCgpKSA/IGluaXRp
YWxpemVyLnNvdXJjZSA6IDApCiAgICAgLCBtX3BvcnRzKGFkb3B0UHRyKG5ldyBNZXNzYWdlUG9y
dEFycmF5KGluaXRpYWxpemVyLnBvcnRzKSkpCiB7CiB9CiAKLU1lc3NhZ2VFdmVudDo6TWVzc2Fn
ZUV2ZW50KGNvbnN0IFNjcmlwdFZhbHVlJiBkYXRhLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgY29u
c3QgU3RyaW5nJiBsYXN0RXZlbnRJZCwgUGFzc1JlZlB0cjxET01XaW5kb3c+IHNvdXJjZSwgUGFz
c093blB0cjxNZXNzYWdlUG9ydEFycmF5PiBwb3J0cykKK01lc3NhZ2VFdmVudDo6TWVzc2FnZUV2
ZW50KGNvbnN0IFNjcmlwdFZhbHVlJiBkYXRhLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgY29uc3Qg
U3RyaW5nJiBsYXN0RXZlbnRJZCwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gc291cmNlLCBQYXNz
T3duUHRyPE1lc3NhZ2VQb3J0QXJyYXk+IHBvcnRzKQogICAgIDogRXZlbnQoZXZlbnROYW1lcygp
Lm1lc3NhZ2VFdmVudCwgZmFsc2UsIGZhbHNlKQogICAgICwgbV9kYXRhVHlwZShEYXRhVHlwZVNj
cmlwdFZhbHVlKQogICAgICwgbV9kYXRhQXNTY3JpcHRWYWx1ZShkYXRhKQpAQCAtNjIsOSArNjcs
MTAgQEAgTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoY29uc3QgU2NyaXB0VmFsdWUmIGRhdGEs
IGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdAogICAgICwgbV9zb3VyY2Uoc291cmNlKQogICAg
ICwgbV9wb3J0cyhwb3J0cykKIHsKKyAgICBBU1NFUlQoaXNWYWxpZFNvdXJjZShtX3NvdXJjZS5n
ZXQoKSkpOwogfQogCi1NZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudChQYXNzUmVmUHRyPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwgY29uc3QgU3RyaW5nJiBvcmlnaW4sIGNvbnN0IFN0cmlu
ZyYgbGFzdEV2ZW50SWQsIFBhc3NSZWZQdHI8RE9NV2luZG93PiBzb3VyY2UsIFBhc3NPd25QdHI8
TWVzc2FnZVBvcnRBcnJheT4gcG9ydHMpCitNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudChQYXNz
UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwgY29uc3QgU3RyaW5nJiBvcmlnaW4s
IGNvbnN0IFN0cmluZyYgbGFzdEV2ZW50SWQsIFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHNvdXJj
ZSwgUGFzc093blB0cjxNZXNzYWdlUG9ydEFycmF5PiBwb3J0cykKICAgICA6IEV2ZW50KGV2ZW50
TmFtZXMoKS5tZXNzYWdlRXZlbnQsIGZhbHNlLCBmYWxzZSkKICAgICAsIG1fZGF0YVR5cGUoRGF0
YVR5cGVTZXJpYWxpemVkU2NyaXB0VmFsdWUpCiAgICAgLCBtX2RhdGFBc1NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZShkYXRhKQpAQCAtNzMsNiArNzksNyBAQCBNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVu
dChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwgY29uc3QgU3RyaW5nJgog
ICAgICwgbV9zb3VyY2Uoc291cmNlKQogICAgICwgbV9wb3J0cyhwb3J0cykKIHsKKyAgICBBU1NF
UlQoaXNWYWxpZFNvdXJjZShtX3NvdXJjZS5nZXQoKSkpOwogfQogCiBNZXNzYWdlRXZlbnQ6Ok1l
c3NhZ2VFdmVudChjb25zdCBTdHJpbmcmIGRhdGEsIGNvbnN0IFN0cmluZyYgb3JpZ2luKQpAQCAt
ODAsNyArODcsNiBAQCBNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudChjb25zdCBTdHJpbmcmIGRh
dGEsIGNvbnN0IFN0cmluZyYgb3JpZ2luKQogICAgICwgbV9kYXRhVHlwZShEYXRhVHlwZVN0cmlu
ZykKICAgICAsIG1fZGF0YUFzU3RyaW5nKGRhdGEpCiAgICAgLCBtX29yaWdpbihvcmlnaW4pCi0g
ICAgLCBtX2xhc3RFdmVudElkKCIiKQogewogfQogCkBAIC04OSw3ICs5NSw2IEBAIE1lc3NhZ2VF
dmVudDo6TWVzc2FnZUV2ZW50KFBhc3NSZWZQdHI8QmxvYj4gZGF0YSwgY29uc3QgU3RyaW5nJiBv
cmlnaW4pCiAgICAgLCBtX2RhdGFUeXBlKERhdGFUeXBlQmxvYikKICAgICAsIG1fZGF0YUFzQmxv
YihkYXRhKQogICAgICwgbV9vcmlnaW4ob3JpZ2luKQotICAgICwgbV9sYXN0RXZlbnRJZCgiIikK
IHsKIH0KIApAQCAtOTgsNyArMTAzLDYgQEAgTWVzc2FnZUV2ZW50OjpNZXNzYWdlRXZlbnQoUGFz
c1JlZlB0cjxBcnJheUJ1ZmZlcj4gZGF0YSwgY29uc3QgU3RyaW5nJiBvcmlnaW4pCiAgICAgLCBt
X2RhdGFUeXBlKERhdGFUeXBlQXJyYXlCdWZmZXIpCiAgICAgLCBtX2RhdGFBc0FycmF5QnVmZmVy
KGRhdGEpCiAgICAgLCBtX29yaWdpbihvcmlnaW4pCi0gICAgLCBtX2xhc3RFdmVudElkKCIiKQog
ewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmgKaW5kZXggZjA0ZmJiMmQzMzg4ODA4NmI1
ZGZkODgyNGM0ZTBmYWVmMmE5YWNkMy4uZTkyMzcwNDBhNmRhYjJkOGUxMzc0OTYzNjhiYTgwZThk
MWY5YmE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaApAQCAtMzgsNyArMzgsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIERPTVdpbmRvdzsKK2NsYXNzIEV2ZW50VGFy
Z2V0OwogCiBzdHJ1Y3QgTWVzc2FnZUV2ZW50SW5pdCA6IHB1YmxpYyBFdmVudEluaXQgewogICAg
IE1lc3NhZ2VFdmVudEluaXQoKTsKQEAgLTQ2LDcgKzQ2LDcgQEAgc3RydWN0IE1lc3NhZ2VFdmVu
dEluaXQgOiBwdWJsaWMgRXZlbnRJbml0IHsKICAgICBTY3JpcHRWYWx1ZSBkYXRhOwogICAgIFN0
cmluZyBvcmlnaW47CiAgICAgU3RyaW5nIGxhc3RFdmVudElkOwotICAgIFJlZlB0cjxET01XaW5k
b3c+IHNvdXJjZTsKKyAgICBSZWZQdHI8RXZlbnRUYXJnZXQ+IHNvdXJjZTsKICAgICBNZXNzYWdl
UG9ydEFycmF5IHBvcnRzOwogfTsKIApAQCAtNTYsMjMgKzU2LDIzIEBAIHB1YmxpYzoKICAgICB7
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVzc2FnZUV2ZW50KTsKICAgICB9Ci0gICAg
c3RhdGljIFBhc3NSZWZQdHI8TWVzc2FnZUV2ZW50PiBjcmVhdGUoUGFzc093blB0cjxNZXNzYWdl
UG9ydEFycmF5PiBwb3J0cywgY29uc3QgU2NyaXB0VmFsdWUmIGRhdGEgPSBTY3JpcHRWYWx1ZSgp
LCBjb25zdCBTdHJpbmcmIG9yaWdpbiA9ICIiLCBjb25zdCBTdHJpbmcmIGxhc3RFdmVudElkID0g
IiIsIFBhc3NSZWZQdHI8RE9NV2luZG93PiBzb3VyY2UgPSAwKQorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE1lc3NhZ2VFdmVudD4gY3JlYXRlKFBhc3NPd25QdHI8TWVzc2FnZVBvcnRBcnJheT4gcG9y
dHMsIGNvbnN0IFNjcmlwdFZhbHVlJiBkYXRhID0gU2NyaXB0VmFsdWUoKSwgY29uc3QgU3RyaW5n
JiBvcmlnaW4gPSBTdHJpbmcoKSwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCA9IFN0cmluZygp
LCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiBzb3VyY2UgPSAwKQogICAgIHsKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBNZXNzYWdlRXZlbnQoZGF0YSwgb3JpZ2luLCBsYXN0RXZlbnRJZCwg
c291cmNlLCBwb3J0cykpOwogICAgIH0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZXNzYWdlRXZl
bnQ+IGNyZWF0ZShQYXNzT3duUHRyPE1lc3NhZ2VQb3J0QXJyYXk+IHBvcnRzLCBQYXNzUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwgY29uc3QgU3RyaW5nJiBvcmlnaW4gPSAiIiwg
Y29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCA9ICIiLCBQYXNzUmVmUHRyPERPTVdpbmRvdz4gc291
cmNlID0gMCkKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZXNzYWdlRXZlbnQ+IGNyZWF0ZShQYXNz
T3duUHRyPE1lc3NhZ2VQb3J0QXJyYXk+IHBvcnRzLCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4gZGF0YSwgY29uc3QgU3RyaW5nJiBvcmlnaW4gPSBTdHJpbmcoKSwgY29uc3QgU3Ry
aW5nJiBsYXN0RXZlbnRJZCA9IFN0cmluZygpLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiBzb3Vy
Y2UgPSAwKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZXNzYWdlRXZlbnQo
ZGF0YSwgb3JpZ2luLCBsYXN0RXZlbnRJZCwgc291cmNlLCBwb3J0cykpOwogICAgIH0KLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxNZXNzYWdlRXZlbnQ+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGRhdGEs
IGNvbnN0IFN0cmluZyYgb3JpZ2luID0gIiIpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVzc2Fn
ZUV2ZW50PiBjcmVhdGUoY29uc3QgU3RyaW5nJiBkYXRhLCBjb25zdCBTdHJpbmcmIG9yaWdpbiA9
IFN0cmluZygpKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZXNzYWdlRXZl
bnQoZGF0YSwgb3JpZ2luKSk7CiAgICAgfQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lc3NhZ2VF
dmVudD4gY3JlYXRlKFBhc3NSZWZQdHI8QmxvYj4gZGF0YSwgY29uc3QgU3RyaW5nJiBvcmlnaW4g
PSAiIikKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZXNzYWdlRXZlbnQ+IGNyZWF0ZShQYXNzUmVm
UHRyPEJsb2I+IGRhdGEsIGNvbnN0IFN0cmluZyYgb3JpZ2luID0gU3RyaW5nKCkpCiAgICAgewog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lc3NhZ2VFdmVudChkYXRhLCBvcmlnaW4pKTsK
ICAgICB9Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVzc2FnZUV2ZW50PiBjcmVhdGUoUGFzc1Jl
ZlB0cjxBcnJheUJ1ZmZlcj4gZGF0YSwgY29uc3QgU3RyaW5nJiBvcmlnaW4gPSAiIikKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxNZXNzYWdlRXZlbnQ+IGNyZWF0ZShQYXNzUmVmUHRyPEFycmF5QnVm
ZmVyPiBkYXRhLCBjb25zdCBTdHJpbmcmIG9yaWdpbiA9IFN0cmluZygpKQogICAgIHsKICAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZXNzYWdlRXZlbnQoZGF0YSwgb3JpZ2luKSk7CiAgICAg
fQpAQCAtODcsNyArODcsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBTdHJpbmcmIG9yaWdpbigp
IGNvbnN0IHsgcmV0dXJuIG1fb3JpZ2luOyB9CiAgICAgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJ
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdEV2ZW50SWQ7IH0KLSAgICBET01XaW5kb3cqIHNvdXJj
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlLmdldCgpOyB9CisgICAgRXZlbnRUYXJnZXQqIHNv
dXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlLmdldCgpOyB9CiAgICAgTWVzc2FnZVBvcnRB
cnJheSBwb3J0cygpIGNvbnN0IHsgcmV0dXJuIG1fcG9ydHMgPyAqbV9wb3J0cyA6IE1lc3NhZ2VQ
b3J0QXJyYXkoKTsgfQogCiAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIHdoZW4gd2UgaGF2ZSBj
dXN0b20gT2JqQyBiaW5kaW5nIHN1cHBvcnQuCkBAIC0xMTYsOCArMTE2LDggQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICBNZXNzYWdlRXZlbnQoKTsKICAgICBNZXNzYWdlRXZlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiwgY29uc3QgTWVzc2FnZUV2ZW50SW5pdCYpOwotICAgIE1lc3NhZ2VFdmVudChj
b25zdCBTY3JpcHRWYWx1ZSYgZGF0YSwgY29uc3QgU3RyaW5nJiBvcmlnaW4sIGNvbnN0IFN0cmlu
ZyYgbGFzdEV2ZW50SWQsIFBhc3NSZWZQdHI8RE9NV2luZG93PiBzb3VyY2UsIFBhc3NPd25QdHI8
TWVzc2FnZVBvcnRBcnJheT4pOwotICAgIE1lc3NhZ2VFdmVudChQYXNzUmVmUHRyPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4gZGF0YSwgY29uc3QgU3RyaW5nJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYg
bGFzdEV2ZW50SWQsIFBhc3NSZWZQdHI8RE9NV2luZG93PiBzb3VyY2UsIFBhc3NPd25QdHI8TWVz
c2FnZVBvcnRBcnJheT4pOworICAgIE1lc3NhZ2VFdmVudChjb25zdCBTY3JpcHRWYWx1ZSYgZGF0
YSwgY29uc3QgU3RyaW5nJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbGFzdEV2ZW50SWQsIFBhc3NS
ZWZQdHI8RXZlbnRUYXJnZXQ+IHNvdXJjZSwgUGFzc093blB0cjxNZXNzYWdlUG9ydEFycmF5Pik7
CisgICAgTWVzc2FnZUV2ZW50KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBkYXRh
LCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCwgUGFzc1Jl
ZlB0cjxFdmVudFRhcmdldD4gc291cmNlLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0QXJyYXk+KTsK
IAogICAgIGV4cGxpY2l0IE1lc3NhZ2VFdmVudChjb25zdCBTdHJpbmcmIGRhdGEsIGNvbnN0IFN0
cmluZyYgb3JpZ2luKTsKICAgICBleHBsaWNpdCBNZXNzYWdlRXZlbnQoUGFzc1JlZlB0cjxCbG9i
PiBkYXRhLCBjb25zdCBTdHJpbmcmIG9yaWdpbik7CkBAIC0xMzEsNyArMTMxLDcgQEAgcHJpdmF0
ZToKICAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fZGF0YUFzQXJyYXlCdWZmZXI7CiAgICAgU3Ry
aW5nIG1fb3JpZ2luOwogICAgIFN0cmluZyBtX2xhc3RFdmVudElkOwotICAgIFJlZlB0cjxET01X
aW5kb3c+IG1fc291cmNlOworICAgIFJlZlB0cjxFdmVudFRhcmdldD4gbV9zb3VyY2U7CiAgICAg
T3duUHRyPE1lc3NhZ2VQb3J0QXJyYXk+IG1fcG9ydHM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNz
YWdlRXZlbnQuaWRsCmluZGV4IDVmMzE0MGM1MzVhN2FjMWNhNDdiZGVkMjY1ZTk0YzYwYmM2MDBl
YWMuLjQ5OGFkYWExM2NmNTkyZDg3Zjg0OTEwMGRhNjRiNDY4MTU4MTM3M2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9NZXNzYWdlRXZlbnQuaWRsCkBAIC0zMiw3ICszMiw3IEBACiBdIGludGVyZmFjZSBNZXNz
YWdlRXZlbnQgOiBFdmVudCB7CiAgICAgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG9yaWdpbjsKICAgICBbSW5pdGlhbGl6ZWRCeUV2
ZW50Q29uc3RydWN0b3JdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbGFzdEV2ZW50SWQ7
Ci0gICAgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSByZWFkb25seSBhdHRyaWJ1dGUg
RE9NV2luZG93IHNvdXJjZTsKKyAgICBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBFdmVudFRhcmdldCBzb3VyY2U7IC8vIE1heSBiZSBhIERPTVdpbmRv
dyBvciBhIE1lc3NhZ2VQb3J0LgogI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYg
TEFOR1VBR0VfSkFWQVNDUklQVAogICAgIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvciwg
Q2FjaGVkQXR0cmlidXRlLCBDdXN0b21HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkgZGF0
YTsKICAgICBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBNZXNzYWdlUG9ydFtdIHBvcnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VQb3J0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaAppbmRleCAxMDUw
Mzg2MmQ1NGNkZTlkYTM2N2E5MWFmMjUxZTE3MGUxYmRlM2JiLi4wYTE2ODdmMDRkMzNhYzc5MGVk
ZDJhYjllN2U0YjIyYzBhODdjY2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVz
c2FnZVBvcnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaApAQCAtNzUs
NiArNzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCBjb25zdCBB
dG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdCBPVkVSUklERTsKICAgICAgICAgdmly
dHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29u
c3QgT1ZFUlJJREU7CisgICAgICAgIHZpcnR1YWwgYm9vbCBpc01lc3NhZ2VQb3J0KCkgY29uc3Qg
T1ZFUlJJREUgRklOQUwgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgICAgIHZvaWQgZGlzcGF0Y2hN
ZXNzYWdlcygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggYzRiZjZkZjcwMTIz
NWUyMTZkYzBjNGY2YjQ4MGEyOWU0M2JjZTM5ZC4uZjc1MDhjMzZlMmUzYjQ4YjAyMmFkNjIyMWZj
MzFlZjMzZWNkZmE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMTM4LDcgKzEz
OCw3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPE1lc3NhZ2VFdmVudD4gZXZlbnQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKICAgICB7CiAgICAgICAgIE93blB0cjxNZXNzYWdl
UG9ydEFycmF5PiBtZXNzYWdlUG9ydHMgPSBNZXNzYWdlUG9ydDo6ZW50YW5nbGVQb3J0cygqY29u
dGV4dCwgbV9jaGFubmVscy5yZWxlYXNlKCkpOwotICAgICAgICByZXR1cm4gTWVzc2FnZUV2ZW50
OjpjcmVhdGUobWVzc2FnZVBvcnRzLnJlbGVhc2UoKSwgbV9tZXNzYWdlLCBtX29yaWdpbiwgIiIs
IG1fc291cmNlKTsKKyAgICAgICAgcmV0dXJuIE1lc3NhZ2VFdmVudDo6Y3JlYXRlKG1lc3NhZ2VQ
b3J0cy5yZWxlYXNlKCksIG1fbWVzc2FnZSwgbV9vcmlnaW4sIFN0cmluZygpLCBtX3NvdXJjZSk7
CiAgICAgfQogICAgIFNlY3VyaXR5T3JpZ2luKiB0YXJnZXRPcmlnaW4oKSBjb25zdCB7IHJldHVy
biBtX3RhcmdldE9yaWdpbi5nZXQoKTsgfQogICAgIFNjcmlwdENhbGxTdGFjayogc3RhY2tUcmFj
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhY2tUcmFjZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBjYzdhZGYy
ZmI1OTM3ODVmOWRlMTQ2ZGRlYjE2NDQ2ZmY3M2ZiZjcyLi4wZWQ2YTQwODQ2NzAyMjEzNDVkYThh
ZTg4ZGJiNTNlMjU1YWZmNjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1No
YXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1No
YXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNDQsOSArNDQsMTAgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPE1lc3NhZ2VFdmVudD4gY3JlYXRlQ29ubmVjdEV2ZW50
KFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+IHBvcnQpCitQYXNzUmVmUHRyPE1lc3NhZ2VFdmVudD4g
Y3JlYXRlQ29ubmVjdEV2ZW50KFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+IHBycFBvcnQpCiB7Ci0g
ICAgUmVmUHRyPE1lc3NhZ2VFdmVudD4gZXZlbnQgPSBNZXNzYWdlRXZlbnQ6OmNyZWF0ZShhZG9w
dFB0cihuZXcgTWVzc2FnZVBvcnRBcnJheSgxLCBwb3J0KSkpOworICAgIFJlZlB0cjxNZXNzYWdl
UG9ydD4gcG9ydCA9IHBycFBvcnQ7CisgICAgUmVmUHRyPE1lc3NhZ2VFdmVudD4gZXZlbnQgPSBN
ZXNzYWdlRXZlbnQ6OmNyZWF0ZShhZG9wdFB0cihuZXcgTWVzc2FnZVBvcnRBcnJheSgxLCBwb3J0
KSksIFNjcmlwdFZhbHVlKCksIFN0cmluZygpLCBTdHJpbmcoKSwgcG9ydCk7CiAgICAgZXZlbnQt
PmluaXRFdmVudChldmVudE5hbWVzKCkuY29ubmVjdEV2ZW50LCBmYWxzZSwgZmFsc2UpOwogICAg
IHJldHVybiBldmVudC5yZWxlYXNlKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNThhMjhjZDk5Y2M2NTUzNzQ0NjRk
ODgzZjUwOTNlYjJjNDY4MjllNi4uNDA3MGQ3NTU3NjQyZGMyNzc3YmJiNDdhZjI1ODVhYzg2NmVj
MDY5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTA5LTE3ICBDaHJpc3RvcGhlIER1bWV6
ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBTZXQgTWVzc2FnZUV2ZW50
LnNvdXJjZSB0byB0aGUgbmV3bHkgY3JlYXRlZCBwb3J0IGZvciBzaGFyZWQgd29ya2VycycgY29u
bmVjdCBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyMTM5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBsYXlvdXQgdGVzdCB0byBjaGVjayB0aGF0IE1lc3NhZ2VFdmVudC5zb3VyY2UgaXMg
c2V0IHRvIHRoZSBuZXdseSBjcmVhdGVkIHBvcnQKKyAgICAgICAgZm9yIHNoYXJlZCB3b3JrZXJz
JyBjb25uZWN0IGV2ZW50cy4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9t
ZXNzYWdlLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2
ZW50cy9jb25zdHJ1Y3RvcnMvbWVzc2FnZS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sOgorICAgICAg
ICAqIGZhc3Qvd29ya2Vycy9yZXNvdXJjZXMvbWVzc2FnZWV2ZW50LXNvdXJjZS5qczogQWRkZWQu
CisgICAgICAgIChvbmNvbm5lY3QpOgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9zaGFyZWQtd29y
a2VyLW1lc3NhZ2VldmVudC1zb3VyY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1tZXNzYWdlZXZlbnQtc291cmNlLmh0bWw6IEFkZGVk
LgorCiAyMDEzLTA5LTE2ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgQVg6IEFSSUEgdGFibGlzdCBpcyBkaXNhYmxlZCwgYnV0IFZvaWNlT3ZlciBkb2Vz
IG5vdCBzcGVhayB0aGUgdGFicyBhcyBkaW1tZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZXNzYWdlLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZXNzYWdlLWV2ZW50
LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAppbmRleCAzMmRmNjdkZGYxNDY1Mzk5MmQ5M2I2NTNi
MGM4YjFkY2U1MDM3YTNiLi5kMzhhYThmMjZjMmJlNmQ2MjU1MmYzZjRmMzVkNzk0N2ZmMzlkZWQy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVzc2Fn
ZS1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvY29uc3RydWN0b3JzL21lc3NhZ2UtZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0
CkBAIC02MCw4ICs2MCwxMCBAQCBQQVNTIG5ldyBNZXNzYWdlRXZlbnQoJ2V2ZW50VHlwZScsIHsg
Z2V0IGxhc3RFdmVudElkKCkgeyByZXR1cm4gMTIzOyB9IH0pLmxhc3RFdgogUEFTUyBuZXcgTWVz
c2FnZUV2ZW50KCdldmVudFR5cGUnLCB7IGdldCBsYXN0RXZlbnRJZCgpIHsgdGhyb3cgJ01lc3Nh
Z2VFdmVudCBFcnJvcic7IH0gfSkgdGhyZXcgZXhjZXB0aW9uIE1lc3NhZ2VFdmVudCBFcnJvci4K
IFBBU1MgbmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRUeXBlJywgeyBzb3VyY2U6IHdpbmRvdyB9KS5z
b3VyY2UgaXMgd2luZG93CiBQQVNTIG5ldyBNZXNzYWdlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc291
cmNlOiB0aGlzIH0pLnNvdXJjZSBpcyB0aGlzCitQQVNTIG5ldyBNZXNzYWdlRXZlbnQoJ2V2ZW50
VHlwZScsIHsgcG9ydHM6IFtjaGFubmVsLnBvcnQxXSwgc291cmNlOiBjaGFubmVsLnBvcnQxIH0p
LnNvdXJjZSBpcyBjaGFubmVsLnBvcnQxCiBQQVNTIG5ldyBNZXNzYWdlRXZlbnQoJ2V2ZW50VHlw
ZScsIHsgc291cmNlOiB0ZXN0X29iamVjdCB9KS5zb3VyY2UgaXMgbnVsbAogUEFTUyBuZXcgTWVz
c2FnZUV2ZW50KCdldmVudFR5cGUnLCB7IHNvdXJjZTogZG9jdW1lbnQgfSkuc291cmNlIGlzIG51
bGwKK1BBU1MgbmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRUeXBlJywgeyBzb3VyY2U6IGRvY3VtZW50
LmJvZHkgfSkuc291cmNlIGlzIG51bGwKIFBBU1MgbmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRUeXBl
JywgeyBzb3VyY2U6IHVuZGVmaW5lZCB9KS5zb3VyY2UgaXMgbnVsbAogUEFTUyBuZXcgTWVzc2Fn
ZUV2ZW50KCdldmVudFR5cGUnLCB7IHNvdXJjZTogbnVsbCB9KS5zb3VyY2UgaXMgbnVsbAogUEFT
UyBuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUnLCB7IHNvdXJjZTogZmFsc2UgfSkuc291cmNl
IGlzIG51bGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9y
cy9tZXNzYWdlLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9jb25zdHJ1Y3RvcnMvbWVzc2FnZS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCmluZGV4IDNhOTRk
ODA0MmZlMGJkYjkyY2VhMjc4ZWY3YmQwZjZkNzdhZjhjMzkuLjZkNDEyN2E1ZDZjNzIxMTQxMTJl
ZDExMTYzM2M5ZTRlOGNmMzBkZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2NvbnN0cnVjdG9ycy9tZXNzYWdlLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lc3NhZ2UtZXZlbnQtY29uc3RydWN0b3Iu
aHRtbApAQCAtNzEsOSArNzEsMTQgQEAgc2hvdWxkVGhyb3coIm5ldyBNZXNzYWdlRXZlbnQoJ2V2
ZW50VHlwZScsIHsgZ2V0IGRhdGEoKSB7IHRocm93ICdNZXNzYWdlRXZlbnQgRXIKIHNob3VsZEJl
KCJuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUnLCB7IHNvdXJjZTogd2luZG93IH0pLnNvdXJj
ZSIsICJ3aW5kb3ciKTsKIHNob3VsZEJlKCJuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUnLCB7
IHNvdXJjZTogdGhpcyB9KS5zb3VyY2UiLCAidGhpcyIpOwogCi0vLyBOb24td2luZG93IG9iamVj
dHMuCisvLyBNZXNzYWdlUG9ydCBvYmplY3RzLgordmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNo
YW5uZWwoKTsKK3Nob3VsZEJlKCJuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUnLCB7IHBvcnRz
OiBbY2hhbm5lbC5wb3J0MV0sIHNvdXJjZTogY2hhbm5lbC5wb3J0MSB9KS5zb3VyY2UiLCAiY2hh
bm5lbC5wb3J0MSIpOworCisvLyBVbmFjY2VwdGFibGUgc291cmNlIG9iamVjdHMgKG5vdCBhIFdp
bmRvdyBvciBhIE1lc3NhZ2VQb3J0KS4KIHNob3VsZEJlKCJuZXcgTWVzc2FnZUV2ZW50KCdldmVu
dFR5cGUnLCB7IHNvdXJjZTogdGVzdF9vYmplY3QgfSkuc291cmNlIiwgIm51bGwiKTsKIHNob3Vs
ZEJlKCJuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUnLCB7IHNvdXJjZTogZG9jdW1lbnQgfSku
c291cmNlIiwgIm51bGwiKTsKK3Nob3VsZEJlKCJuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUn
LCB7IHNvdXJjZTogZG9jdW1lbnQuYm9keSB9KS5zb3VyY2UiLCAibnVsbCIpOwogc2hvdWxkQmUo
Im5ldyBNZXNzYWdlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc291cmNlOiB1bmRlZmluZWQgfSkuc291
cmNlIiwgIm51bGwiKTsKIHNob3VsZEJlKCJuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUnLCB7
IHNvdXJjZTogbnVsbCB9KS5zb3VyY2UiLCAibnVsbCIpOwogc2hvdWxkQmUoIm5ldyBNZXNzYWdl
RXZlbnQoJ2V2ZW50VHlwZScsIHsgc291cmNlOiBmYWxzZSB9KS5zb3VyY2UiLCAibnVsbCIpOwpA
QCAtOTAsNyArOTUsNiBAQCBzaG91bGRUaHJvdygibmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRUeXBl
JywgeyBnZXQgc291cmNlKCkgeyB0aHJvdyAnTWVzc2FnZUV2ZW50CiAKIC8vIHBvcnRzIGlzIHBh
c3NlZC4KIC8vIFZhbGlkIG1lc3NhZ2UgcG9ydHMuCi12YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdl
Q2hhbm5lbCgpOwogdmFyIGNoYW5uZWwyID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CiBzaG91bGRC
ZSgibmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRUeXBlJywgeyBwb3J0czogW2NoYW5uZWwucG9ydDEs
IGNoYW5uZWwucG9ydDIsIGNoYW5uZWwyLnBvcnQxXSB9KS5wb3J0c1swXSIsICJjaGFubmVsLnBv
cnQxIik7CiBzaG91bGRCZSgibmV3IE1lc3NhZ2VFdmVudCgnZXZlbnRUeXBlJywgeyBwb3J0czog
W2NoYW5uZWwucG9ydDEsIGNoYW5uZWwucG9ydDIsIGNoYW5uZWwyLnBvcnQxXSB9KS5wb3J0c1sx
XSIsICJjaGFubmVsLnBvcnQyIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtl
cnMvcmVzb3VyY2VzL21lc3NhZ2VldmVudC1zb3VyY2UuanMgYi9MYXlvdXRUZXN0cy9mYXN0L3dv
cmtlcnMvcmVzb3VyY2VzL21lc3NhZ2VldmVudC1zb3VyY2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzFiNzJh
ZGIwOTdhMDk5NjlmMDc1M2IwMjQ3NzM2YzQ3ZmU5ZDIzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMvbWVzc2FnZWV2ZW50LXNvdXJjZS5qcwpA
QCAtMCwwICsxLDExIEBACitvbmNvbm5lY3QgPSBmdW5jdGlvbihldmVudCkgeworICAgIGlmIChl
dmVudC5fX3Byb3RvX18gPT09IE1lc3NhZ2VFdmVudC5wcm90b3R5cGUpCisgICAgICAgIGV2ZW50
LnBvcnRzWzBdLnBvc3RNZXNzYWdlKCJQQVNTOiBldmVudC5fX3Byb3RvX18gaXMgTWVzc2FnZUV2
ZW50LnByb3RvdHlwZSIpOworICAgIGVsc2UKKyAgICAgICAgZXZlbnQucG9ydHNbMF0ucG9zdE1l
c3NhZ2UoIkZBSUw6IGV2ZW50Ll9fcHJvdG9fXyBpcyBub3QgTWVzc2FnZUV2ZW50LnByb3RvdHlw
ZSIpOworICAgIGlmIChldmVudC5zb3VyY2UgPT09IGV2ZW50LnBvcnRzWzBdKQorICAgICAgICBl
dmVudC5wb3J0c1swXS5wb3N0TWVzc2FnZSgiUEFTUzogZXZlbnQuc291cmNlIGlzIGV2ZW50LnBv
cnRzWzBdIik7CisgICAgZWxzZQorICAgICAgICBldmVudC5wb3J0c1swXS5wb3N0TWVzc2FnZSgi
RkFJTDogZXZlbnQuc291cmNlIGlzIG5vdCBldmVudC5wb3J0c1swXSIpOworICAgIGV2ZW50LnBv
cnRzWzBdLnBvc3RNZXNzYWdlKCJET05FOiIpOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLW1lc3NhZ2VldmVudC1zb3VyY2UtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItbWVzc2FnZWV2ZW50
LXNvdXJjZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTVhZGY3Y2YzOGM5MmZlYzhhNGE0MzJk
NDE4OTIxMDZlZGI5ODgwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvd29y
a2Vycy9zaGFyZWQtd29ya2VyLW1lc3NhZ2VldmVudC1zb3VyY2UtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTIgQEAKK01ha2Ugc3VyZSB0aGF0IE1lc3NhZ2VFdmVudC5zb3VyY2UgaXMgcHJvcGVy
bHkgc2V0IGluIGNvbm5lY3QgZXZlbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitTdGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9tZXNzYWdlZXZlbnQtc291cmNlLmpzCitQQVNT
IFtXb3JrZXJdICBldmVudC5fX3Byb3RvX18gaXMgTWVzc2FnZUV2ZW50LnByb3RvdHlwZQorUEFT
UyBbV29ya2VyXSAgZXZlbnQuc291cmNlIGlzIGV2ZW50LnBvcnRzWzBdCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItbWVzc2FnZWV2ZW50LXNvdXJjZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItbWVzc2FnZWV2ZW50LXNv
dXJjZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlOTBiNDA4MDY1MjJjMjhlNTk1M2ViMjc0MTBlZjU5NDdh
OGRhOWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVk
LXdvcmtlci1tZXNzYWdlZXZlbnQtc291cmNlLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIk1ha2Ugc3Vy
ZSB0aGF0IE1lc3NhZ2VFdmVudC5zb3VyY2UgaXMgcHJvcGVybHkgc2V0IGluIGNvbm5lY3QgZXZl
bnQuIik7CisKK3N0YXJ0V29ya2VyKCJyZXNvdXJjZXMvbWVzc2FnZWV2ZW50LXNvdXJjZS5qcyIs
IHRydWUpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>