<?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>97547</bug_id>
          
          <creation_ts>2012-09-25 03:25:45 -0700</creation_ts>
          <short_desc>Code inside FrameLoaderClient::canShowMIMEType() implementations can be shared among different WK ports</short_desc>
          <delta_ts>2012-09-28 11:16:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail Pozdnyakov">mikhail.pozdnyakov</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>abarth</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>mifenton</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>727464</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-25 03:25:45 -0700</bug_when>
    <thetext>Currently the code inside FrameLoaderClient::canShowMIMEType() implementations is pretty much similar among
different WK ports:
EFL, Qt, GTK, WinCe have following snippet inside FrameLoaderClient canShowMIMEType() function:
MIMETypeRegistry::isSupportedImageMIMEType(type)
            || MIMETypeRegistry::isSupportedNonImageMIMEType(type)
            || MIMETypeRegistry::isSupportedMediaMIMEType(type)

WK2 has similar logic inside WebKit::WebPageProxy::canShowMIMEType()
    if (MIMETypeRegistry::isSupportedNonImageMIMEType(mimeType))
        return true;

    if (MIMETypeRegistry::isSupportedImageMIMEType(mimeType))
        return true;

    if (mimeType.startsWith(&quot;text/&quot;, false))
        return !MIMETypeRegistry::isUnsupportedTextMIMEType(mimeType);

Think it would be wise to have a new function inside MIMETypeRegistry, that would encapsulate this logic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727550</commentid>
    <comment_count>1</comment_count>
      <attachid>165593</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-25 05:46:48 -0700</bug_when>
    <thetext>Created attachment 165593
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727554</commentid>
    <comment_count>2</comment_count>
      <attachid>165593</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-25 05:52:08 -0700</bug_when>
    <thetext>Comment on attachment 165593
patch

Attachment 165593 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14030057</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727562</commentid>
    <comment_count>3</comment_count>
      <attachid>165594</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-25 06:01:40 -0700</bug_when>
    <thetext>Created attachment 165594
patch v2

Rebased. Build on MAC should be fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727565</commentid>
    <comment_count>4</comment_count>
      <attachid>165594</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-25 06:08:51 -0700</bug_when>
    <thetext>Comment on attachment 165594
patch v2

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

&gt; Source/WebCore/platform/MIMETypeRegistry.cpp:582
&gt;  
&gt; +bool MIMETypeRegistry::isVisuallyRepresentableMIMEType(const String&amp; mimeType)

Isnt that like a really weird name. What if it contains only javascript?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727566</commentid>
    <comment_count>5</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-25 06:11:20 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 165594 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=165594&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/MIMETypeRegistry.cpp:582
&gt; &gt;  
&gt; &gt; +bool MIMETypeRegistry::isVisuallyRepresentableMIMEType(const String&amp; mimeType)
&gt; 
&gt; Isnt that like a really weird name. What if it contains only javascript?

right. I need to find a better one..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728269</commentid>
    <comment_count>6</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-26 00:22:17 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 165594 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=165594&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/MIMETypeRegistry.cpp:582
&gt; &gt; &gt;  
&gt; &gt; &gt; +bool MIMETypeRegistry::isVisuallyRepresentableMIMEType(const String&amp; mimeType)
&gt; &gt; 
&gt; &gt; Isnt that like a really weird name. What if it contains only javascript?
&gt; 
&gt; right. I need to find a better one..

How about &apos;isMIMETypeHandledByWebPage&apos; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728787</commentid>
    <comment_count>7</comment_count>
      <attachid>165594</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-26 11:25:38 -0700</bug_when>
    <thetext>Comment on attachment 165594
patch v2

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

&gt; Source/WebCore/WebCore.exp.in:422
&gt;  __ZN7WebCore16MIMETypeRegistry27getUnsupportedTextMIMETypesEv
&gt;  __ZN7WebCore16MIMETypeRegistry27isSupportedNonImageMIMETypeERKN3WTF6StringE
&gt;  __ZN7WebCore16MIMETypeRegistry29getSupportedNonImageMIMETypesEv
&gt; +__ZN7WebCore16MIMETypeRegistry31isVisuallyRepresentableMIMETypeERKN3WTF6StringE

Are all the other exports still needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729324</commentid>
    <comment_count>8</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-27 01:53:00 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 165594 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=165594&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/WebCore.exp.in:422
&gt; &gt;  __ZN7WebCore16MIMETypeRegistry27getUnsupportedTextMIMETypesEv
&gt; &gt;  __ZN7WebCore16MIMETypeRegistry27isSupportedNonImageMIMETypeERKN3WTF6StringE
&gt; &gt;  __ZN7WebCore16MIMETypeRegistry29getSupportedNonImageMIMETypesEv
&gt; &gt; +__ZN7WebCore16MIMETypeRegistry31isVisuallyRepresentableMIMETypeERKN3WTF6StringE
&gt; 
&gt; Are all the other exports still needed?

Looks MIMETypeRegistry::getUnsupportedTextMIMETypes does not need to be exported anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729327</commentid>
    <comment_count>9</comment_count>
      <attachid>165953</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-27 01:57:00 -0700</bug_when>
    <thetext>Created attachment 165953
patch v3 (do not put flags)

Having an IRC discussion with Kenneth came to conclusion that the already used &quot;canShowMIMEType&quot; looks like the most appropriate name for the new function. 
Do not require any flags as need to get mangled name for the new function from MAC bot first :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729330</commentid>
    <comment_count>10</comment_count>
      <attachid>165953</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-09-27 02:01:37 -0700</bug_when>
    <thetext>Comment on attachment 165953
patch v3 (do not put flags)

Yay for removal of duplicated code!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729331</commentid>
    <comment_count>11</comment_count>
      <attachid>165953</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-27 02:02:20 -0700</bug_when>
    <thetext>Comment on attachment 165953
patch v3 (do not put flags)

Attachment 165953 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14037732</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729334</commentid>
    <comment_count>12</comment_count>
      <attachid>165955</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-27 02:12:53 -0700</bug_when>
    <thetext>Created attachment 165955
patch v4

Now should build on MAC. Thanks, bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729441</commentid>
    <comment_count>13</comment_count>
      <attachid>165980</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-27 05:34:22 -0700</bug_when>
    <thetext>Created attachment 165980
patch v5

Rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729573</commentid>
    <comment_count>14</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-09-27 08:59:31 -0700</bug_when>
    <thetext>Could please anyone review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730808</commentid>
    <comment_count>15</comment_count>
      <attachid>165980</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-28 11:03:14 -0700</bug_when>
    <thetext>Comment on attachment 165980
patch v5

Looks great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730823</commentid>
    <comment_count>16</comment_count>
      <attachid>165980</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 11:16:20 -0700</bug_when>
    <thetext>Comment on attachment 165980
patch v5

Clearing flags on attachment: 165980

Committed r129924: &lt;http://trac.webkit.org/changeset/129924&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730824</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 11:16:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165593</attachid>
            <date>2012-09-25 05:46:48 -0700</date>
            <delta_ts>2012-09-25 06:01:40 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug97547</filename>
            <type>text/plain</type>
            <size>14570</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGU4NzI4NGYzYzM4NzRlNmEwNTgzYTkzM2EyMWEyZmExMzFkZjg4MjIKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
VHVlIFNlcCAyNSAxNTo0MToxMyAyMDEyICswMzAwCgogICAgYnVnOTc1NDcKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZWIyZjkyYS4uNmI2ZTZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA5
LTI1ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgor
CisgICAgICAgIENvZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUo
KSBpbXBsZW1lbnRhdGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQgV0sgcG9ydHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTQ3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgTUlN
RVR5cGVSZWdpc3RyeTo6aXNWaXN1YWxseVJlcHJlc2VudGFibGVNSU1FVHlwZSgpIGZ1bmN0aW9u
IHdoaWNoIHNob3VsZCB0byBiZSB1c2VkCisgICAgICAgIHRvIGRldGVjdCB3aGV0aGVyIGEgZ2l2
ZW4gTUlNRSB0eXBlIGNhbiBiZSBzaG93biBpbiBhIHBhZ2UuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBObyBuZXcgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIHBsYXRmb3JtL01JTUVUeXBl
UmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6aXNWaXN1
YWxseVJlcHJlc2VudGFibGVNSU1FVHlwZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5Lmg6CisgICAgICAgIChNSU1FVHlwZVJlZ2lzdHJ5
KToKKwogMjAxMi0wOS0yMCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlbGF0aXZlIFVSTCBMaW5rIFRvb2x0aXBzIGRv
IG5vdCByZXNwZWN0IDxiYXNlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TUlNRVR5cGVSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJl
Z2lzdHJ5LmNwcAppbmRleCAwNjI2MTcwLi5mNDQxN2FkIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcApAQCAtNTc5LDYgKzU3OSwxNyBAQCBib29sIE1J
TUVUeXBlUmVnaXN0cnk6OmlzSmF2YUFwcGxldE1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5
cGUpCiAgICAgICAgIHx8IG1pbWVUeXBlLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3gtamF2YS12
bSIsIGZhbHNlKTsKIH0KIAorYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Zpc3VhbGx5UmVwcmVz
ZW50YWJsZU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgaWYgKGlzU3Vw
cG9ydGVkSW1hZ2VNSU1FVHlwZShtaW1lVHlwZSkgfHwgaXNTdXBwb3J0ZWROb25JbWFnZU1JTUVU
eXBlKG1pbWVUeXBlKSB8fCBpc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUobWltZVR5cGUpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmIChtaW1lVHlwZS5zdGFydHNXaXRoKCJ0ZXh0LyIs
IGZhbHNlKSkKKyAgICAgICAgcmV0dXJuICFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Vuc3VwcG9ydGVk
VGV4dE1JTUVUeXBlKG1pbWVUeXBlKTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKwogSGFzaFNl
dDxTdHJpbmc+JiBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlcygp
CiB7CiAgICAgaWYgKCFzdXBwb3J0ZWRJbWFnZU1JTUVUeXBlcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaAppbmRleCBhYjhiN2RlLi40NTRlYWE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oCkBAIC03OCw2ICs3OCwxMSBA
QCBwdWJsaWM6CiAgICAgLy8gYnJvd3NlciAoZS5nLiBhIFF0IFBsdWdpbikuCiAgICAgc3RhdGlj
IGJvb2wgaXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUp
OwogCisgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIGEgbWltZSB0eXBlIGlzIHN1aXRhYmxlIGZvciBi
ZWluZyBzaG93biBpbnNpZGUgYSBwYWdlLgorICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBhbnkgb2Yg
aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlKCksIGlzU3VwcG9ydGVkTm9uSW1hZ2VNSU1FVHlwZSgp
LCBpc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUoKSByZXR1cm5zIHRydWUKKyAgICAvLyBvciBpZiBn
aXZlbiBtaW1lIHR5cGUgYmVnaW5zIHdpdGggInRleHQvIiBhbmQgaXNVbnN1cHBvcnRlZFRleHRN
SU1FVHlwZSgpIHJldHVybnMgZmFsc2UuCisgICAgc3RhdGljIGJvb2wgaXNWaXN1YWxseVJlcHJl
c2VudGFibGVNSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKKwogICAgIHN0YXRpYyBI
YXNoU2V0PFN0cmluZz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCk7CiAgICAgc3RhdGlj
IEhhc2hTZXQ8U3RyaW5nPiYgZ2V0U3VwcG9ydGVkSW1hZ2VSZXNvdXJjZU1JTUVUeXBlcygpOwog
ICAgIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9y
RW5jb2RpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IGMzMmQzYzQuLjM1
YTliYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDEyLTA5LTI1ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwu
Y29tPgorCisgICAgICAgIENvZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlN
RVR5cGUoKSBpbXBsZW1lbnRhdGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQgV0sg
cG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3
NTQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3
bHkgYWRkZWQgV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6aXNWaXN1YWxseVJlcHJlc2VudGFi
bGVNSU1FVHlwZSgpIGZ1bmN0aW9uIGlzIHVzZWQKKyAgICAgICAgaW5zaWRlIFdlYkNvcmU6OkZy
YW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6Y2FuU2hvd01JTUVUeXBlKCkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5OjpjYW5TaG93TUlNRVR5cGUp
OgorCiAyMDEyLTA5LTI0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAg
ICBEZWxldGluZyB0aGUgY2xhc3NpYyBpbnRlcnByZXRlciBhbmQgY2xlYW5pbmcgdXAgc29tZSBi
dWlsZCBvcHRpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNw
cAppbmRleCBhYjRjMDgwLi5jMmRiNTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRCbGFja0JlcnJ5LmNwcApAQCAtNDgzLDggKzQ4Myw4IEBAIGJvb2wgRnJhbWVMb2FkZXJDbGll
bnRCbGFja0JlcnJ5OjpjYW5TaG93TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZUluKSBj
b25zCiAgICAgU3RyaW5nIG1pbWVUeXBlID0gTUlNRVR5cGVSZWdpc3RyeTo6Z2V0Tm9ybWFsaXpl
ZE1JTUVUeXBlKG1pbWVUeXBlSW4pOwogCiAgICAgLy8gRklYTUU6IFNlZW1zIG5vIG90aGVyIHBv
cnQgY2hlY2tzIGVtcHR5IE1JTUUgdHlwZSBpbiB0aGlzIGZ1bmN0aW9uLiBTaG91bGQgd2UgZG8g
dGhhdD8KLSAgICByZXR1cm4gTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVU
eXBlKG1pbWVUeXBlKSB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE5vbkltYWdlTUlN
RVR5cGUobWltZVR5cGUpCi0gICAgICAgIHx8IE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVk
TWVkaWFNSU1FVHlwZShtaW1lVHlwZSkgfHwgV2ViU2V0dGluZ3M6OmlzU3VwcG9ydGVkT2JqZWN0
TUlNRVR5cGUobWltZVR5cGUpCisgICAgcmV0dXJuIE1JTUVUeXBlUmVnaXN0cnk6OmlzVmlzdWFs
bHlSZXByZXNlbnRhYmxlTUlNRVR5cGUobWltZVR5cGUpCisgICAgICAgIHx8IFdlYlNldHRpbmdz
Ojppc1N1cHBvcnRlZE9iamVjdE1JTUVUeXBlKG1pbWVUeXBlKQogICAgICAgICB8fCAobWltZVR5
cGUgPT0gImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIik7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZwppbmRleCAxMzdjNWMxLi44Yjg3ZmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTItMDktMjUgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBp
bnRlbC5jb20+CisKKyAgICAgICAgQ29kZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNo
b3dNSU1FVHlwZSgpIGltcGxlbWVudGF0aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVu
dCBXSyBwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTc1NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBOZXdseSBhZGRlZCBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Zpc3VhbGx5UmVwcmVz
ZW50YWJsZU1JTUVUeXBlKCkgZnVuY3Rpb24gaXMgdXNlZAorICAgICAgICBpbnNpZGUgV2ViQ29y
ZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmNhblNob3dNSU1FVHlwZSgpLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmNhblNob3dNSU1FVHlwZSk6CisKIDIwMTItMDktMjQg
IERvbWluaWsgUsO2dHRzY2hlcyAgPGRvbWluaWsucm90dHNjaGVzQGludGVsLmNvbT4KIAogICAg
ICAgICBbRUZMXVtEUlRdIEVuYWJsZSBSZWdpb25zIHN1cHBvcnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcApp
bmRleCBlNzkzMTgxLi42ODhiNDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCkBAIC03MjIsOSArNzIy
LDcgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudEVmbDo6Y2FuU2hvd01JTUVUeXBlQXNIVE1MKGNv
bnN0IFN0cmluZyYgLypNSU1FVHlwZSovKSBjb24KIAogYm9vbCBGcmFtZUxvYWRlckNsaWVudEVm
bDo6Y2FuU2hvd01JTUVUeXBlKGNvbnN0IFN0cmluZyYgTUlNRVR5cGUpIGNvbnN0CiB7Ci0gICAg
aWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZShNSU1FVHlwZSkK
LSAgICAgICAgfHwgTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBl
KE1JTUVUeXBlKQotICAgICAgICB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlh
TUlNRVR5cGUoTUlNRVR5cGUpKQorICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Zpc3VhbGx5
UmVwcmVzZW50YWJsZU1JTUVUeXBlKE1JTUVUeXBlKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAK
ICNpZiAwIC8vIFBsdWdpbkRhdGFiYXNlIGlzIGRpc2FibGVkIHVudGlsIHdlIGhhdmUgUGx1Z2lu
IHN5c3RlbSBkb25lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IGU2OTcyNmQuLmYwNGQ4ZTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wOS0yNSAgTWlraGFpbCBQb3pkbnlh
a292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KKworICAgICAgICBDb2RlIGluc2lk
ZSBGcmFtZUxvYWRlckNsaWVudDo6Y2FuU2hvd01JTUVUeXBlKCkgaW1wbGVtZW50YXRpb25zIGNh
biBiZSBzaGFyZWQgYW1vbmcgZGlmZmVyZW50IFdLIHBvcnRzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzU0NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5ld2x5IGFkZGVkIFdlYkNvcmU6Ok1JTUVUeXBl
UmVnaXN0cnk6OmlzVmlzdWFsbHlSZXByZXNlbnRhYmxlTUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1
c2VkCisgICAgICAgIGluc2lkZSBXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlN
RVR5cGUoKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3Rr
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlw
ZSk6CisKIDIwMTItMDktMjQgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgRml4IEdlb2xvY2F0aW9uIGVycm9yIHJlcG9ydGluZyBpbiB0aGUgdGVzdCBz
dXBwb3J0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudEd0ay5jcHAKaW5kZXggMTAzZTZjZC4uMTc2NDE0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50R3RrLmNwcApAQCAtOTAxLDkgKzkwMSw3IEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnQ6OmNh
blNob3dNSU1FVHlwZUFzSFRNTChjb25zdCBTdHJpbmcmIE1JTUVUeXBlKSBjb25zdAogCiBib29s
IEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKSBj
b25zdAogewotICAgIHJldHVybiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1J
TUVUeXBlKHR5cGUpCi0gICAgICAgICAgICB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRl
ZE5vbkltYWdlTUlNRVR5cGUodHlwZSkKLSAgICAgICAgICAgIHx8IE1JTUVUeXBlUmVnaXN0cnk6
OmlzU3VwcG9ydGVkTWVkaWFNSU1FVHlwZSh0eXBlKQorICAgIHJldHVybiAoTUlNRVR5cGVSZWdp
c3RyeTo6aXNWaXN1YWxseVJlcHJlc2VudGFibGVNSU1FVHlwZSh0eXBlKQogICAgICAgICAgICAg
fHwgUGx1Z2luRGF0YWJhc2U6Omluc3RhbGxlZFBsdWdpbnMoKS0+aXNNSU1FVHlwZVJlZ2lzdGVy
ZWQodHlwZSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDNkN2NlZGEuLjgzNzJjYWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMjUgIE1pa2hhaWwgUG96ZG55YWtv
diAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgQ29kZSBpbnNpZGUg
RnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxlbWVudGF0aW9ucyBjYW4g
YmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRlZCBXZWJDb3JlOjpNSU1FVHlwZVJl
Z2lzdHJ5Ojppc1Zpc3VhbGx5UmVwcmVzZW50YWJsZU1JTUVUeXBlKCkgZnVuY3Rpb24gaXMgdXNl
ZAorICAgICAgICBpbnNpZGUgV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6Y2FuU2hvd01J
TUVUeXBlKCkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50UXQ6OmNhblNob3dNSU1F
VHlwZSk6CisKIDIwMTItMDktMjQgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgRml4IEdlb2xvY2F0aW9uIGVycm9yIHJlcG9ydGluZyBpbiB0aGUgdGVz
dCBzdXBwb3J0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudFF0LmNwcAppbmRleCBiY2YwNzJkLi41ZmMyOGUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRR
dC5jcHAKQEAgLTYzMiwxMyArNjMyLDcgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudFF0OjpjYW5T
aG93TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBNSU1FVHlwZSkgY29uc3QKIHsKICAgICBTdHJpbmcg
dHlwZSA9IE1JTUVUeXBlOwogICAgIHR5cGUubWFrZUxvd2VyKCk7Ci0gICAgaWYgKE1JTUVUeXBl
UmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSh0eXBlKSkKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0KLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1J
TUVUeXBlKHR5cGUpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChNSU1FVHlwZVJl
Z2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUodHlwZSkpCisgICAgaWYgKE1JTUVUeXBl
UmVnaXN0cnk6OmlzVmlzdWFsbHlSZXByZXNlbnRhYmxlTUlNRVR5cGUodHlwZSkpCiAgICAgICAg
IHJldHVybiB0cnVlOwogCiAgICAgaWYgKG1fZnJhbWUgJiYgbV9mcmFtZS0+c2V0dGluZ3MoKSAg
JiYgbV9mcmFtZS0+c2V0dGluZ3MoKS0+YXJlUGx1Z2luc0VuYWJsZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5n
ZUxvZwppbmRleCBkNjZmYTU5Li5lNWE1YThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dp
bmNlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDEyLTA5LTI1ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRu
eWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIENvZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50
OjpjYW5TaG93TUlNRVR5cGUoKSBpbXBsZW1lbnRhdGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBk
aWZmZXJlbnQgV0sgcG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk3NTQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTmV3bHkgYWRkZWQgV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6aXNWaXN1YWxs
eVJlcHJlc2VudGFibGVNSU1FVHlwZSgpIGZ1bmN0aW9uIGlzIHVzZWQKKyAgICAgICAgaW5zaWRl
IFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnRXaW5DRTo6Y2FuU2hvd01JTUVUeXBlKCkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnRXaW5DRTo6Y2FuU2hvd01JTUVUeXBlKToKKwog
MjAxMi0wOC0yOCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNjkxNC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
V2luQ0UuY3BwCmluZGV4IGRhZWZiOTAuLmFmYTU5M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNF
LmNwcApAQCAtNDE5LDkgKzQxOSw3IEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRXaW5DRTo6Y2Fu
SGFuZGxlUmVxdWVzdChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKSBjCiAKIGJvb2wg
RnJhbWVMb2FkZXJDbGllbnRXaW5DRTo6Y2FuU2hvd01JTUVUeXBlKGNvbnN0IFN0cmluZyYgdHlw
ZSkgY29uc3QKIHsKLSAgICByZXR1cm4gKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1h
Z2VNSU1FVHlwZSh0eXBlKQotICAgICAgICAgICAgfHwgTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBw
b3J0ZWROb25JbWFnZU1JTUVUeXBlKHR5cGUpCi0gICAgICAgICAgICB8fCBNSU1FVHlwZVJlZ2lz
dHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUodHlwZSkKKyAgICByZXR1cm4gKE1JTUVUeXBl
UmVnaXN0cnk6OmlzVmlzdWFsbHlSZXByZXNlbnRhYmxlTUlNRVR5cGUodHlwZSkKICAgICAgICAg
ICAgIHx8IFBsdWdpbkRhdGFiYXNlOjppbnN0YWxsZWRQbHVnaW5zKCktPmlzTUlNRVR5cGVSZWdp
c3RlcmVkKHR5cGUpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDY2MjQwYjguLmZlODNlMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsNSArMSwyMCBAQAogMjAxMi0wOS0yNSAgTWlraGFpbCBQb3pkbnlha292ICA8
bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAorICAgICAgICBDb2RlIGluc2lkZSBGcmFt
ZUxvYWRlckNsaWVudDo6Y2FuU2hvd01JTUVUeXBlKCkgaW1wbGVtZW50YXRpb25zIGNhbiBiZSBz
aGFyZWQgYW1vbmcgZGlmZmVyZW50IFdLIHBvcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzU0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5ld2x5IGFkZGVkIFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0
cnk6OmlzVmlzdWFsbHlSZXByZXNlbnRhYmxlTUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2VkCisg
ICAgICAgIGluc2lkZSBXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKCkgYW5k
IFdLQnVuZGxlUGFnZUNhblNob3dNSU1FVHlwZSgpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2FuU2hvd01J
TUVUeXBlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZS5jcHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5cGUpOgorCisy
MDEyLTA5LTI1ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwu
Y29tPgorCiAgICAgICAgIFtXSzJdW1dUUl0gV1RSIGJ1bmRsZSBjbGllbnQgbG9hZHMgYmluYXJ5
IGRhdGEgYXMgdGV4dAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTc1MzIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApp
bmRleCA5YmJhYmUxLi5iYzMwYmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcApAQCAtNzMxLDE1ICs3MzEsOSBAQCBTdHJpbmcgV2ViUGFnZVByb3h5Ojpjb21t
aXR0ZWRVUkwoKSBjb25zdAogCiBib29sIFdlYlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKGNv
bnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0CiB7Ci0gICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6
OmlzU3VwcG9ydGVkTm9uSW1hZ2VNSU1FVHlwZShtaW1lVHlwZSkpCisgICAgaWYgKE1JTUVUeXBl
UmVnaXN0cnk6OmlzVmlzdWFsbHlSZXByZXNlbnRhYmxlTUlNRVR5cGUobWltZVR5cGUpKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRl
ZEltYWdlTUlNRVR5cGUobWltZVR5cGUpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlm
IChtaW1lVHlwZS5zdGFydHNXaXRoKCJ0ZXh0LyIsIGZhbHNlKSkKLSAgICAgICAgcmV0dXJuICFN
SU1FVHlwZVJlZ2lzdHJ5Ojppc1Vuc3VwcG9ydGVkVGV4dE1JTUVUeXBlKG1pbWVUeXBlKTsKLQog
ICAgIFN0cmluZyBuZXdNaW1lVHlwZSA9IG1pbWVUeXBlOwogICAgIFBsdWdpbk1vZHVsZUluZm8g
cGx1Z2luID0gbV9wcm9jZXNzLT5jb250ZXh0KCktPnBsdWdpbkluZm9TdG9yZSgpLmZpbmRQbHVn
aW4obmV3TWltZVR5cGUsIEtVUkwoKSk7CiAgICAgaWYgKCFwbHVnaW4ucGF0aC5pc051bGwoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAppbmRleCBjNjM1ZTZlLi44MDYxNjJmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBAIC00MTcsMTggKzQxNyw3IEBAIHZvaWQgV0tC
dW5kbGVQYWdlQ29uZmlybUNvbXBvc2l0aW9uV2l0aFRleHQoV0tCdW5kbGVQYWdlUmVmIHBhZ2VS
ZWYsIFdLU3RyaW5nUmVmCiAKIGJvb2wgV0tCdW5kbGVQYWdlQ2FuU2hvd01JTUVUeXBlKFdLQnVu
ZGxlUGFnZVJlZiwgV0tTdHJpbmdSZWYgbWltZVR5cGVSZWYpCiB7Ci0gICAgdXNpbmcgV2ViQ29y
ZTo6TUlNRVR5cGVSZWdpc3RyeTsKLQogICAgIGNvbnN0IFdURjo6U3RyaW5nIG1pbWVUeXBlID0g
dG9JbXBsKG1pbWVUeXBlUmVmKS0+c3RyaW5nKCk7CiAKLSAgICBpZiAoTUlNRVR5cGVSZWdpc3Ry
eTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKG1pbWVUeXBlKSkKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0KLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVU
eXBlKG1pbWVUeXBlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAobWltZVR5cGUu
c3RhcnRzV2l0aCgidGV4dC8iLCBmYWxzZSkpCi0gICAgICAgIHJldHVybiAhTUlNRVR5cGVSZWdp
c3RyeTo6aXNVbnN1cHBvcnRlZFRleHRNSU1FVHlwZShtaW1lVHlwZSk7Ci0KLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuIFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmlzVmlzdWFsbHlS
ZXByZXNlbnRhYmxlTUlNRVR5cGUobWltZVR5cGUpOwogfQo=
</data>
<flag name="commit-queue"
          id="177682"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165594</attachid>
            <date>2012-09-25 06:01:40 -0700</date>
            <delta_ts>2012-09-27 01:57:00 -0700</delta_ts>
            <desc>patch v2</desc>
            <filename>bug97547_v2</filename>
            <type>text/plain</type>
            <size>15717</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGNhMzIyMDg3NjZmYzczZTEwOTM2MjE5ZmM5NmM3ZGE4MWQxOTI2MWUKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
VHVlIFNlcCAyNSAxNTo0MToxMyAyMDEyICswMzAwCgogICAgYnVnOTc1NDcKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZWZmNzc0MS4uZjRkMzdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDEyLTA5
LTI1ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgog
CisgICAgICAgIENvZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUo
KSBpbXBsZW1lbnRhdGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQgV0sgcG9ydHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTQ3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgTUlN
RVR5cGVSZWdpc3RyeTo6aXNWaXN1YWxseVJlcHJlc2VudGFibGVNSU1FVHlwZSgpIGZ1bmN0aW9u
IHdoaWNoIHNob3VsZCB0byBiZSB1c2VkCisgICAgICAgIHRvIGRldGVjdCB3aGV0aGVyIGEgZ2l2
ZW4gTUlNRSB0eXBlIGNhbiBiZSBzaG93biBpbiBhIHBhZ2UuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBObyBuZXcgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBF
eHBvcnRlZCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Zpc3VhbGx5UmVwcmVzZW50YWJsZU1JTUVUeXBl
KCkgZm9yIE1BQy4KKyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmlzVmlzdWFsbHlSZXByZXNlbnRhYmxl
TUlNRVR5cGUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vTUlNRVR5
cGVSZWdpc3RyeS5oOgorICAgICAgICAoTUlNRVR5cGVSZWdpc3RyeSk6CisKKzIwMTItMDktMjUg
IE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKICAg
ICAgICAgW1dLMl0gU3VwcG9ydGVkIG1lZGlhIE1JTUUgdHlwZXMgYXJlIG5vdCBpbmNsdWRlZCB0
byB0aGUgbGlzdCBvZiBzaG93biBNSU1FIHR5cGVzLgogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NTIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCAx
ZDU2MGZjLi5kZmE1MTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNDE5LDYgKzQxOSw3IEBA
IF9fWk43V2ViQ29yZTE2TUlNRVR5cGVSZWdpc3RyeTI2Z2V0U3VwcG9ydGVkSW1hZ2VNSU1FVHlw
ZXNFdgogX19aTjdXZWJDb3JlMTZNSU1FVHlwZVJlZ2lzdHJ5MjdnZXRVbnN1cHBvcnRlZFRleHRN
SU1FVHlwZXNFdgogX19aTjdXZWJDb3JlMTZNSU1FVHlwZVJlZ2lzdHJ5Mjdpc1N1cHBvcnRlZE5v
bkltYWdlTUlNRVR5cGVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxNk1JTUVUeXBlUmVn
aXN0cnkyOWdldFN1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGVzRXYKK19fWk43V2ViQ29yZTE2TUlN
RVR5cGVSZWdpc3RyeTMxaXNWaXN1YWxseVJlcHJlc2VudGFibGVNSU1FVHlwZUVSS04zV1RGNlN0
cmluZ0UKIF9fWk43V2ViQ29yZTE2TUlNRVR5cGVSZWdpc3RyeTMyaXNTdXBwb3J0ZWRJbWFnZVJl
c291cmNlTUlNRVR5cGVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxNk5hdmlnYXRpb25B
Y3Rpb25DMUVSS05TXzE1UmVzb3VyY2VSZXF1ZXN0RQogX19aTjdXZWJDb3JlMTZOYXZpZ2F0aW9u
QWN0aW9uQzFFUktOU18xNVJlc291cmNlUmVxdWVzdEVOU18xM0ZyYW1lTG9hZFR5cGVFYgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAppbmRleCAwNjI2MTcw
Li5mNDQxN2FkIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJl
Z2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5
LmNwcApAQCAtNTc5LDYgKzU3OSwxNyBAQCBib29sIE1JTUVUeXBlUmVnaXN0cnk6OmlzSmF2YUFw
cGxldE1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiAgICAgICAgIHx8IG1pbWVUeXBl
LnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3gtamF2YS12bSIsIGZhbHNlKTsKIH0KIAorYm9vbCBN
SU1FVHlwZVJlZ2lzdHJ5Ojppc1Zpc3VhbGx5UmVwcmVzZW50YWJsZU1JTUVUeXBlKGNvbnN0IFN0
cmluZyYgbWltZVR5cGUpCit7CisgICAgaWYgKGlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZShtaW1l
VHlwZSkgfHwgaXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKG1pbWVUeXBlKSB8fCBpc1N1cHBv
cnRlZE1lZGlhTUlNRVR5cGUobWltZVR5cGUpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IGlmIChtaW1lVHlwZS5zdGFydHNXaXRoKCJ0ZXh0LyIsIGZhbHNlKSkKKyAgICAgICAgcmV0dXJu
ICFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Vuc3VwcG9ydGVkVGV4dE1JTUVUeXBlKG1pbWVUeXBlKTsK
KworICAgIHJldHVybiBmYWxzZTsKK30KKwogSGFzaFNldDxTdHJpbmc+JiBNSU1FVHlwZVJlZ2lz
dHJ5OjpnZXRTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlcygpCiB7CiAgICAgaWYgKCFzdXBwb3J0ZWRJ
bWFnZU1JTUVUeXBlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVU
eXBlUmVnaXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnku
aAppbmRleCBhYjhiN2RlLi40NTRlYWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlN
RVR5cGVSZWdpc3RyeS5oCkBAIC03OCw2ICs3OCwxMSBAQCBwdWJsaWM6CiAgICAgLy8gYnJvd3Nl
ciAoZS5nLiBhIFF0IFBsdWdpbikuCiAgICAgc3RhdGljIGJvb2wgaXNBcHBsaWNhdGlvblBsdWdp
bk1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCisgICAgLy8gQ2hlY2sgdG8gc2Vl
IGlmIGEgbWltZSB0eXBlIGlzIHN1aXRhYmxlIGZvciBiZWluZyBzaG93biBpbnNpZGUgYSBwYWdl
LgorICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBhbnkgb2YgaXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBl
KCksIGlzU3VwcG9ydGVkTm9uSW1hZ2VNSU1FVHlwZSgpLCBpc1N1cHBvcnRlZE1lZGlhTUlNRVR5
cGUoKSByZXR1cm5zIHRydWUKKyAgICAvLyBvciBpZiBnaXZlbiBtaW1lIHR5cGUgYmVnaW5zIHdp
dGggInRleHQvIiBhbmQgaXNVbnN1cHBvcnRlZFRleHRNSU1FVHlwZSgpIHJldHVybnMgZmFsc2Uu
CisgICAgc3RhdGljIGJvb2wgaXNWaXN1YWxseVJlcHJlc2VudGFibGVNSU1FVHlwZShjb25zdCBT
dHJpbmcmIG1pbWVUeXBlKTsKKwogICAgIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4mIGdldFN1cHBv
cnRlZEltYWdlTUlNRVR5cGVzKCk7CiAgICAgc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiYgZ2V0U3Vw
cG9ydGVkSW1hZ2VSZXNvdXJjZU1JTUVUeXBlcygpOwogICAgIHN0YXRpYyBIYXNoU2V0PFN0cmlu
Zz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmcoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvQ2hhbmdlTG9nCmluZGV4IGMzMmQzYzQuLjM1YTliYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA5LTI1ICBNaWtoYWlsIFBvemRu
eWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIENvZGUgaW5z
aWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUoKSBpbXBsZW1lbnRhdGlvbnMg
Y2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQgV0sgcG9ydHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTQ3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3bHkgYWRkZWQgV2ViQ29yZTo6TUlNRVR5
cGVSZWdpc3RyeTo6aXNWaXN1YWxseVJlcHJlc2VudGFibGVNSU1FVHlwZSgpIGZ1bmN0aW9uIGlz
IHVzZWQKKyAgICAgICAgaW5zaWRlIFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJy
eTo6Y2FuU2hvd01JTUVUeXBlKCkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudEJsYWNrQmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJD
bGllbnRCbGFja0JlcnJ5OjpjYW5TaG93TUlNRVR5cGUpOgorCiAyMDEyLTA5LTI0ICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBEZWxldGluZyB0aGUgY2xhc3NpYyBp
bnRlcnByZXRlciBhbmQgY2xlYW5pbmcgdXAgc29tZSBidWlsZCBvcHRpb25zLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcAppbmRleCBhYjRjMDgwLi5jMmRiNTE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcApAQCAtNDgz
LDggKzQ4Myw4IEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5OjpjYW5TaG93TUlN
RVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZUluKSBjb25zCiAgICAgU3RyaW5nIG1pbWVUeXBl
ID0gTUlNRVR5cGVSZWdpc3RyeTo6Z2V0Tm9ybWFsaXplZE1JTUVUeXBlKG1pbWVUeXBlSW4pOwog
CiAgICAgLy8gRklYTUU6IFNlZW1zIG5vIG90aGVyIHBvcnQgY2hlY2tzIGVtcHR5IE1JTUUgdHlw
ZSBpbiB0aGlzIGZ1bmN0aW9uLiBTaG91bGQgd2UgZG8gdGhhdD8KLSAgICByZXR1cm4gTUlNRVR5
cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlKG1pbWVUeXBlKSB8fCBNSU1FVHlw
ZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGUobWltZVR5cGUpCi0gICAgICAg
IHx8IE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkTWVkaWFNSU1FVHlwZShtaW1lVHlwZSkg
fHwgV2ViU2V0dGluZ3M6OmlzU3VwcG9ydGVkT2JqZWN0TUlNRVR5cGUobWltZVR5cGUpCisgICAg
cmV0dXJuIE1JTUVUeXBlUmVnaXN0cnk6OmlzVmlzdWFsbHlSZXByZXNlbnRhYmxlTUlNRVR5cGUo
bWltZVR5cGUpCisgICAgICAgIHx8IFdlYlNldHRpbmdzOjppc1N1cHBvcnRlZE9iamVjdE1JTUVU
eXBlKG1pbWVUeXBlKQogICAgICAgICB8fCAobWltZVR5cGUgPT0gImFwcGxpY2F0aW9uL3gtc2hv
Y2t3YXZlLWZsYXNoIik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAxMzdjNWMxLi44Yjg3ZmJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMjUgIE1pa2hhaWwg
UG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgQ29k
ZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxlbWVudGF0
aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRlZCBXZWJDb3JlOjpN
SU1FVHlwZVJlZ2lzdHJ5Ojppc1Zpc3VhbGx5UmVwcmVzZW50YWJsZU1JTUVUeXBlKCkgZnVuY3Rp
b24gaXMgdXNlZAorICAgICAgICBpbnNpZGUgV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6
OmNhblNob3dNSU1FVHlwZSgpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6
OmNhblNob3dNSU1FVHlwZSk6CisKIDIwMTItMDktMjQgIERvbWluaWsgUsO2dHRzY2hlcyAgPGRv
bWluaWsucm90dHNjaGVzQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtEUlRdIEVuYWJsZSBS
ZWdpb25zIHN1cHBvcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcAppbmRleCBlNzkzMTgxLi42ODhiNDEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRFZmwuY3BwCkBAIC03MjIsOSArNzIyLDcgQEAgYm9vbCBGcmFtZUxvYWRlckNs
aWVudEVmbDo6Y2FuU2hvd01JTUVUeXBlQXNIVE1MKGNvbnN0IFN0cmluZyYgLypNSU1FVHlwZSov
KSBjb24KIAogYm9vbCBGcmFtZUxvYWRlckNsaWVudEVmbDo6Y2FuU2hvd01JTUVUeXBlKGNvbnN0
IFN0cmluZyYgTUlNRVR5cGUpIGNvbnN0CiB7Ci0gICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6Omlz
U3VwcG9ydGVkSW1hZ2VNSU1FVHlwZShNSU1FVHlwZSkKLSAgICAgICAgfHwgTUlNRVR5cGVSZWdp
c3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKE1JTUVUeXBlKQotICAgICAgICB8fCBN
SU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUoTUlNRVR5cGUpKQorICAg
IGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Zpc3VhbGx5UmVwcmVzZW50YWJsZU1JTUVUeXBlKE1J
TUVUeXBlKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICNpZiAwIC8vIFBsdWdpbkRhdGFiYXNl
IGlzIGRpc2FibGVkIHVudGlsIHdlIGhhdmUgUGx1Z2luIHN5c3RlbSBkb25lLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCmluZGV4IGU2OTcyNmQuLmYwNGQ4ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAxMi0wOS0yNSAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292
QGludGVsLmNvbT4KKworICAgICAgICBDb2RlIGluc2lkZSBGcmFtZUxvYWRlckNsaWVudDo6Y2Fu
U2hvd01JTUVUeXBlKCkgaW1wbGVtZW50YXRpb25zIGNhbiBiZSBzaGFyZWQgYW1vbmcgZGlmZmVy
ZW50IFdLIHBvcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05NzU0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5ld2x5IGFkZGVkIFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmlzVmlzdWFsbHlSZXBy
ZXNlbnRhYmxlTUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2VkCisgICAgICAgIGluc2lkZSBXZWJL
aXQ6OkZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUoKS4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSk6CisKIDIwMTItMDktMjQgIEJlbmph
bWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IEdlb2xvY2F0
aW9uIGVycm9yIHJlcG9ydGluZyBpbiB0aGUgdGVzdCBzdXBwb3J0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAgYi9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAK
aW5kZXggMTAzZTZjZC4uMTc2NDE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcApAQCAtOTAxLDkgKzkw
MSw3IEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZUFzSFRNTChjb25z
dCBTdHJpbmcmIE1JTUVUeXBlKSBjb25zdAogCiBib29sIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5T
aG93TUlNRVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAogewotICAgIHJldHVybiAoTUlN
RVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlKHR5cGUpCi0gICAgICAgICAg
ICB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGUodHlwZSkK
LSAgICAgICAgICAgIHx8IE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkTWVkaWFNSU1FVHlw
ZSh0eXBlKQorICAgIHJldHVybiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNWaXN1YWxseVJlcHJlc2Vu
dGFibGVNSU1FVHlwZSh0eXBlKQogICAgICAgICAgICAgfHwgUGx1Z2luRGF0YWJhc2U6Omluc3Rh
bGxlZFBsdWdpbnMoKS0+aXNNSU1FVHlwZVJlZ2lzdGVyZWQodHlwZSkpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCmluZGV4IDNkN2NlZGEuLjgzNzJjYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTItMDktMjUgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBp
bnRlbC5jb20+CisKKyAgICAgICAgQ29kZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNo
b3dNSU1FVHlwZSgpIGltcGxlbWVudGF0aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVu
dCBXSyBwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTc1NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBOZXdseSBhZGRlZCBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Zpc3VhbGx5UmVwcmVz
ZW50YWJsZU1JTUVUeXBlKCkgZnVuY3Rpb24gaXMgdXNlZAorICAgICAgICBpbnNpZGUgV2ViQ29y
ZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6Y2FuU2hvd01JTUVUeXBlKCkuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyQ2xpZW50UXQ6OmNhblNob3dNSU1FVHlwZSk6CisKIDIwMTItMDktMjQgIEJl
bmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IEdlb2xv
Y2F0aW9uIGVycm9yIHJlcG9ydGluZyBpbiB0aGUgdGVzdCBzdXBwb3J0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwIGIv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcApp
bmRleCBiY2YwNzJkLi41ZmMyOGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKQEAgLTYzMiwxMyArNjMyLDcg
QEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudFF0OjpjYW5TaG93TUlNRVR5cGUoY29uc3QgU3RyaW5n
JiBNSU1FVHlwZSkgY29uc3QKIHsKICAgICBTdHJpbmcgdHlwZSA9IE1JTUVUeXBlOwogICAgIHR5
cGUubWFrZUxvd2VyKCk7Ci0gICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1h
Z2VNSU1FVHlwZSh0eXBlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoTUlNRVR5
cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKHR5cGUpKQotICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlh
TUlNRVR5cGUodHlwZSkpCisgICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzVmlzdWFsbHlSZXBy
ZXNlbnRhYmxlTUlNRVR5cGUodHlwZSkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYg
KG1fZnJhbWUgJiYgbV9mcmFtZS0+c2V0dGluZ3MoKSAgJiYgbV9mcmFtZS0+c2V0dGluZ3MoKS0+
YXJlUGx1Z2luc0VuYWJsZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwppbmRleCBkNjZmYTU5Li5lNWE1
YThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA5LTI1ICBN
aWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAg
ICAgIENvZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUoKSBpbXBs
ZW1lbnRhdGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQgV0sgcG9ydHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTQ3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3bHkgYWRkZWQgV2Vi
Q29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6aXNWaXN1YWxseVJlcHJlc2VudGFibGVNSU1FVHlwZSgp
IGZ1bmN0aW9uIGlzIHVzZWQKKyAgICAgICAgaW5zaWRlIFdlYktpdDo6RnJhbWVMb2FkZXJDbGll
bnRXaW5DRTo6Y2FuU2hvd01JTUVUeXBlKCkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJD
bGllbnRXaW5DRTo6Y2FuU2hvd01JTUVUeXBlKToKKwogMjAxMi0wOC0yOCAgU2hlcmlmZiBCb3Qg
IDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjEyNjkxNC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbmNl
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V2luQ0UuY3BwCmluZGV4IGRhZWZiOTAu
LmFmYTU5M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJD
b3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcApAQCAtNDE5LDkgKzQxOSw3IEBA
IGJvb2wgRnJhbWVMb2FkZXJDbGllbnRXaW5DRTo6Y2FuSGFuZGxlUmVxdWVzdChjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmKSBjCiAKIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRXaW5DRTo6
Y2FuU2hvd01JTUVUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3QKIHsKLSAgICByZXR1cm4g
KE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSh0eXBlKQotICAgICAg
ICAgICAgfHwgTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKHR5
cGUpCi0gICAgICAgICAgICB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlN
RVR5cGUodHlwZSkKKyAgICByZXR1cm4gKE1JTUVUeXBlUmVnaXN0cnk6OmlzVmlzdWFsbHlSZXBy
ZXNlbnRhYmxlTUlNRVR5cGUodHlwZSkKICAgICAgICAgICAgIHx8IFBsdWdpbkRhdGFiYXNlOjpp
bnN0YWxsZWRQbHVnaW5zKCktPmlzTUlNRVR5cGVSZWdpc3RlcmVkKHR5cGUpKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDU0NjQ4MTguLmRiZjYyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBAQAog
MjAxMi0wOS0yNSAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVs
LmNvbT4KIAorICAgICAgICBDb2RlIGluc2lkZSBGcmFtZUxvYWRlckNsaWVudDo6Y2FuU2hvd01J
TUVUeXBlKCkgaW1wbGVtZW50YXRpb25zIGNhbiBiZSBzaGFyZWQgYW1vbmcgZGlmZmVyZW50IFdL
IHBvcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NzU0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5l
d2x5IGFkZGVkIFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmlzVmlzdWFsbHlSZXByZXNlbnRh
YmxlTUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2VkCisgICAgICAgIGluc2lkZSBXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKCkgYW5kIFdLQnVuZGxlUGFnZUNhblNob3dNSU1F
VHlwZSgpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChX
S0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5cGUpOgorCisyMDEyLTA5LTI1ICBNaWtoYWlsIFBvemRu
eWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCiAgICAgICAgIFtXSzJdIFN1
cHBvcnRlZCBtZWRpYSBNSU1FIHR5cGVzIGFyZSBub3QgaW5jbHVkZWQgdG8gdGhlIGxpc3Qgb2Yg
c2hvd24gTUlNRSB0eXBlcy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk3NTUyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKaW5kZXggYjgzYzk0NS4uYmMzMGJmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKQEAgLTczMSwxOCArNzMxLDkgQEAgU3RyaW5nIFdlYlBhZ2VQcm94eTo6
Y29tbWl0dGVkVVJMKCkgY29uc3QKIAogYm9vbCBXZWJQYWdlUHJveHk6OmNhblNob3dNSU1FVHlw
ZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogewotICAgIGlmIChNSU1FVHlwZVJlZ2lz
dHJ5Ojppc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGUobWltZVR5cGUpKQorICAgIGlmIChNSU1F
VHlwZVJlZ2lzdHJ5Ojppc1Zpc3VhbGx5UmVwcmVzZW50YWJsZU1JTUVUeXBlKG1pbWVUeXBlKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBw
b3J0ZWRJbWFnZU1JTUVUeXBlKG1pbWVUeXBlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAg
ICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRNZWRpYU1JTUVUeXBlKG1pbWVUeXBl
KSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAobWltZVR5cGUuc3RhcnRzV2l0aCgi
dGV4dC8iLCBmYWxzZSkpCi0gICAgICAgIHJldHVybiAhTUlNRVR5cGVSZWdpc3RyeTo6aXNVbnN1
cHBvcnRlZFRleHRNSU1FVHlwZShtaW1lVHlwZSk7Ci0KICAgICBTdHJpbmcgbmV3TWltZVR5cGUg
PSBtaW1lVHlwZTsKICAgICBQbHVnaW5Nb2R1bGVJbmZvIHBsdWdpbiA9IG1fcHJvY2Vzcy0+Y29u
dGV4dCgpLT5wbHVnaW5JbmZvU3RvcmUoKS5maW5kUGx1Z2luKG5ld01pbWVUeXBlLCBLVVJMKCkp
OwogICAgIGlmICghcGx1Z2luLnBhdGguaXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZS5jcHAKaW5kZXggZmI4YzRiMC4uODA2MTYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdl
LmNwcApAQCAtNDE3LDIxICs0MTcsNyBAQCB2b2lkIFdLQnVuZGxlUGFnZUNvbmZpcm1Db21wb3Np
dGlvbldpdGhUZXh0KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBXS1N0cmluZ1JlZgogCiBib29s
IFdLQnVuZGxlUGFnZUNhblNob3dNSU1FVHlwZShXS0J1bmRsZVBhZ2VSZWYsIFdLU3RyaW5nUmVm
IG1pbWVUeXBlUmVmKQogewotICAgIHVzaW5nIFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk7Ci0K
ICAgICBjb25zdCBXVEY6OlN0cmluZyBtaW1lVHlwZSA9IHRvSW1wbChtaW1lVHlwZVJlZiktPnN0
cmluZygpOwogCi0gICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkTm9uSW1hZ2VN
SU1FVHlwZShtaW1lVHlwZSkpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKE1JTUVU
eXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZShtaW1lVHlwZSkpCi0gICAgICAg
IHJldHVybiB0cnVlOwotCi0gICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkTWVk
aWFNSU1FVHlwZShtaW1lVHlwZSkpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKG1p
bWVUeXBlLnN0YXJ0c1dpdGgoInRleHQvIiwgZmFsc2UpKQotICAgICAgICByZXR1cm4gIU1JTUVU
eXBlUmVnaXN0cnk6OmlzVW5zdXBwb3J0ZWRUZXh0TUlNRVR5cGUobWltZVR5cGUpOwotCi0gICAg
cmV0dXJuIGZhbHNlOworICAgIHJldHVybiBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Zp
c3VhbGx5UmVwcmVzZW50YWJsZU1JTUVUeXBlKG1pbWVUeXBlKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165953</attachid>
            <date>2012-09-27 01:57:00 -0700</date>
            <delta_ts>2012-09-27 02:12:53 -0700</delta_ts>
            <desc>patch v3 (do not put flags)</desc>
            <filename>bug97547_v3</filename>
            <type>text/plain</type>
            <size>15241</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDliMWEyNTg2MWZjYzZmODE4MGQ4MjUzMzA0MGY1ZmI3NGQzODhjYWYKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
VGh1IFNlcCAyNyAxMTo0Njo0NiAyMDEyICswMzAwCgogICAgYnVnOTc1NDcKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZWNkNDE4NC4uOTI0YTk2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5
LTI1ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgor
CisgICAgICAgIENvZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUo
KSBpbXBsZW1lbnRhdGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQgV0sgcG9ydHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTQ3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgTUlN
RVR5cGVSZWdpc3RyeTo6Y2FuU2hvd01JTUVUeXBlKCkgZnVuY3Rpb24gd2hpY2ggc2hvdWxkIHRv
IGJlIHVzZWQKKyAgICAgICAgdG8gZGV0ZWN0IHdoZXRoZXIgYSBnaXZlbiBNSU1FIHR5cGUgY2Fu
IGJlIHNob3duIGluIGEgcGFnZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIE5vIG5ldyBmdW5j
dGlvbmFsaXR5LgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IFJlbW92ZWQgTUlNRVR5cGVS
ZWdpc3RyeSBmdW5jdGlvbnMgdGhhdCBubyBsb25nZXIgbmVlZCB0byBiZSBleHBvcnRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dNSU1FVHlwZSk6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5Lmg6CisgICAgICAgIChNSU1FVHlw
ZVJlZ2lzdHJ5KToKKwogMjAxMi0wOS0yNyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBCdWlsZCBmaXggZm9yICFVU0UoSUNVX1VOSUNPREUpIGFmdGVy
IHIxMjk2NjIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGQxNThmYzAuLmQwNzM2NzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCkBAIC00MTMsOCArNDEzLDYgQEAgX19aTjdXZWJDb3JlMTZMZWdhY3lX
ZWJBcmNoaXZlNmNyZWF0ZUVQTlNfNVJhbmdlRQogX19aTjdXZWJDb3JlMTZMZWdhY3lXZWJBcmNo
aXZlNmNyZWF0ZUV2CiBfX1pON1dlYkNvcmUxNk1JTUVUeXBlUmVnaXN0cnkyM2dldE1JTUVUeXBl
Rm9yRXh0ZW5zaW9uRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTZNSU1FVHlwZVJlZ2lz
dHJ5MjRpc1N1cHBvcnRlZEltYWdlTUlNRVR5cGVFUktOM1dURjZTdHJpbmdFCi1fX1pON1dlYkNv
cmUxNk1JTUVUeXBlUmVnaXN0cnkyNGlzU3VwcG9ydGVkTWVkaWFNSU1FVHlwZUVSS04zV1RGNlN0
cmluZ0UKLV9fWk43V2ViQ29yZTE2TUlNRVR5cGVSZWdpc3RyeTI1aXNVbnN1cHBvcnRlZFRleHRN
SU1FVHlwZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE2TUlNRVR5cGVSZWdpc3RyeTI2
Z2V0U3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNFdgogX19aTjdXZWJDb3JlMTZNSU1FVHlwZVJlZ2lz
dHJ5MjdnZXRVbnN1cHBvcnRlZFRleHRNSU1FVHlwZXNFdgogX19aTjdXZWJDb3JlMTZNSU1FVHlw
ZVJlZ2lzdHJ5Mjdpc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGVFUktOM1dURjZTdHJpbmdFCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCmluZGV4IDA2MjYx
NzAuLmMxODhjZDggMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBl
UmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0
cnkuY3BwCkBAIC01NzksNiArNTc5LDE3IEBAIGJvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNKYXZh
QXBwbGV0TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKICAgICAgICAgfHwgbWltZVR5
cGUuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1qYXZhLXZtIiwgZmFsc2UpOwogfQogCitib29s
IE1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dNSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBl
KQoreworICAgIGlmIChpc1N1cHBvcnRlZEltYWdlTUlNRVR5cGUobWltZVR5cGUpIHx8IGlzU3Vw
cG9ydGVkTm9uSW1hZ2VNSU1FVHlwZShtaW1lVHlwZSkgfHwgaXNTdXBwb3J0ZWRNZWRpYU1JTUVU
eXBlKG1pbWVUeXBlKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAobWltZVR5cGUu
c3RhcnRzV2l0aCgidGV4dC8iLCBmYWxzZSkpCisgICAgICAgIHJldHVybiAhTUlNRVR5cGVSZWdp
c3RyeTo6aXNVbnN1cHBvcnRlZFRleHRNSU1FVHlwZShtaW1lVHlwZSk7CisKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKIEhhc2hTZXQ8U3RyaW5nPiYgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0U3VwcG9y
dGVkSW1hZ2VNSU1FVHlwZXMoKQogewogICAgIGlmICghc3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKaW5kZXggYWI4Yjdk
ZS4uNTYxMmI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVS
ZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnku
aApAQCAtNzgsNiArNzgsMTEgQEAgcHVibGljOgogICAgIC8vIGJyb3dzZXIgKGUuZy4gYSBRdCBQ
bHVnaW4pLgogICAgIHN0YXRpYyBib29sIGlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZShjb25z
dCBTdHJpbmcmIG1pbWVUeXBlKTsKIAorICAgIC8vIENoZWNrIHRvIHNlZSBpZiBhIG1pbWUgdHlw
ZSBpcyBzdWl0YWJsZSBmb3IgYmVpbmcgc2hvd24gaW5zaWRlIGEgcGFnZS4KKyAgICAvLyBSZXR1
cm5zIHRydWUgaWYgYW55IG9mIGlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSgpLCBpc1N1cHBvcnRl
ZE5vbkltYWdlTUlNRVR5cGUoKSwgaXNTdXBwb3J0ZWRNZWRpYU1JTUVUeXBlKCkgcmV0dXJucyB0
cnVlCisgICAgLy8gb3IgaWYgZ2l2ZW4gbWltZSB0eXBlIGJlZ2lucyB3aXRoICJ0ZXh0LyIgYW5k
IGlzVW5zdXBwb3J0ZWRUZXh0TUlNRVR5cGUoKSByZXR1cm5zIGZhbHNlLgorICAgIHN0YXRpYyBi
b29sIGNhblNob3dNSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKKwogICAgIHN0YXRp
YyBIYXNoU2V0PFN0cmluZz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCk7CiAgICAgc3Rh
dGljIEhhc2hTZXQ8U3RyaW5nPiYgZ2V0U3VwcG9ydGVkSW1hZ2VSZXNvdXJjZU1JTUVUeXBlcygp
OwogICAgIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVz
Rm9yRW5jb2RpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IGIxMGQ2YTku
LmRlMzM3ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDEyLTA5LTI1ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50
ZWwuY29tPgorCisgICAgICAgIENvZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93
TUlNRVR5cGUoKSBpbXBsZW1lbnRhdGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQg
V0sgcG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk3NTQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TmV3bHkgYWRkZWQgV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Y2FuU2hvd01JTUVUeXBlKCkg
ZnVuY3Rpb24gaXMgdXNlZAorICAgICAgICBpbnNpZGUgV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGll
bnRCbGFja0JlcnJ5OjpjYW5TaG93TUlNRVR5cGUoKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnk6OmNhblNob3dNSU1FVHlwZSk6CisKIDIwMTItMDkt
MjYgIEpha29iIFBldHNvdml0cyAgPGpwZXRzb3ZpdHNAcmltLmNvbT4KIAogICAgICAgICBbQmxh
Y2tCZXJyeV0gUmVtb3ZlIGJsaXRDb250ZW50cygpIGluIGZhdm9yIG9mIGJsaXRWaXNpYmxlQ29u
dGVudHMoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKaW5k
ZXggNjBmNjcyMy4uMzU1ZWRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50Qmxh
Y2tCZXJyeS5jcHAKQEAgLTQ4Myw4ICs0ODMsOCBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50Qmxh
Y2tCZXJyeTo6Y2FuU2hvd01JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGVJbikgY29ucwog
ICAgIFN0cmluZyBtaW1lVHlwZSA9IE1JTUVUeXBlUmVnaXN0cnk6OmdldE5vcm1hbGl6ZWRNSU1F
VHlwZShtaW1lVHlwZUluKTsKIAogICAgIC8vIEZJWE1FOiBTZWVtcyBubyBvdGhlciBwb3J0IGNo
ZWNrcyBlbXB0eSBNSU1FIHR5cGUgaW4gdGhpcyBmdW5jdGlvbi4gU2hvdWxkIHdlIGRvIHRoYXQ/
Ci0gICAgcmV0dXJuIE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSht
aW1lVHlwZSkgfHwgTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBl
KG1pbWVUeXBlKQotICAgICAgICB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlh
TUlNRVR5cGUobWltZVR5cGUpIHx8IFdlYlNldHRpbmdzOjppc1N1cHBvcnRlZE9iamVjdE1JTUVU
eXBlKG1pbWVUeXBlKQorICAgIHJldHVybiBNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5
cGUobWltZVR5cGUpCisgICAgICAgIHx8IFdlYlNldHRpbmdzOjppc1N1cHBvcnRlZE9iamVjdE1J
TUVUeXBlKG1pbWVUeXBlKQogICAgICAgICB8fCAobWltZVR5cGUgPT0gImFwcGxpY2F0aW9uL3gt
c2hvY2t3YXZlLWZsYXNoIik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAyYzcyNDJlLi5lNjU5
NzE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMjUgIE1pa2hh
aWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAg
Q29kZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxlbWVu
dGF0aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRlZCBXZWJDb3Jl
OjpNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2VkCisg
ICAgICAgIGluc2lkZSBXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6Y2FuU2hvd01JTUVU
eXBlKCkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6Y2FuU2hvd01JTUVU
eXBlKToKKwogMjAxMi0wOS0yNiAgSmlud29vIFNvbmcgIDxqaW53b283LnNvbmdAc2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW0VGTF0gRml4IHRoZSB0eXBvIGluIHRoZSBld2tfdmlld19mdWxsc2Ny
ZWVuX2V4aXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4IDQxMGI0MjQuLmUwMzI3ZTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudEVmbC5jcHAKQEAgLTcyMCw5ICs3MjAsNyBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50
RWZsOjpjYW5TaG93TUlNRVR5cGVBc0hUTUwoY29uc3QgU3RyaW5nJiAvKk1JTUVUeXBlKi8pIGNv
bgogCiBib29sIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpjYW5TaG93TUlNRVR5cGUoY29uc3QgU3Ry
aW5nJiBNSU1FVHlwZSkgY29uc3QKIHsKLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBw
b3J0ZWRJbWFnZU1JTUVUeXBlKE1JTUVUeXBlKQotICAgICAgICB8fCBNSU1FVHlwZVJlZ2lzdHJ5
Ojppc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGUoTUlNRVR5cGUpCi0gICAgICAgIHx8IE1JTUVU
eXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkTWVkaWFNSU1FVHlwZShNSU1FVHlwZSkpCisgICAgaWYg
KE1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dNSU1FVHlwZShNSU1FVHlwZSkpCiAgICAgICAgIHJl
dHVybiB0cnVlOwogCiAjaWYgMCAvLyBQbHVnaW5EYXRhYmFzZSBpcyBkaXNhYmxlZCB1bnRpbCB3
ZSBoYXZlIFBsdWdpbiBzeXN0ZW0gZG9uZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA4ZWI2N2FiLi40
NWRjYWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMjUgIE1p
a2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAg
ICAgQ29kZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxl
bWVudGF0aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRlZCBXZWJD
b3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2Vk
CisgICAgICAgIGluc2lkZSBXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5
cGUoKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSk6
CisKIDIwMTItMDktMjYgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGduc0Bnbm9tZS5vcmc+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggYWZ0ZXIgMTI5NzA3LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3Bw
IGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsu
Y3BwCmluZGV4IGQzNjNmYWYuLjA4NWY0MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKQEAgLTg5Nyw5
ICs4OTcsNyBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGVBc0hUTUwo
Y29uc3QgU3RyaW5nJiBNSU1FVHlwZSkgY29uc3QKIAogYm9vbCBGcmFtZUxvYWRlckNsaWVudDo6
Y2FuU2hvd01JTUVUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3QKIHsKLSAgICByZXR1cm4g
KE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSh0eXBlKQotICAgICAg
ICAgICAgfHwgTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKHR5
cGUpCi0gICAgICAgICAgICB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlN
RVR5cGUodHlwZSkKKyAgICByZXR1cm4gKE1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dNSU1FVHlw
ZSh0eXBlKQogICAgICAgICAgICAgfHwgUGx1Z2luRGF0YWJhc2U6Omluc3RhbGxlZFBsdWdpbnMo
KS0+aXNNSU1FVHlwZVJlZ2lzdGVyZWQodHlwZSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDYx
MmI4NjcuLmVlMTQzNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDkt
MjUgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisK
KyAgICAgICAgQ29kZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgp
IGltcGxlbWVudGF0aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRl
ZCBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUoKSBmdW5jdGlvbiBp
cyB1c2VkCisgICAgICAgIGluc2lkZSBXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OjpjYW5T
aG93TUlNRVR5cGUoKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6Y2FuU2hv
d01JTUVUeXBlKToKKwogMjAxMi0wOS0yNiAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFu
bkBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBSZW1vdmUgUXQgUXVpY2sgMSBzdXBwb3J0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudFF0LmNwcAppbmRleCAzMzIwZWE3Li42NjAwYWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKQEAgLTYz
MCwxMyArNjMwLDcgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudFF0OjpjYW5TaG93TUlNRVR5cGUo
Y29uc3QgU3RyaW5nJiBNSU1FVHlwZSkgY29uc3QKIHsKICAgICBTdHJpbmcgdHlwZSA9IE1JTUVU
eXBlOwogICAgIHR5cGUubWFrZUxvd2VyKCk7Ci0gICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6Omlz
U3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSh0eXBlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAg
ICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKHR5cGUp
KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1
cHBvcnRlZE1lZGlhTUlNRVR5cGUodHlwZSkpCisgICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmNh
blNob3dNSU1FVHlwZSh0eXBlKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBpZiAobV9m
cmFtZSAmJiBtX2ZyYW1lLT5zZXR0aW5ncygpICAmJiBtX2ZyYW1lLT5zZXR0aW5ncygpLT5hcmVQ
bHVnaW5zRW5hYmxlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IGFhNmJhZTkuLjExOGUyOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMjUgIE1pa2hh
aWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAg
Q29kZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxlbWVu
dGF0aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRlZCBXZWJDb3Jl
OjpNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2VkCisg
ICAgICAgIGluc2lkZSBXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50V2luQ0U6OmNhblNob3dNSU1F
VHlwZSgpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5D
RS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50V2luQ0U6OmNhblNob3dN
SU1FVHlwZSk6CisKIDIwMTItMDktMjUgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgog
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTM5Nwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudFdpbkNFLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRXaW5DRS5jcHAKaW5kZXggNjNmZmY4Mi4uYWNiZDhlMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdp
bkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50V2luQ0UuY3BwCkBAIC00MTQsOSArNDE0LDcgQEAgYm9vbCBGcmFtZUxvYWRlckNs
aWVudFdpbkNFOjpjYW5IYW5kbGVSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYpIGMKIAogYm9vbCBGcmFtZUxvYWRlckNsaWVudFdpbkNFOjpjYW5TaG93TUlNRVR5cGUoY29u
c3QgU3RyaW5nJiB0eXBlKSBjb25zdAogewotICAgIHJldHVybiAoTUlNRVR5cGVSZWdpc3RyeTo6
aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlKHR5cGUpCi0gICAgICAgICAgICB8fCBNSU1FVHlwZVJl
Z2lzdHJ5Ojppc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGUodHlwZSkKLSAgICAgICAgICAgIHx8
IE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkTWVkaWFNSU1FVHlwZSh0eXBlKQorICAgIHJl
dHVybiAoTUlNRVR5cGVSZWdpc3RyeTo6Y2FuU2hvd01JTUVUeXBlKHR5cGUpCiAgICAgICAgICAg
ICB8fCBQbHVnaW5EYXRhYmFzZTo6aW5zdGFsbGVkUGx1Z2lucygpLT5pc01JTUVUeXBlUmVnaXN0
ZXJlZCh0eXBlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4ZjVhNmZhLi40YTNiMGVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDktMjUgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1p
a2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgQ29kZSBpbnNpZGUgRnJhbWVM
b2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxlbWVudGF0aW9ucyBjYW4gYmUgc2hh
cmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRlZCBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5
OjpjYW5TaG93TUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2VkCisgICAgICAgIGluc2lkZSBXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKCkgYW5kIFdLQnVuZGxlUGFnZUNhblNo
b3dNSU1FVHlwZSgpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6CisgICAg
ICAgIChXS0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5cGUpOgorCiAyMDEyLTA5LTI2ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IFhQQ1NlcnZpY2VzIHN5bWxpbmsg
dG8gbm90IGJlIHRvIGFuIGFic29sdXRlIHBhdGgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKaW5kZXggMDViMjFiNy4uMzc2N2IyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTc0OCwxOCArNzQ4LDkgQEAgU3RyaW5nIFdl
YlBhZ2VQcm94eTo6Y29tbWl0dGVkVVJMKCkgY29uc3QKIAogYm9vbCBXZWJQYWdlUHJveHk6OmNh
blNob3dNSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogewotICAgIGlmIChN
SU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGUobWltZVR5cGUpKQor
ICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUobWltZVR5cGUpKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRl
ZEltYWdlTUlNRVR5cGUobWltZVR5cGUpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlm
IChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUobWltZVR5cGUpKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChtaW1lVHlwZS5zdGFydHNXaXRoKCJ0ZXh0
LyIsIGZhbHNlKSkKLSAgICAgICAgcmV0dXJuICFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Vuc3VwcG9y
dGVkVGV4dE1JTUVUeXBlKG1pbWVUeXBlKTsKLQogICAgIFN0cmluZyBuZXdNaW1lVHlwZSA9IG1p
bWVUeXBlOwogICAgIFBsdWdpbk1vZHVsZUluZm8gcGx1Z2luID0gbV9wcm9jZXNzLT5jb250ZXh0
KCktPnBsdWdpbkluZm9TdG9yZSgpLmZpbmRQbHVnaW4obmV3TWltZVR5cGUsIEtVUkwoKSk7CiAg
ICAgaWYgKCFwbHVnaW4ucGF0aC5pc051bGwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNw
cAppbmRleCAxNTA4OGU3Li5iNTZkZTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3Bw
CkBAIC00MjMsMjEgKzQyMyw3IEBAIHZvaWQgV0tCdW5kbGVQYWdlQ29uZmlybUNvbXBvc2l0aW9u
V2l0aFRleHQoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVmCiAKIGJvb2wgV0tC
dW5kbGVQYWdlQ2FuU2hvd01JTUVUeXBlKFdLQnVuZGxlUGFnZVJlZiwgV0tTdHJpbmdSZWYgbWlt
ZVR5cGVSZWYpCiB7Ci0gICAgdXNpbmcgV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTsKLQogICAg
IGNvbnN0IFdURjo6U3RyaW5nIG1pbWVUeXBlID0gdG9JbXBsKG1pbWVUeXBlUmVmKS0+c3RyaW5n
KCk7CiAKLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVU
eXBlKG1pbWVUeXBlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoTUlNRVR5cGVS
ZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlKG1pbWVUeXBlKSkKLSAgICAgICAgcmV0
dXJuIHRydWU7Ci0KLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRNZWRpYU1J
TUVUeXBlKG1pbWVUeXBlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAobWltZVR5
cGUuc3RhcnRzV2l0aCgidGV4dC8iLCBmYWxzZSkpCi0gICAgICAgIHJldHVybiAhTUlNRVR5cGVS
ZWdpc3RyeTo6aXNVbnN1cHBvcnRlZFRleHRNSU1FVHlwZShtaW1lVHlwZSk7Ci0KLSAgICByZXR1
cm4gZmFsc2U7CisgICAgcmV0dXJuIFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dN
SU1FVHlwZShtaW1lVHlwZSk7CiB9Cg==
</data>
<flag name="commit-queue"
          id="178133"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165955</attachid>
            <date>2012-09-27 02:12:53 -0700</date>
            <delta_ts>2012-09-27 05:34:22 -0700</delta_ts>
            <desc>patch v4</desc>
            <filename>bug97547_v4</filename>
            <type>text/plain</type>
            <size>15469</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDVhMTY3MGYwOGVlZGEzMTQzYjNhOWUzYWRhZGMyOWU2Y2Y4Zjg5YWQKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
VGh1IFNlcCAyNyAxMTo0Njo0NiAyMDEyICswMzAwCgogICAgYnVnOTc1NDcKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZWNkNDE4NC4uMGRjZjE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5
LTI1ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgor
CisgICAgICAgIENvZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUo
KSBpbXBsZW1lbnRhdGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQgV0sgcG9ydHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTQ3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgTUlN
RVR5cGVSZWdpc3RyeTo6Y2FuU2hvd01JTUVUeXBlKCkgZnVuY3Rpb24gd2hpY2ggc2hvdWxkIHRv
IGJlIHVzZWQKKyAgICAgICAgdG8gZGV0ZWN0IHdoZXRoZXIgYSBnaXZlbiBNSU1FIHR5cGUgY2Fu
IGJlIHNob3duIGluIGEgcGFnZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIE5vIG5ldyBmdW5j
dGlvbmFsaXR5LgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEFkZGVkIE1JTUVUeXBlUmVn
aXN0cnk6OmNhblNob3dNSU1FVHlwZSgpLiBSZW1vdmVkIE1JTUVUeXBlUmVnaXN0cnkgZnVuY3Rp
b25zIHRoYXQgbm8gbG9uZ2VyIG5lZWQgdG8gYmUgZXhwb3J0ZWQuCisgICAgICAgICogcGxhdGZv
cm0vTUlNRVR5cGVSZWdpc3RyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lz
dHJ5OjpjYW5TaG93TUlNRVR5cGUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxh
dGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oOgorICAgICAgICAoTUlNRVR5cGVSZWdpc3RyeSk6CisK
IDIwMTItMDktMjcgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQnVpbGQgZml4IGZvciAhVVNFKElDVV9VTklDT0RFKSBhZnRlciByMTI5NjYyLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgppbmRleCBkMTU4ZmMwLi5mYjE3NjY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgpAQCAtNDExLDEwICs0MTEsOSBAQCBfX1pON1dlYkNvcmUxNkxlZ2FjeVdlYkFyY2hpdmU2Y3Jl
YXRlRVBOU180Tm9kZUVQTlNfMTFGcmFtZUZpbHRlckUKIF9fWk43V2ViQ29yZTE2TGVnYWN5V2Vi
QXJjaGl2ZTZjcmVhdGVFUE5TXzVGcmFtZUUKIF9fWk43V2ViQ29yZTE2TGVnYWN5V2ViQXJjaGl2
ZTZjcmVhdGVFUE5TXzVSYW5nZUUKIF9fWk43V2ViQ29yZTE2TGVnYWN5V2ViQXJjaGl2ZTZjcmVh
dGVFdgorX19aTjdXZWJDb3JlMTZNSU1FVHlwZVJlZ2lzdHJ5MTVjYW5TaG93TUlNRVR5cGVFUktO
M1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxNk1JTUVUeXBlUmVnaXN0cnkyM2dldE1JTUVUeXBl
Rm9yRXh0ZW5zaW9uRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTZNSU1FVHlwZVJlZ2lz
dHJ5MjRpc1N1cHBvcnRlZEltYWdlTUlNRVR5cGVFUktOM1dURjZTdHJpbmdFCi1fX1pON1dlYkNv
cmUxNk1JTUVUeXBlUmVnaXN0cnkyNGlzU3VwcG9ydGVkTWVkaWFNSU1FVHlwZUVSS04zV1RGNlN0
cmluZ0UKLV9fWk43V2ViQ29yZTE2TUlNRVR5cGVSZWdpc3RyeTI1aXNVbnN1cHBvcnRlZFRleHRN
SU1FVHlwZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE2TUlNRVR5cGVSZWdpc3RyeTI2
Z2V0U3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNFdgogX19aTjdXZWJDb3JlMTZNSU1FVHlwZVJlZ2lz
dHJ5MjdnZXRVbnN1cHBvcnRlZFRleHRNSU1FVHlwZXNFdgogX19aTjdXZWJDb3JlMTZNSU1FVHlw
ZVJlZ2lzdHJ5Mjdpc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGVFUktOM1dURjZTdHJpbmdFCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCmluZGV4IDA2MjYx
NzAuLmMxODhjZDggMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBl
UmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0
cnkuY3BwCkBAIC01NzksNiArNTc5LDE3IEBAIGJvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNKYXZh
QXBwbGV0TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKICAgICAgICAgfHwgbWltZVR5
cGUuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1qYXZhLXZtIiwgZmFsc2UpOwogfQogCitib29s
IE1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dNSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBl
KQoreworICAgIGlmIChpc1N1cHBvcnRlZEltYWdlTUlNRVR5cGUobWltZVR5cGUpIHx8IGlzU3Vw
cG9ydGVkTm9uSW1hZ2VNSU1FVHlwZShtaW1lVHlwZSkgfHwgaXNTdXBwb3J0ZWRNZWRpYU1JTUVU
eXBlKG1pbWVUeXBlKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAobWltZVR5cGUu
c3RhcnRzV2l0aCgidGV4dC8iLCBmYWxzZSkpCisgICAgICAgIHJldHVybiAhTUlNRVR5cGVSZWdp
c3RyeTo6aXNVbnN1cHBvcnRlZFRleHRNSU1FVHlwZShtaW1lVHlwZSk7CisKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKIEhhc2hTZXQ8U3RyaW5nPiYgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0U3VwcG9y
dGVkSW1hZ2VNSU1FVHlwZXMoKQogewogICAgIGlmICghc3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKaW5kZXggYWI4Yjdk
ZS4uNTYxMmI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVS
ZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnku
aApAQCAtNzgsNiArNzgsMTEgQEAgcHVibGljOgogICAgIC8vIGJyb3dzZXIgKGUuZy4gYSBRdCBQ
bHVnaW4pLgogICAgIHN0YXRpYyBib29sIGlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZShjb25z
dCBTdHJpbmcmIG1pbWVUeXBlKTsKIAorICAgIC8vIENoZWNrIHRvIHNlZSBpZiBhIG1pbWUgdHlw
ZSBpcyBzdWl0YWJsZSBmb3IgYmVpbmcgc2hvd24gaW5zaWRlIGEgcGFnZS4KKyAgICAvLyBSZXR1
cm5zIHRydWUgaWYgYW55IG9mIGlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSgpLCBpc1N1cHBvcnRl
ZE5vbkltYWdlTUlNRVR5cGUoKSwgaXNTdXBwb3J0ZWRNZWRpYU1JTUVUeXBlKCkgcmV0dXJucyB0
cnVlCisgICAgLy8gb3IgaWYgZ2l2ZW4gbWltZSB0eXBlIGJlZ2lucyB3aXRoICJ0ZXh0LyIgYW5k
IGlzVW5zdXBwb3J0ZWRUZXh0TUlNRVR5cGUoKSByZXR1cm5zIGZhbHNlLgorICAgIHN0YXRpYyBi
b29sIGNhblNob3dNSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKKwogICAgIHN0YXRp
YyBIYXNoU2V0PFN0cmluZz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCk7CiAgICAgc3Rh
dGljIEhhc2hTZXQ8U3RyaW5nPiYgZ2V0U3VwcG9ydGVkSW1hZ2VSZXNvdXJjZU1JTUVUeXBlcygp
OwogICAgIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVz
Rm9yRW5jb2RpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IGIxMGQ2YTku
LmRlMzM3ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDEyLTA5LTI1ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50
ZWwuY29tPgorCisgICAgICAgIENvZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93
TUlNRVR5cGUoKSBpbXBsZW1lbnRhdGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQg
V0sgcG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk3NTQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TmV3bHkgYWRkZWQgV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Y2FuU2hvd01JTUVUeXBlKCkg
ZnVuY3Rpb24gaXMgdXNlZAorICAgICAgICBpbnNpZGUgV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGll
bnRCbGFja0JlcnJ5OjpjYW5TaG93TUlNRVR5cGUoKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnk6OmNhblNob3dNSU1FVHlwZSk6CisKIDIwMTItMDkt
MjYgIEpha29iIFBldHNvdml0cyAgPGpwZXRzb3ZpdHNAcmltLmNvbT4KIAogICAgICAgICBbQmxh
Y2tCZXJyeV0gUmVtb3ZlIGJsaXRDb250ZW50cygpIGluIGZhdm9yIG9mIGJsaXRWaXNpYmxlQ29u
dGVudHMoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKaW5k
ZXggNjBmNjcyMy4uMzU1ZWRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50Qmxh
Y2tCZXJyeS5jcHAKQEAgLTQ4Myw4ICs0ODMsOCBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50Qmxh
Y2tCZXJyeTo6Y2FuU2hvd01JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGVJbikgY29ucwog
ICAgIFN0cmluZyBtaW1lVHlwZSA9IE1JTUVUeXBlUmVnaXN0cnk6OmdldE5vcm1hbGl6ZWRNSU1F
VHlwZShtaW1lVHlwZUluKTsKIAogICAgIC8vIEZJWE1FOiBTZWVtcyBubyBvdGhlciBwb3J0IGNo
ZWNrcyBlbXB0eSBNSU1FIHR5cGUgaW4gdGhpcyBmdW5jdGlvbi4gU2hvdWxkIHdlIGRvIHRoYXQ/
Ci0gICAgcmV0dXJuIE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSht
aW1lVHlwZSkgfHwgTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBl
KG1pbWVUeXBlKQotICAgICAgICB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlh
TUlNRVR5cGUobWltZVR5cGUpIHx8IFdlYlNldHRpbmdzOjppc1N1cHBvcnRlZE9iamVjdE1JTUVU
eXBlKG1pbWVUeXBlKQorICAgIHJldHVybiBNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5
cGUobWltZVR5cGUpCisgICAgICAgIHx8IFdlYlNldHRpbmdzOjppc1N1cHBvcnRlZE9iamVjdE1J
TUVUeXBlKG1pbWVUeXBlKQogICAgICAgICB8fCAobWltZVR5cGUgPT0gImFwcGxpY2F0aW9uL3gt
c2hvY2t3YXZlLWZsYXNoIik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAyYzcyNDJlLi5lNjU5
NzE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMjUgIE1pa2hh
aWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAg
Q29kZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxlbWVu
dGF0aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRlZCBXZWJDb3Jl
OjpNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2VkCisg
ICAgICAgIGluc2lkZSBXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6Y2FuU2hvd01JTUVU
eXBlKCkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6Y2FuU2hvd01JTUVU
eXBlKToKKwogMjAxMi0wOS0yNiAgSmlud29vIFNvbmcgIDxqaW53b283LnNvbmdAc2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW0VGTF0gRml4IHRoZSB0eXBvIGluIHRoZSBld2tfdmlld19mdWxsc2Ny
ZWVuX2V4aXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4IDQxMGI0MjQuLmUwMzI3ZTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudEVmbC5jcHAKQEAgLTcyMCw5ICs3MjAsNyBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50
RWZsOjpjYW5TaG93TUlNRVR5cGVBc0hUTUwoY29uc3QgU3RyaW5nJiAvKk1JTUVUeXBlKi8pIGNv
bgogCiBib29sIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpjYW5TaG93TUlNRVR5cGUoY29uc3QgU3Ry
aW5nJiBNSU1FVHlwZSkgY29uc3QKIHsKLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBw
b3J0ZWRJbWFnZU1JTUVUeXBlKE1JTUVUeXBlKQotICAgICAgICB8fCBNSU1FVHlwZVJlZ2lzdHJ5
Ojppc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGUoTUlNRVR5cGUpCi0gICAgICAgIHx8IE1JTUVU
eXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkTWVkaWFNSU1FVHlwZShNSU1FVHlwZSkpCisgICAgaWYg
KE1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dNSU1FVHlwZShNSU1FVHlwZSkpCiAgICAgICAgIHJl
dHVybiB0cnVlOwogCiAjaWYgMCAvLyBQbHVnaW5EYXRhYmFzZSBpcyBkaXNhYmxlZCB1bnRpbCB3
ZSBoYXZlIFBsdWdpbiBzeXN0ZW0gZG9uZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA4ZWI2N2FiLi40
NWRjYWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMjUgIE1p
a2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAg
ICAgQ29kZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxl
bWVudGF0aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRlZCBXZWJD
b3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2Vk
CisgICAgICAgIGluc2lkZSBXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5
cGUoKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSk6
CisKIDIwMTItMDktMjYgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGduc0Bnbm9tZS5vcmc+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggYWZ0ZXIgMTI5NzA3LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3Bw
IGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsu
Y3BwCmluZGV4IGQzNjNmYWYuLjA4NWY0MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKQEAgLTg5Nyw5
ICs4OTcsNyBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGVBc0hUTUwo
Y29uc3QgU3RyaW5nJiBNSU1FVHlwZSkgY29uc3QKIAogYm9vbCBGcmFtZUxvYWRlckNsaWVudDo6
Y2FuU2hvd01JTUVUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3QKIHsKLSAgICByZXR1cm4g
KE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSh0eXBlKQotICAgICAg
ICAgICAgfHwgTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKHR5
cGUpCi0gICAgICAgICAgICB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlN
RVR5cGUodHlwZSkKKyAgICByZXR1cm4gKE1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dNSU1FVHlw
ZSh0eXBlKQogICAgICAgICAgICAgfHwgUGx1Z2luRGF0YWJhc2U6Omluc3RhbGxlZFBsdWdpbnMo
KS0+aXNNSU1FVHlwZVJlZ2lzdGVyZWQodHlwZSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDYx
MmI4NjcuLmVlMTQzNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDkt
MjUgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisK
KyAgICAgICAgQ29kZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgp
IGltcGxlbWVudGF0aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRl
ZCBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUoKSBmdW5jdGlvbiBp
cyB1c2VkCisgICAgICAgIGluc2lkZSBXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OjpjYW5T
aG93TUlNRVR5cGUoKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6Y2FuU2hv
d01JTUVUeXBlKToKKwogMjAxMi0wOS0yNiAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFu
bkBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBSZW1vdmUgUXQgUXVpY2sgMSBzdXBwb3J0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudFF0LmNwcAppbmRleCAzMzIwZWE3Li42NjAwYWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKQEAgLTYz
MCwxMyArNjMwLDcgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudFF0OjpjYW5TaG93TUlNRVR5cGUo
Y29uc3QgU3RyaW5nJiBNSU1FVHlwZSkgY29uc3QKIHsKICAgICBTdHJpbmcgdHlwZSA9IE1JTUVU
eXBlOwogICAgIHR5cGUubWFrZUxvd2VyKCk7Ci0gICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6Omlz
U3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSh0eXBlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAg
ICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKHR5cGUp
KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1
cHBvcnRlZE1lZGlhTUlNRVR5cGUodHlwZSkpCisgICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmNh
blNob3dNSU1FVHlwZSh0eXBlKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBpZiAobV9m
cmFtZSAmJiBtX2ZyYW1lLT5zZXR0aW5ncygpICAmJiBtX2ZyYW1lLT5zZXR0aW5ncygpLT5hcmVQ
bHVnaW5zRW5hYmxlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IGFhNmJhZTkuLjExOGUyOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMjUgIE1pa2hh
aWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAg
Q29kZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxlbWVu
dGF0aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRlZCBXZWJDb3Jl
OjpNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2VkCisg
ICAgICAgIGluc2lkZSBXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50V2luQ0U6OmNhblNob3dNSU1F
VHlwZSgpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5D
RS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50V2luQ0U6OmNhblNob3dN
SU1FVHlwZSk6CisKIDIwMTItMDktMjUgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgog
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTM5Nwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudFdpbkNFLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRXaW5DRS5jcHAKaW5kZXggNjNmZmY4Mi4uYWNiZDhlMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdp
bkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50V2luQ0UuY3BwCkBAIC00MTQsOSArNDE0LDcgQEAgYm9vbCBGcmFtZUxvYWRlckNs
aWVudFdpbkNFOjpjYW5IYW5kbGVSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYpIGMKIAogYm9vbCBGcmFtZUxvYWRlckNsaWVudFdpbkNFOjpjYW5TaG93TUlNRVR5cGUoY29u
c3QgU3RyaW5nJiB0eXBlKSBjb25zdAogewotICAgIHJldHVybiAoTUlNRVR5cGVSZWdpc3RyeTo6
aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlKHR5cGUpCi0gICAgICAgICAgICB8fCBNSU1FVHlwZVJl
Z2lzdHJ5Ojppc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGUodHlwZSkKLSAgICAgICAgICAgIHx8
IE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkTWVkaWFNSU1FVHlwZSh0eXBlKQorICAgIHJl
dHVybiAoTUlNRVR5cGVSZWdpc3RyeTo6Y2FuU2hvd01JTUVUeXBlKHR5cGUpCiAgICAgICAgICAg
ICB8fCBQbHVnaW5EYXRhYmFzZTo6aW5zdGFsbGVkUGx1Z2lucygpLT5pc01JTUVUeXBlUmVnaXN0
ZXJlZCh0eXBlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4ZjVhNmZhLi40YTNiMGVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDktMjUgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1p
a2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgQ29kZSBpbnNpZGUgRnJhbWVM
b2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxlbWVudGF0aW9ucyBjYW4gYmUgc2hh
cmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRlZCBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5
OjpjYW5TaG93TUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2VkCisgICAgICAgIGluc2lkZSBXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKCkgYW5kIFdLQnVuZGxlUGFnZUNhblNo
b3dNSU1FVHlwZSgpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6CisgICAg
ICAgIChXS0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5cGUpOgorCiAyMDEyLTA5LTI2ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IFhQQ1NlcnZpY2VzIHN5bWxpbmsg
dG8gbm90IGJlIHRvIGFuIGFic29sdXRlIHBhdGgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKaW5kZXggMDViMjFiNy4uMzc2N2IyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTc0OCwxOCArNzQ4LDkgQEAgU3RyaW5nIFdl
YlBhZ2VQcm94eTo6Y29tbWl0dGVkVVJMKCkgY29uc3QKIAogYm9vbCBXZWJQYWdlUHJveHk6OmNh
blNob3dNSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogewotICAgIGlmIChN
SU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGUobWltZVR5cGUpKQor
ICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUobWltZVR5cGUpKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRl
ZEltYWdlTUlNRVR5cGUobWltZVR5cGUpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlm
IChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUobWltZVR5cGUpKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChtaW1lVHlwZS5zdGFydHNXaXRoKCJ0ZXh0
LyIsIGZhbHNlKSkKLSAgICAgICAgcmV0dXJuICFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Vuc3VwcG9y
dGVkVGV4dE1JTUVUeXBlKG1pbWVUeXBlKTsKLQogICAgIFN0cmluZyBuZXdNaW1lVHlwZSA9IG1p
bWVUeXBlOwogICAgIFBsdWdpbk1vZHVsZUluZm8gcGx1Z2luID0gbV9wcm9jZXNzLT5jb250ZXh0
KCktPnBsdWdpbkluZm9TdG9yZSgpLmZpbmRQbHVnaW4obmV3TWltZVR5cGUsIEtVUkwoKSk7CiAg
ICAgaWYgKCFwbHVnaW4ucGF0aC5pc051bGwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNw
cAppbmRleCAxNTA4OGU3Li5iNTZkZTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3Bw
CkBAIC00MjMsMjEgKzQyMyw3IEBAIHZvaWQgV0tCdW5kbGVQYWdlQ29uZmlybUNvbXBvc2l0aW9u
V2l0aFRleHQoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVmCiAKIGJvb2wgV0tC
dW5kbGVQYWdlQ2FuU2hvd01JTUVUeXBlKFdLQnVuZGxlUGFnZVJlZiwgV0tTdHJpbmdSZWYgbWlt
ZVR5cGVSZWYpCiB7Ci0gICAgdXNpbmcgV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTsKLQogICAg
IGNvbnN0IFdURjo6U3RyaW5nIG1pbWVUeXBlID0gdG9JbXBsKG1pbWVUeXBlUmVmKS0+c3RyaW5n
KCk7CiAKLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVU
eXBlKG1pbWVUeXBlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoTUlNRVR5cGVS
ZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlKG1pbWVUeXBlKSkKLSAgICAgICAgcmV0
dXJuIHRydWU7Ci0KLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRNZWRpYU1J
TUVUeXBlKG1pbWVUeXBlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAobWltZVR5
cGUuc3RhcnRzV2l0aCgidGV4dC8iLCBmYWxzZSkpCi0gICAgICAgIHJldHVybiAhTUlNRVR5cGVS
ZWdpc3RyeTo6aXNVbnN1cHBvcnRlZFRleHRNSU1FVHlwZShtaW1lVHlwZSk7Ci0KLSAgICByZXR1
cm4gZmFsc2U7CisgICAgcmV0dXJuIFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dN
SU1FVHlwZShtaW1lVHlwZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165980</attachid>
            <date>2012-09-27 05:34:22 -0700</date>
            <delta_ts>2012-09-28 11:16:20 -0700</delta_ts>
            <desc>patch v5</desc>
            <filename>bug97547_v5</filename>
            <type>text/plain</type>
            <size>15502</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDk2ZjIyZGQ5ZTZhZmQxNjIzYzg1YmQ3YTE0ZjFlOGU4NzZhMjA5ZjUKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
VGh1IFNlcCAyNyAxMTo0Njo0NiAyMDEyICswMzAwCgogICAgYnVnOTc1NDcKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMWU0ZTYwZi4uNjRiMWYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5
LTI1ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgor
CisgICAgICAgIENvZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUo
KSBpbXBsZW1lbnRhdGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQgV0sgcG9ydHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTQ3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgTUlN
RVR5cGVSZWdpc3RyeTo6Y2FuU2hvd01JTUVUeXBlKCkgZnVuY3Rpb24gd2hpY2ggc2hvdWxkIHRv
IGJlIHVzZWQKKyAgICAgICAgdG8gZGV0ZWN0IHdoZXRoZXIgYSBnaXZlbiBNSU1FIHR5cGUgY2Fu
IGJlIHNob3duIGluIGEgcGFnZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIE5vIG5ldyBmdW5j
dGlvbmFsaXR5LgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEFkZGVkIE1JTUVUeXBlUmVn
aXN0cnk6OmNhblNob3dNSU1FVHlwZSgpLiBSZW1vdmVkIE1JTUVUeXBlUmVnaXN0cnkgZnVuY3Rp
b25zIHRoYXQgbm8gbG9uZ2VyIG5lZWQgdG8gYmUgZXhwb3J0ZWQuCisgICAgICAgICogcGxhdGZv
cm0vTUlNRVR5cGVSZWdpc3RyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lz
dHJ5OjpjYW5TaG93TUlNRVR5cGUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxh
dGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oOgorICAgICAgICAoTUlNRVR5cGVSZWdpc3RyeSk6CisK
IDIwMTItMDktMjcgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI5NjMzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpp
bmRleCBkMTU4ZmMwLi5mYjE3NjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNDExLDEwICs0
MTEsOSBAQCBfX1pON1dlYkNvcmUxNkxlZ2FjeVdlYkFyY2hpdmU2Y3JlYXRlRVBOU180Tm9kZUVQ
TlNfMTFGcmFtZUZpbHRlckUKIF9fWk43V2ViQ29yZTE2TGVnYWN5V2ViQXJjaGl2ZTZjcmVhdGVF
UE5TXzVGcmFtZUUKIF9fWk43V2ViQ29yZTE2TGVnYWN5V2ViQXJjaGl2ZTZjcmVhdGVFUE5TXzVS
YW5nZUUKIF9fWk43V2ViQ29yZTE2TGVnYWN5V2ViQXJjaGl2ZTZjcmVhdGVFdgorX19aTjdXZWJD
b3JlMTZNSU1FVHlwZVJlZ2lzdHJ5MTVjYW5TaG93TUlNRVR5cGVFUktOM1dURjZTdHJpbmdFCiBf
X1pON1dlYkNvcmUxNk1JTUVUeXBlUmVnaXN0cnkyM2dldE1JTUVUeXBlRm9yRXh0ZW5zaW9uRVJL
TjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTZNSU1FVHlwZVJlZ2lzdHJ5MjRpc1N1cHBvcnRl
ZEltYWdlTUlNRVR5cGVFUktOM1dURjZTdHJpbmdFCi1fX1pON1dlYkNvcmUxNk1JTUVUeXBlUmVn
aXN0cnkyNGlzU3VwcG9ydGVkTWVkaWFNSU1FVHlwZUVSS04zV1RGNlN0cmluZ0UKLV9fWk43V2Vi
Q29yZTE2TUlNRVR5cGVSZWdpc3RyeTI1aXNVbnN1cHBvcnRlZFRleHRNSU1FVHlwZUVSS04zV1RG
NlN0cmluZ0UKIF9fWk43V2ViQ29yZTE2TUlNRVR5cGVSZWdpc3RyeTI2Z2V0U3VwcG9ydGVkSW1h
Z2VNSU1FVHlwZXNFdgogX19aTjdXZWJDb3JlMTZNSU1FVHlwZVJlZ2lzdHJ5MjdnZXRVbnN1cHBv
cnRlZFRleHRNSU1FVHlwZXNFdgogX19aTjdXZWJDb3JlMTZNSU1FVHlwZVJlZ2lzdHJ5Mjdpc1N1
cHBvcnRlZE5vbkltYWdlTUlNRVR5cGVFUktOM1dURjZTdHJpbmdFCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCmluZGV4IDA2MjYxNzAuLmMxODhjZDggMTAw
NzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCkBAIC01Nzks
NiArNTc5LDE3IEBAIGJvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNKYXZhQXBwbGV0TUlNRVR5cGUo
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKICAgICAgICAgfHwgbWltZVR5cGUuc3RhcnRzV2l0aCgi
YXBwbGljYXRpb24veC1qYXZhLXZtIiwgZmFsc2UpOwogfQogCitib29sIE1JTUVUeXBlUmVnaXN0
cnk6OmNhblNob3dNSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIGlmIChp
c1N1cHBvcnRlZEltYWdlTUlNRVR5cGUobWltZVR5cGUpIHx8IGlzU3VwcG9ydGVkTm9uSW1hZ2VN
SU1FVHlwZShtaW1lVHlwZSkgfHwgaXNTdXBwb3J0ZWRNZWRpYU1JTUVUeXBlKG1pbWVUeXBlKSkK
KyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAobWltZVR5cGUuc3RhcnRzV2l0aCgidGV4
dC8iLCBmYWxzZSkpCisgICAgICAgIHJldHVybiAhTUlNRVR5cGVSZWdpc3RyeTo6aXNVbnN1cHBv
cnRlZFRleHRNSU1FVHlwZShtaW1lVHlwZSk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIEhh
c2hTZXQ8U3RyaW5nPiYgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0U3VwcG9ydGVkSW1hZ2VNSU1FVHlw
ZXMoKQogewogICAgIGlmICghc3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKaW5kZXggYWI4YjdkZS4uNTYxMmI5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaApAQCAtNzgsNiArNzgs
MTEgQEAgcHVibGljOgogICAgIC8vIGJyb3dzZXIgKGUuZy4gYSBRdCBQbHVnaW4pLgogICAgIHN0
YXRpYyBib29sIGlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVU
eXBlKTsKIAorICAgIC8vIENoZWNrIHRvIHNlZSBpZiBhIG1pbWUgdHlwZSBpcyBzdWl0YWJsZSBm
b3IgYmVpbmcgc2hvd24gaW5zaWRlIGEgcGFnZS4KKyAgICAvLyBSZXR1cm5zIHRydWUgaWYgYW55
IG9mIGlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSgpLCBpc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5
cGUoKSwgaXNTdXBwb3J0ZWRNZWRpYU1JTUVUeXBlKCkgcmV0dXJucyB0cnVlCisgICAgLy8gb3Ig
aWYgZ2l2ZW4gbWltZSB0eXBlIGJlZ2lucyB3aXRoICJ0ZXh0LyIgYW5kIGlzVW5zdXBwb3J0ZWRU
ZXh0TUlNRVR5cGUoKSByZXR1cm5zIGZhbHNlLgorICAgIHN0YXRpYyBib29sIGNhblNob3dNSU1F
VHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKKwogICAgIHN0YXRpYyBIYXNoU2V0PFN0cmlu
Zz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCk7CiAgICAgc3RhdGljIEhhc2hTZXQ8U3Ry
aW5nPiYgZ2V0U3VwcG9ydGVkSW1hZ2VSZXNvdXJjZU1JTUVUeXBlcygpOwogICAgIHN0YXRpYyBI
YXNoU2V0PFN0cmluZz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmcoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IGIxMGQ2YTkuLmRlMzM3ZTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA5LTI1ICBN
aWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAg
ICAgIENvZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUoKSBpbXBs
ZW1lbnRhdGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQgV0sgcG9ydHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTQ3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3bHkgYWRkZWQgV2Vi
Q29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Y2FuU2hvd01JTUVUeXBlKCkgZnVuY3Rpb24gaXMgdXNl
ZAorICAgICAgICBpbnNpZGUgV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5Ojpj
YW5TaG93TUlNRVR5cGUoKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVu
dEJsYWNrQmVycnk6OmNhblNob3dNSU1FVHlwZSk6CisKIDIwMTItMDktMjYgIEpha29iIFBldHNv
dml0cyAgPGpwZXRzb3ZpdHNAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gUmVtb3Zl
IGJsaXRDb250ZW50cygpIGluIGZhdm9yIG9mIGJsaXRWaXNpYmxlQ29udGVudHMoKS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKaW5kZXggNjBmNjcyMy4uMzU1
ZWRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKQEAg
LTQ4Myw4ICs0ODMsOCBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6Y2FuU2hv
d01JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGVJbikgY29ucwogICAgIFN0cmluZyBtaW1l
VHlwZSA9IE1JTUVUeXBlUmVnaXN0cnk6OmdldE5vcm1hbGl6ZWRNSU1FVHlwZShtaW1lVHlwZUlu
KTsKIAogICAgIC8vIEZJWE1FOiBTZWVtcyBubyBvdGhlciBwb3J0IGNoZWNrcyBlbXB0eSBNSU1F
IHR5cGUgaW4gdGhpcyBmdW5jdGlvbi4gU2hvdWxkIHdlIGRvIHRoYXQ/Ci0gICAgcmV0dXJuIE1J
TUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZShtaW1lVHlwZSkgfHwgTUlN
RVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKG1pbWVUeXBlKQotICAg
ICAgICB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUobWltZVR5
cGUpIHx8IFdlYlNldHRpbmdzOjppc1N1cHBvcnRlZE9iamVjdE1JTUVUeXBlKG1pbWVUeXBlKQor
ICAgIHJldHVybiBNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUobWltZVR5cGUpCisg
ICAgICAgIHx8IFdlYlNldHRpbmdzOjppc1N1cHBvcnRlZE9iamVjdE1JTUVUeXBlKG1pbWVUeXBl
KQogICAgICAgICB8fCAobWltZVR5cGUgPT0gImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNo
Iik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBkMmFlYTM2Li4xYjUwOWMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMjUgIE1pa2hhaWwgUG96ZG55YWtvdiAg
PG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgQ29kZSBpbnNpZGUgRnJh
bWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxlbWVudGF0aW9ucyBjYW4gYmUg
c2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBOZXdseSBhZGRlZCBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lz
dHJ5OjpjYW5TaG93TUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2VkCisgICAgICAgIGluc2lkZSBX
ZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6Y2FuU2hvd01JTUVUeXBlKCkuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6Y2FuU2hvd01JTUVUeXBlKToKKwogMjAxMi0w
OS0yNyAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAg
ICAgICAgIFtFRkxdIE5vIHdheSB0byBleGl0IHZpZGVvIGZ1bGxzY3JlZW4gbW9kZSBvbmNlIGVu
dGVyZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50RWZsLmNwcAppbmRleCA0MTBiNDI0Li5lMDMyN2UxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRFZmwuY3BwCkBAIC03MjAsOSArNzIwLDcgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudEVmbDo6
Y2FuU2hvd01JTUVUeXBlQXNIVE1MKGNvbnN0IFN0cmluZyYgLypNSU1FVHlwZSovKSBjb24KIAog
Ym9vbCBGcmFtZUxvYWRlckNsaWVudEVmbDo6Y2FuU2hvd01JTUVUeXBlKGNvbnN0IFN0cmluZyYg
TUlNRVR5cGUpIGNvbnN0CiB7Ci0gICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVk
SW1hZ2VNSU1FVHlwZShNSU1FVHlwZSkKLSAgICAgICAgfHwgTUlNRVR5cGVSZWdpc3RyeTo6aXNT
dXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKE1JTUVUeXBlKQotICAgICAgICB8fCBNSU1FVHlwZVJl
Z2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUoTUlNRVR5cGUpKQorICAgIGlmIChNSU1F
VHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUoTUlNRVR5cGUpKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAogI2lmIDAgLy8gUGx1Z2luRGF0YWJhc2UgaXMgZGlzYWJsZWQgdW50aWwgd2UgaGF2
ZSBQbHVnaW4gc3lzdGVtIGRvbmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggM2M2ZGQyNy4uNzVmZDVj
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA5LTI1ICBNaWtoYWls
IFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIENv
ZGUgaW5zaWRlIEZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUoKSBpbXBsZW1lbnRh
dGlvbnMgY2FuIGJlIHNoYXJlZCBhbW9uZyBkaWZmZXJlbnQgV0sgcG9ydHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTQ3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3bHkgYWRkZWQgV2ViQ29yZTo6
TUlNRVR5cGVSZWdpc3RyeTo6Y2FuU2hvd01JTUVUeXBlKCkgZnVuY3Rpb24gaXMgdXNlZAorICAg
ICAgICBpbnNpZGUgV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudDo6Y2FuU2hvd01JTUVUeXBlKCku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUpOgorCiAy
MDEyLTA5LTI3ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29t
PgogCiAgICAgICAgIFVuaWZ5IGV2ZW50IGhhbmRsaW5nIG9mIG1pZGRsZSBtb3VzZSBidXR0b24u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudEd0ay5jcHAKaW5kZXggZDM2M2ZhZi4uMDg1ZjQxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3Rr
LmNwcApAQCAtODk3LDkgKzg5Nyw3IEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dN
SU1FVHlwZUFzSFRNTChjb25zdCBTdHJpbmcmIE1JTUVUeXBlKSBjb25zdAogCiBib29sIEZyYW1l
TG9hZGVyQ2xpZW50OjpjYW5TaG93TUlNRVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAog
ewotICAgIHJldHVybiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBl
KHR5cGUpCi0gICAgICAgICAgICB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE5vbklt
YWdlTUlNRVR5cGUodHlwZSkKLSAgICAgICAgICAgIHx8IE1JTUVUeXBlUmVnaXN0cnk6OmlzU3Vw
cG9ydGVkTWVkaWFNSU1FVHlwZSh0eXBlKQorICAgIHJldHVybiAoTUlNRVR5cGVSZWdpc3RyeTo6
Y2FuU2hvd01JTUVUeXBlKHR5cGUpCiAgICAgICAgICAgICB8fCBQbHVnaW5EYXRhYmFzZTo6aW5z
dGFsbGVkUGx1Z2lucygpLT5pc01JTUVUeXBlUmVnaXN0ZXJlZCh0eXBlKSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFu
Z2VMb2cKaW5kZXggZTc0NTk0Mi4uYTMzNTBkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAxMi0wOS0yNSAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292
QGludGVsLmNvbT4KKworICAgICAgICBDb2RlIGluc2lkZSBGcmFtZUxvYWRlckNsaWVudDo6Y2Fu
U2hvd01JTUVUeXBlKCkgaW1wbGVtZW50YXRpb25zIGNhbiBiZSBzaGFyZWQgYW1vbmcgZGlmZmVy
ZW50IFdLIHBvcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05NzU0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5ld2x5IGFkZGVkIFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dNSU1FVHlw
ZSgpIGZ1bmN0aW9uIGlzIHVzZWQKKyAgICAgICAgaW5zaWRlIFdlYkNvcmU6OkZyYW1lTG9hZGVy
Q2xpZW50UXQ6OmNhblNob3dNSU1FVHlwZSgpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNs
aWVudFF0OjpjYW5TaG93TUlNRVR5cGUpOgorCiAyMDEyLTA5LTI3ICBBbGxhbiBTYW5kZmVsZCBK
ZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCiAgICAgICAgIFVuaWZ5IGV2ZW50IGhh
bmRsaW5nIG9mIG1pZGRsZSBtb3VzZSBidXR0b24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAppbmRleCAzMzIwZWE3
Li42NjAwYWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKQEAgLTYzMCwxMyArNjMwLDcgQEAgYm9vbCBGcmFt
ZUxvYWRlckNsaWVudFF0OjpjYW5TaG93TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBNSU1FVHlwZSkg
Y29uc3QKIHsKICAgICBTdHJpbmcgdHlwZSA9IE1JTUVUeXBlOwogICAgIHR5cGUubWFrZUxvd2Vy
KCk7Ci0gICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSh0
eXBlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6
aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKHR5cGUpKQotICAgICAgICByZXR1cm4gdHJ1ZTsK
LQotICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUodHlw
ZSkpCisgICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dNSU1FVHlwZSh0eXBlKSkKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBpZiAobV9mcmFtZSAmJiBtX2ZyYW1lLT5zZXR0aW5n
cygpICAmJiBtX2ZyYW1lLT5zZXR0aW5ncygpLT5hcmVQbHVnaW5zRW5hYmxlZCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2Uv
Q2hhbmdlTG9nCmluZGV4IGFhNmJhZTkuLjExOGUyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMjUgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwu
cG96ZG55YWtvdkBpbnRlbC5jb20+CisKKyAgICAgICAgQ29kZSBpbnNpZGUgRnJhbWVMb2FkZXJD
bGllbnQ6OmNhblNob3dNSU1FVHlwZSgpIGltcGxlbWVudGF0aW9ucyBjYW4gYmUgc2hhcmVkIGFt
b25nIGRpZmZlcmVudCBXSyBwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTc1NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBOZXdseSBhZGRlZCBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5T
aG93TUlNRVR5cGUoKSBmdW5jdGlvbiBpcyB1c2VkCisgICAgICAgIGluc2lkZSBXZWJLaXQ6OkZy
YW1lTG9hZGVyQ2xpZW50V2luQ0U6OmNhblNob3dNSU1FVHlwZSgpLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkZyYW1lTG9hZGVyQ2xpZW50V2luQ0U6OmNhblNob3dNSU1FVHlwZSk6CisKIDIwMTItMDktMjUg
IEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTM5NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW5jZS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5jcHAK
aW5kZXggNjNmZmY4Mi4uYWNiZDhlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V2luQ0UuY3BwCkBAIC00
MTQsOSArNDE0LDcgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudFdpbkNFOjpjYW5IYW5kbGVSZXF1
ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpIGMKIAogYm9vbCBGcmFtZUxvYWRl
ckNsaWVudFdpbkNFOjpjYW5TaG93TUlNRVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdAog
ewotICAgIHJldHVybiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBl
KHR5cGUpCi0gICAgICAgICAgICB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE5vbklt
YWdlTUlNRVR5cGUodHlwZSkKLSAgICAgICAgICAgIHx8IE1JTUVUeXBlUmVnaXN0cnk6OmlzU3Vw
cG9ydGVkTWVkaWFNSU1FVHlwZSh0eXBlKQorICAgIHJldHVybiAoTUlNRVR5cGVSZWdpc3RyeTo6
Y2FuU2hvd01JTUVUeXBlKHR5cGUpCiAgICAgICAgICAgICB8fCBQbHVnaW5EYXRhYmFzZTo6aW5z
dGFsbGVkUGx1Z2lucygpLT5pc01JTUVUeXBlUmVnaXN0ZXJlZCh0eXBlKSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBlMWQxYTNlLi5lYjdiMzE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTItMDktMjUgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5j
b20+CisKKyAgICAgICAgQ29kZSBpbnNpZGUgRnJhbWVMb2FkZXJDbGllbnQ6OmNhblNob3dNSU1F
VHlwZSgpIGltcGxlbWVudGF0aW9ucyBjYW4gYmUgc2hhcmVkIGFtb25nIGRpZmZlcmVudCBXSyBw
b3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc1
NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXds
eSBhZGRlZCBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpjYW5TaG93TUlNRVR5cGUoKSBmdW5j
dGlvbiBpcyB1c2VkCisgICAgICAgIGluc2lkZSBXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2FuU2hv
d01JTUVUeXBlKCkgYW5kIFdLQnVuZGxlUGFnZUNhblNob3dNSU1FVHlwZSgpLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6Y2FuU2hvd01JTUVUeXBlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VDYW5TaG93
TUlNRVR5cGUpOgorCiAyMDEyLTA5LTI3ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5q
ZW5zZW5AZGlnaWEuY29tPgogCiAgICAgICAgIFVuaWZ5IGV2ZW50IGhhbmRsaW5nIG9mIG1pZGRs
ZSBtb3VzZSBidXR0b24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CmluZGV4IDA1YjIxYjcuLjM3NjdiMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC03NDgsMTggKzc0OCw5IEBAIFN0cmluZyBXZWJQYWdlUHJveHk6OmNv
bW1pdHRlZFVSTCgpIGNvbnN0CiAKIGJvb2wgV2ViUGFnZVByb3h5OjpjYW5TaG93TUlNRVR5cGUo
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSkgY29uc3QKIHsKLSAgICBpZiAoTUlNRVR5cGVSZWdpc3Ry
eTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKG1pbWVUeXBlKSkKKyAgICBpZiAoTUlNRVR5
cGVSZWdpc3RyeTo6Y2FuU2hvd01JTUVUeXBlKG1pbWVUeXBlKSkKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBl
KG1pbWVUeXBlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoTUlNRVR5cGVSZWdp
c3RyeTo6aXNTdXBwb3J0ZWRNZWRpYU1JTUVUeXBlKG1pbWVUeXBlKSkKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0KLSAgICBpZiAobWltZVR5cGUuc3RhcnRzV2l0aCgidGV4dC8iLCBmYWxzZSkpCi0g
ICAgICAgIHJldHVybiAhTUlNRVR5cGVSZWdpc3RyeTo6aXNVbnN1cHBvcnRlZFRleHRNSU1FVHlw
ZShtaW1lVHlwZSk7Ci0KICAgICBTdHJpbmcgbmV3TWltZVR5cGUgPSBtaW1lVHlwZTsKICAgICBQ
bHVnaW5Nb2R1bGVJbmZvIHBsdWdpbiA9IG1fcHJvY2Vzcy0+Y29udGV4dCgpLT5wbHVnaW5JbmZv
U3RvcmUoKS5maW5kUGx1Z2luKG5ld01pbWVUeXBlLCBLVVJMKCkpOwogICAgIGlmICghcGx1Z2lu
LnBhdGguaXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKaW5kZXggZTE4YmQw
OC4uNTNkZGY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcApAQCAtNDIzLDIxICs0
MjMsNyBAQCB2b2lkIFdLQnVuZGxlUGFnZUNvbmZpcm1Db21wb3NpdGlvbldpdGhUZXh0KFdLQnVu
ZGxlUGFnZVJlZiBwYWdlUmVmLCBXS1N0cmluZ1JlZgogCiBib29sIFdLQnVuZGxlUGFnZUNhblNo
b3dNSU1FVHlwZShXS0J1bmRsZVBhZ2VSZWYsIFdLU3RyaW5nUmVmIG1pbWVUeXBlUmVmKQogewot
ICAgIHVzaW5nIFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk7Ci0KICAgICBjb25zdCBTdHJpbmcg
bWltZVR5cGUgPSB0b1dURlN0cmluZyhtaW1lVHlwZVJlZik7CiAKLSAgICBpZiAoTUlNRVR5cGVS
ZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlKG1pbWVUeXBlKSkKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFn
ZU1JTUVUeXBlKG1pbWVUeXBlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoTUlN
RVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRNZWRpYU1JTUVUeXBlKG1pbWVUeXBlKSkKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAobWltZVR5cGUuc3RhcnRzV2l0aCgidGV4dC8iLCBm
YWxzZSkpCi0gICAgICAgIHJldHVybiAhTUlNRVR5cGVSZWdpc3RyeTo6aXNVbnN1cHBvcnRlZFRl
eHRNSU1FVHlwZShtaW1lVHlwZSk7Ci0KLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIFdl
YkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dNSU1FVHlwZShtaW1lVHlwZSk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>