<?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>110382</bug_id>
          
          <creation_ts>2013-02-20 14:14:40 -0800</creation_ts>
          <short_desc>Stop hardcoding knowledge about blob protocol in ResourceHandle</short_desc>
          <delta_ts>2013-02-21 00:29:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>michaeln</cc>
    
    <cc>rego+ews</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>837747</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-02-20 14:14:40 -0800</bug_when>
    <thetext>We register protocols for asynchronous loading, but hardcode &quot;blob&quot; in synchronous code path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837898</commentid>
    <comment_count>1</comment_count>
      <attachid>189406</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-02-20 16:27:01 -0800</bug_when>
    <thetext>Created attachment 189406
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837900</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 16:28:34 -0800</bug_when>
    <thetext>Attachment 189406 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/platform/network/BlobRegistry.h&apos;, u&apos;Source/WebCore/platform/network/BlobRegistryImpl.cpp&apos;, u&apos;Source/WebCore/platform/network/BlobRegistryImpl.h&apos;, u&apos;Source/WebCore/platform/network/BlobResourceHandle.cpp&apos;, u&apos;Source/WebCore/platform/network/BlobResourceHandle.h&apos;, u&apos;Source/WebCore/platform/network/ResourceHandle.cpp&apos;, u&apos;Source/WebCore/platform/network/ResourceHandle.h&apos;, u&apos;Source/WebCore/platform/network/chromium/BlobRegistryProxy.h&apos;]&quot; exit_code: 1
Source/WebCore/platform/network/BlobResourceHandle.cpp:73:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837909</commentid>
    <comment_count>3</comment_count>
      <attachid>189406</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-20 16:33:28 -0800</bug_when>
    <thetext>Comment on attachment 189406
proposed patch

Attachment 189406 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16647628</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837919</commentid>
    <comment_count>4</comment_count>
      <attachid>189406</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-02-20 16:36:16 -0800</bug_when>
    <thetext>Comment on attachment 189406
proposed patch

Attachment 189406 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/16650628</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837921</commentid>
    <comment_count>5</comment_count>
      <attachid>189406</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-20 16:37:09 -0800</bug_when>
    <thetext>Comment on attachment 189406
proposed patch

Attachment 189406 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/16653619</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837928</commentid>
    <comment_count>6</comment_count>
      <attachid>189413</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-02-20 16:42:20 -0800</bug_when>
    <thetext>Created attachment 189413
with build fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837929</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 16:44:07 -0800</bug_when>
    <thetext>Attachment 189413 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/platform/network/BlobRegistry.h&apos;, u&apos;Source/WebCore/platform/network/BlobRegistryImpl.cpp&apos;, u&apos;Source/WebCore/platform/network/BlobRegistryImpl.h&apos;, u&apos;Source/WebCore/platform/network/BlobResourceHandle.cpp&apos;, u&apos;Source/WebCore/platform/network/BlobResourceHandle.h&apos;, u&apos;Source/WebCore/platform/network/ResourceHandle.cpp&apos;, u&apos;Source/WebCore/platform/network/ResourceHandle.h&apos;, u&apos;Source/WebCore/platform/network/chromium/BlobRegistryProxy.h&apos;]&quot; exit_code: 1
Source/WebCore/platform/network/BlobResourceHandle.cpp:73:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838188</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-02-21 00:29:32 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r143569&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189406</attachid>
            <date>2013-02-20 16:27:01 -0800</date>
            <delta_ts>2013-02-20 16:42:20 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>DecoupleBlobs.txt</filename>
            <type>text/plain</type>
            <size>14013</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzUwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDEzLTAyLTIwICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3AgaGFyZGNvZGluZyBr
bm93bGVkZ2UgYWJvdXQgYmxvYiBwcm90b2NvbCBpbiBSZXNvdXJjZUhhbmRsZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMzgyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JSZWdpc3RyeS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vQmxv
YlJlZ2lzdHJ5UHJveHkuaDoKKyAgICAgICAgUmVtb3ZlZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91
c2x5KCkuIENocm9taXVtIGRpZCBub3QgZXZlbiBpbXBsZW1lbnQgaXQsIGFuZAorICAgICAgICBj
cm9zcy1wbGF0Zm9ybSBjb2RlIGRvZXNuJ3QgbmVlZCBpdCBhbnkgbW9yZSBlaXRoZXIuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6IEEgZnVuY3Rpb24gdG8gbG9hZCBh
IGJsb2Igc3luY2hyb25vdXNseSwKKyAgICAgICAgc3VpdGFibGUgZm9yIGJlaW5nIGluIGEgUmVz
b3VyY2VIYW5kbGUgbWFwLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJCbG9iUmVzb3VyY2VI
YW5kbGVDb25zdHJ1Y3Rvcik6IFJlZ2lzdGVyIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkgdG9v
LgorICAgICAgICAoV2ViQ29yZTo6QmxvYlJlZ2lzdHJ5SW1wbDo6Y3JlYXRlUmVzb3VyY2VIYW5k
bGUpOiBEb24ndCBtYWtlIHBvbGljeSBkZWNpc2lvbnMgaGVyZSwKKyAgICAgICAgaXQncyBqdXN0
IGEgcmVnaXN0cnkuIE1vdmVkIGNvZGUgZm9yIGNoZWNraW5nIHJlcXVlc3QgbWV0aG9kIGRvd24g
dG8gQmxvYlJlc291cmNlSGFuZGxlLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9i
UmVnaXN0cnlJbXBsLmg6IFJlbW92ZWQgQmxvYlJlZ2lzdHJ5SW1wbDo6bG9hZFJlc291cmNlU3lu
Y2hyb25vdXNseSgpLgorICAgICAgICBBIHJlZ2lzdHJ5IHNob3VsZG4ndCBsb2FkIHJlc291cmNl
cywgYW5kIGl0IGFscmVhZHkgaGFzIGVub3VnaCBhY2Nlc3NvcnMgdG8gaW1wbGVtZW50CisgICAg
ICAgIHRoaXMgZXh0ZXJuYWxseS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQmxvYlJl
c291cmNlSGFuZGxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VI
YW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjpjcmVhdGVB
c3luYyk6IFJlbmFtZWQgZnJvbSBjcmVhdGUoKSwgdG8gbWFrZSBpdCBjbGVhcgorICAgICAgICB0
aGF0IGl0J3Mgbm90IE9LIHRvIGNhbGwgZnJvbSBzeW5jaHJvbm91cyBsb2FkZXIuIE1vdmVkIG1l
dGhvZCBjaGVjayBoZXJlLgorICAgICAgICAoV2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjps
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KTogTW92ZWQgbWV0aG9kIGNoZWNrIGhlcmUuCisgICAg
ICAgIFdlIHVzZWQgdG8gZmFsbCB0aHJvdWdoIHRvIE5TVVJMQ29ubmVjdGlvbiBiYXNlZCBsb2Fk
ZXIgd2hlbiBtZXRob2Qgd2FzIG5vdCBHRVQsCisgICAgICAgIHdoaWNoIG9mIGNvdXJzZSByZXN1
bHRlZCBpbiBhbiBlcnJvciBldmVudHVhbGx5LCBidXQgd2FzIGp1c3Qgd3JvbmcuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmJ1aWx0aW5SZXNvdXJjZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwKTogQWRkZWQgYSBt
YXAgZm9yIHN5bmNocm9ub3VzIGNhc2UuCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRs
ZTo6cmVnaXN0ZXJCdWlsdGluU3luY2hyb25vdXNMb2FkZXIpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KTogV2Ugbm8g
bG9uZ2VyIG5lZWQgdG8gaGFyZGNvZGUKKyAgICAgICAga25vd2xlZGdlIGFib3V0IGJsb2JSZWdp
c3RyeSBhbmQgYmxvYnMgaGVyZS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGUuaDogQWRkZWQgcmVnaXN0ZXJCdWlsdGluU3luY2hyb25vdXNMb2FkZXIoKS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VIYW5kbGUuaDogUmVt
b3ZlZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KCksCisgICAgICAgIHdoaWNoIHdhcyBub3Qg
aW1wbGVtZW50ZWQgZm9yIENocm9taXVtLgorCiAyMDEzLTAyLTIwICBTaGVyaWZmIEJvdCAgPHdl
YmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMTQzNDQxLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9i
UmVnaXN0cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JSZWdpc3RyeS5oCShyZXZpc2lvbiAxNDMzNTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeS5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw3ICs1OSw2
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IEtVUkwm
LCBjb25zdCBLVVJMJiBzcmNVUkwpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVy
QmxvYlVSTChjb25zdCBLVVJMJikgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBsb2FkUmVzb3VyY2VT
eW5jaHJvbm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291cmNlRXJyb3ImLCBSZXNv
dXJjZVJlc3BvbnNlJiwgVmVjdG9yPGNoYXI+JiBkYXRhKSA9IDA7CiAKIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIH5CbG9iUmVnaXN0cnkoKSB7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBsLmNwcAkocmV2aXNpb24gMTQz
MzU3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBs
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCkBAIC01OCwxMSArNTksMTggQEAgc3RhdGljIFBhc3NSZWZQdHI8UmVz
b3VyY2VIYW5kbGU+IGNyZWF0ZQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxCbG9iUmVnaXN0cnlJ
bXBsJj4oYmxvYlJlZ2lzdHJ5KCkpLmNyZWF0ZVJlc291cmNlSGFuZGxlKHJlcXVlc3QsIGNsaWVu
dCk7CiB9CiAKK3N0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2lu
Z0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRp
YWxzLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZl
Y3RvcjxjaGFyPiYgZGF0YSkKK3sKKyAgICBSZWZQdHI8QmxvYlN0b3JhZ2VEYXRhPiBibG9iRGF0
YSA9IHN0YXRpY19jYXN0PEJsb2JSZWdpc3RyeUltcGwmPihibG9iUmVnaXN0cnkoKSkuZ2V0Qmxv
YkRhdGFGcm9tVVJMKHJlcXVlc3QudXJsKCkpOworICAgIEJsb2JSZXNvdXJjZUhhbmRsZTo6bG9h
ZFJlc291cmNlU3luY2hyb25vdXNseShibG9iRGF0YSwgcmVxdWVzdCwgZXJyb3IsIHJlc3BvbnNl
LCBkYXRhKTsKK30KKwogc3RhdGljIHZvaWQgcmVnaXN0ZXJCbG9iUmVzb3VyY2VIYW5kbGVDb25z
dHJ1Y3RvcigpCiB7CiAgICAgc3RhdGljIGJvb2wgZGlkUmVnaXN0ZXIgPSBmYWxzZTsKICAgICBp
ZiAoIWRpZFJlZ2lzdGVyKSB7CiAgICAgICAgIFJlc291cmNlSGFuZGxlOjpyZWdpc3RlckJ1aWx0
aW5Db25zdHJ1Y3RvcigiYmxvYiIsIGNyZWF0ZVJlc291cmNlSGFuZGxlKTsKKyAgICAgICAgUmVz
b3VyY2VIYW5kbGU6OnJlZ2lzdGVyQnVpbHRpblN5bmNocm9ub3VzTG9hZGVyKCJibG9iIiwgbG9h
ZFJlc291cmNlU3luY2hyb25vdXNseSk7CiAgICAgICAgIGRpZFJlZ2lzdGVyID0gdHJ1ZTsKICAg
ICB9CiB9CkBAIC03NCwzNCArODIsMTYgQEAgc3RhdGljIHZvaWQgcmVnaXN0ZXJCbG9iUmVzb3Vy
Y2VIYW5kbGVDbwogfQogI2VuZGlmCiAKLWJvb2wgQmxvYlJlZ2lzdHJ5SW1wbDo6c2hvdWxkTG9h
ZFJlc291cmNlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkgY29uc3QKLXsKLSAgICAv
LyBJZiB0aGUgcmVzb3VyY2UgaXMgbm90IGZldGNoZWQgdXNpbmcgdGhlIEdFVCBtZXRob2QsIGJh
aWwgb3V0LgotICAgIGlmICghZXF1YWxJZ25vcmluZ0Nhc2UocmVxdWVzdC5odHRwTWV0aG9kKCks
ICJHRVQiKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
IFBhc3NSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IEJsb2JSZWdpc3RyeUltcGw6OmNyZWF0ZVJlc291
cmNlSGFuZGxlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVD
bGllbnQqIGNsaWVudCkKIHsKLSAgICBpZiAoIXNob3VsZExvYWRSZXNvdXJjZShyZXF1ZXN0KSkK
LSAgICAgICAgcmV0dXJuIDA7CisgICAgUmVmUHRyPEJsb2JSZXNvdXJjZUhhbmRsZT4gaGFuZGxl
ID0gQmxvYlJlc291cmNlSGFuZGxlOjpjcmVhdGVBc3luYyhtX2Jsb2JzLmdldChyZXF1ZXN0LnVy
bCgpLnN0cmluZygpKSwgcmVxdWVzdCwgY2xpZW50KTsKKyAgICBpZiAoIWhhbmRsZSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBSZWZQdHI8QmxvYlJlc291cmNlSGFuZGxlPiBoYW5k
bGUgPSBCbG9iUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShtX2Jsb2JzLmdldChyZXF1ZXN0LnVybCgp
LnN0cmluZygpKSwgcmVxdWVzdCwgY2xpZW50KTsKICAgICBoYW5kbGUtPnN0YXJ0KCk7CiAgICAg
cmV0dXJuIGhhbmRsZS5yZWxlYXNlKCk7CiB9CiAKLWJvb2wgQmxvYlJlZ2lzdHJ5SW1wbDo6bG9h
ZFJlc291cmNlU3luY2hyb25vdXNseShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJl
c291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPGNo
YXI+JiBkYXRhKQotewotICAgIGlmICghc2hvdWxkTG9hZFJlc291cmNlKHJlcXVlc3QpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBCbG9iUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJj
ZVN5bmNocm9ub3VzbHkobV9ibG9icy5nZXQocmVxdWVzdC51cmwoKS5zdHJpbmcoKSksIHJlcXVl
c3QsIGVycm9yLCByZXNwb25zZSwgZGF0YSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQg
QmxvYlJlZ2lzdHJ5SW1wbDo6YXBwZW5kU3RvcmFnZUl0ZW1zKEJsb2JTdG9yYWdlRGF0YSogYmxv
YlN0b3JhZ2VEYXRhLCBjb25zdCBCbG9iRGF0YUl0ZW1MaXN0JiBpdGVtcykKIHsKICAgICBmb3Ig
KEJsb2JEYXRhSXRlbUxpc3Q6OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBpdGVtcy5iZWdpbigpOyBp
dGVyICE9IGl0ZW1zLmVuZCgpOyArK2l0ZXIpIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5oCShyZXZpc2lvbiAxNDMzNTcp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuaAko
d29ya2luZyBjb3B5KQpAQCAtNTcsMTQgKzU3LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IEtVUkwmLCBQYXNzT3duUHRyPEJsb2JEYXRhPik7CiAg
ICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBLVVJMJiwgY29uc3QgS1VSTCYg
c3JjVVJMKTsKICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckJsb2JVUkwoY29uc3QgS1VSTCYp
OwotICAgIHZpcnR1YWwgYm9vbCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPGNo
YXI+JiBkYXRhKTsKIAogICAgIFBhc3NSZWZQdHI8QmxvYlN0b3JhZ2VEYXRhPiBnZXRCbG9iRGF0
YUZyb21VUkwoY29uc3QgS1VSTCYpIGNvbnN0OwogCiAgICAgUGFzc1JlZlB0cjxSZXNvdXJjZUhh
bmRsZT4gY3JlYXRlUmVzb3VyY2VIYW5kbGUoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQqKTsKIAogcHJpdmF0ZToKLSAgICBib29sIHNob3VsZExvYWRSZXNvdXJj
ZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpIGNvbnN0OwogICAgIHZvaWQgYXBwZW5k
U3RvcmFnZUl0ZW1zKEJsb2JTdG9yYWdlRGF0YSosIGNvbnN0IEJsb2JEYXRhSXRlbUxpc3QmKTsK
ICAgICB2b2lkIGFwcGVuZFN0b3JhZ2VJdGVtcyhCbG9iU3RvcmFnZURhdGEqLCBjb25zdCBCbG9i
RGF0YUl0ZW1MaXN0JiwgbG9uZyBsb25nIG9mZnNldCwgbG9uZyBsb25nIGxlbmd0aCk7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNv
dXJjZUhhbmRsZS5jcHAJKHJldmlzaW9uIDE0MzM1NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzAs
NiArNzAsNyBAQCBlbnVtIHsKICAgICBzZWN1cml0eUVycm9yID0gMiwKICAgICByYW5nZUVycm9y
ID0gMywKICAgICBub3RSZWFkYWJsZUVycm9yID0gNCwKKyAgICBtZXRob2ROb3RBbGxvd2VkID0g
NQogfTsKIAogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwpAQCAtMTMyLDExICsxMzMsMjQgQEAgdm9p
ZCBCbG9iUmVzb3VyY2VTeW5jaHJvbm91c0xvYWRlcjo6ZGlkRgogLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLwogLy8gQmxvYlJlc291cmNlSGFuZGxlCiAKLS8vIHN0YXRpYworUGFzc1JlZlB0cjxCbG9i
UmVzb3VyY2VIYW5kbGU+IEJsb2JSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlQXN5bmMoUGFzc1JlZlB0
cjxCbG9iU3RvcmFnZURhdGE+IGJsb2JEYXRhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQpCit7CisgICAgLy8gRklYTUU6IFNob3Vs
ZCBwcm9iYWJseSBjYWxsIGRpZEZhaWwoKSBpbnN0ZWFkIG9mIGJsb2NraW5nIHRoZSBsb2FkIHdp
dGhvdXQgZXhwbGFuYXRpb24uCisgICAgaWYgKCFlcXVhbElnbm9yaW5nQ2FzZShyZXF1ZXN0Lmh0
dHBNZXRob2QoKSwgIkdFVCIpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVy
biBhZG9wdFJlZihuZXcgQmxvYlJlc291cmNlSGFuZGxlKGJsb2JEYXRhLCByZXF1ZXN0LCBjbGll
bnQsIHRydWUpKTsKK30KKwogdm9pZCBCbG9iUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkoUGFzc1JlZlB0cjxCbG9iU3RvcmFnZURhdGE+IGJsb2JEYXRhLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPGNoYXI+JiBkYXRhKQogeworICAgIGlmICghZXF1YWxJ
Z25vcmluZ0Nhc2UocmVxdWVzdC5odHRwTWV0aG9kKCksICJHRVQiKSkgeworICAgICAgICBlcnJv
ciA9IFJlc291cmNlRXJyb3Iod2ViS2l0QmxvYlJlc291cmNlRG9tYWluLCBtZXRob2ROb3RBbGxv
d2VkLCByZXNwb25zZS51cmwoKSwgIlJlcXVlc3QgbWV0aG9kIG51c3QgYmUgR0VUIik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKICAgICBCbG9iUmVzb3VyY2VTeW5jaHJvbm91c0xvYWRlciBs
b2FkZXIoZXJyb3IsIHJlc3BvbnNlLCBkYXRhKTsKLSAgICBSZWZQdHI8QmxvYlJlc291cmNlSGFu
ZGxlPiBoYW5kbGUgPSBCbG9iUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShibG9iRGF0YSwgcmVxdWVz
dCwgJmxvYWRlciwgZmFsc2UpOworICAgIFJlZlB0cjxCbG9iUmVzb3VyY2VIYW5kbGU+IGhhbmRs
ZSA9IGFkb3B0UmVmKG5ldyBCbG9iUmVzb3VyY2VIYW5kbGUoYmxvYkRhdGEsIHJlcXVlc3QsICZs
b2FkZXIsIGZhbHNlKSk7CiAgICAgaGFuZGxlLT5zdGFydCgpOwogfQogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmgJ
KHJldmlzaW9uIDE0MzM1NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxv
YlJlc291cmNlSGFuZGxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDEwICs1MCw3IEBAIHN0cnVj
dCBCbG9iRGF0YUl0ZW07CiAKIGNsYXNzIEJsb2JSZXNvdXJjZUhhbmRsZSA6IHB1YmxpYyBGaWxl
U3RyZWFtQ2xpZW50LCBwdWJsaWMgUmVzb3VyY2VIYW5kbGUgIHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxCbG9iUmVzb3VyY2VIYW5kbGU+IGNyZWF0ZShQYXNzUmVmUHRyPEJsb2JT
dG9yYWdlRGF0YT4gYmxvYkRhdGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVz
b3VyY2VIYW5kbGVDbGllbnQqIGNsaWVudCwgYm9vbCBhc3luYyA9IHRydWUpCi0gICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEJsb2JSZXNvdXJjZUhhbmRsZShibG9iRGF0YSwgcmVx
dWVzdCwgY2xpZW50LCBhc3luYykpOwotICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxCbG9i
UmVzb3VyY2VIYW5kbGU+IGNyZWF0ZUFzeW5jKFBhc3NSZWZQdHI8QmxvYlN0b3JhZ2VEYXRhPiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUmVzb3VyY2VIYW5kbGVDbGllbnQqKTsKIAogICAgIHN0
YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoUGFzc1JlZlB0cjxCbG9iU3RvcmFn
ZURhdGE+IGJsb2JEYXRhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNl
RXJyb3ImIGVycm9yLCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPGNoYXI+JiBk
YXRhKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhh
bmRsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5jcHAJKHJldmlzaW9uIDE0MzQ4NykKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2
ICs1MywxOSBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpyZWdpc3RlckJ1aWx0aW5Db25zCiAgICAg
YnVpbHRpblJlc291cmNlSGFuZGxlQ29uc3RydWN0b3JNYXAoKS5hZGQocHJvdG9jb2wsIGNvbnN0
cnVjdG9yKTsKIH0KIAordHlwZWRlZiBIYXNoTWFwPEF0b21pY1N0cmluZywgUmVzb3VyY2VIYW5k
bGU6OkJ1aWx0aW5TeW5jaHJvbm91c0xvYWRlcj4gQnVpbHRpblJlc291cmNlSGFuZGxlU3luY2hy
b25vdXNMb2FkZXJNYXA7CitzdGF0aWMgQnVpbHRpblJlc291cmNlSGFuZGxlU3luY2hyb25vdXNM
b2FkZXJNYXAmIGJ1aWx0aW5SZXNvdXJjZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwKCkKK3sK
KyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQnVp
bHRpblJlc291cmNlSGFuZGxlU3luY2hyb25vdXNMb2FkZXJNYXAsIG1hcCwgKCkpOworICAgIHJl
dHVybiBtYXA7Cit9CisKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OnJlZ2lzdGVyQnVpbHRpblN5bmNo
cm9ub3VzTG9hZGVyKGNvbnN0IEF0b21pY1N0cmluZyYgcHJvdG9jb2wsIFJlc291cmNlSGFuZGxl
OjpCdWlsdGluU3luY2hyb25vdXNMb2FkZXIgbG9hZGVyKQoreworICAgIGJ1aWx0aW5SZXNvdXJj
ZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwKCkuYWRkKHByb3RvY29sLCBsb2FkZXIpOworfQor
CiBSZXNvdXJjZUhhbmRsZTo6UmVzb3VyY2VIYW5kbGUoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRl
eHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQq
IGNsaWVudCwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZikKICAg
ICA6IGQoYWRvcHRQdHIobmV3IFJlc291cmNlSGFuZGxlSW50ZXJuYWwodGhpcywgY29udGV4dCwg
cmVxdWVzdCwgY2xpZW50LCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYgJiYgc2hv
dWxkQ29udGVudFNuaWZmVVJMKHJlcXVlc3QudXJsKCkpKSkpCiB7CkBAIC0xMTUsMTQgKzEyOCwx
MiBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpmaXJlRmFpbHVyZShUaW1lcjxSCiAKIHZvaWQgUmVz
b3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3RvcmVkQ3JlZGVudGlh
bHMgc3RvcmVkQ3JlZGVudGlhbHMsIFJlc291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSwgVmVjdG9yPGNoYXI+JiBkYXRhKQogewotI2lmIEVOQUJMRShCTE9CKQot
ICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgYSBtb3JlIGdlbmVyaWMgbWVjaGFuaXNtLCBs
aWtlIGJ1aWx0aW5SZXNvdXJjZUhhbmRsZUNvbnN0cnVjdG9yTWFwIHdlIGhhdmUgZm9yIGFzeW5j
IHJlcXVlc3RzLgotICAgIGlmIChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXMoImJsb2IiKSkKLSAg
ICAgICAgaWYgKGJsb2JSZWdpc3RyeSgpLmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkocmVxdWVz
dCwgZXJyb3IsIHJlc3BvbnNlLCBkYXRhKSkKLSAgICAgICAgICAgIHJldHVybjsKLSNlbmRpZgor
ICAgIEJ1aWx0aW5SZXNvdXJjZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwOjppdGVyYXRvciBw
cm90b2NvbE1hcEl0ZW0gPSBidWlsdGluUmVzb3VyY2VIYW5kbGVTeW5jaHJvbm91c0xvYWRlck1h
cCgpLmZpbmQocmVxdWVzdC51cmwoKS5wcm90b2NvbCgpKTsKIAotICAgIEFTU0VSVChidWlsdGlu
UmVzb3VyY2VIYW5kbGVDb25zdHJ1Y3Rvck1hcCgpLmZpbmQocmVxdWVzdC51cmwoKS5wcm90b2Nv
bCgpKSA9PSBidWlsdGluUmVzb3VyY2VIYW5kbGVDb25zdHJ1Y3Rvck1hcCgpLmVuZCgpKTsKKyAg
ICBpZiAocHJvdG9jb2xNYXBJdGVtICE9IGJ1aWx0aW5SZXNvdXJjZUhhbmRsZVN5bmNocm9ub3Vz
TG9hZGVyTWFwKCkuZW5kKCkpIHsKKyAgICAgICAgcHJvdG9jb2xNYXBJdGVtLT52YWx1ZShjb250
ZXh0LCByZXF1ZXN0LCBzdG9yZWRDcmVkZW50aWFscywgZXJyb3IsIHJlc3BvbnNlLCBkYXRhKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIHBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hy
b25vdXNseShjb250ZXh0LCByZXF1ZXN0LCBzdG9yZWRDcmVkZW50aWFscywgZXJyb3IsIHJlc3Bv
bnNlLCBkYXRhKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlSGFuZGxlLmgJKHJldmlzaW9uIDE0MzQ4NykKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjE1
LDYgKzIxNSw5IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIFBhc3NSZWZQdHI8UmVzb3VyY2VIYW5k
bGU+ICgqQnVpbHRpbkNvbnN0cnVjdG9yKShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQpOwogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVy
QnVpbHRpbkNvbnN0cnVjdG9yKGNvbnN0IEF0b21pY1N0cmluZyYgcHJvdG9jb2wsIEJ1aWx0aW5D
b25zdHJ1Y3Rvcik7CiAKKyAgICB0eXBlZGVmIHZvaWQgKCpCdWlsdGluU3luY2hyb25vdXNMb2Fk
ZXIpKE5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgU3RvcmVkQ3Jl
ZGVudGlhbHMsIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPGNoYXI+
JiBkYXRhKTsKKyAgICBzdGF0aWMgdm9pZCByZWdpc3RlckJ1aWx0aW5TeW5jaHJvbm91c0xvYWRl
cihjb25zdCBBdG9taWNTdHJpbmcmIHByb3RvY29sLCBCdWlsdGluU3luY2hyb25vdXNMb2FkZXIp
OworCiBwcm90ZWN0ZWQ6CiAgICAgUmVzb3VyY2VIYW5kbGUoTmV0d29ya2luZ0NvbnRleHQqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJz
TG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL0Jsb2JSZWdpc3RyeVByb3h5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9CbG9iUmVnaXN0
cnlQcm94eS5oCShyZXZpc2lvbiAxNDMzNTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2Nocm9taXVtL0Jsb2JSZWdpc3RyeVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3
LDggKzQ3LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckJsb2JVUkwoY29u
c3QgS1VSTCYsIGNvbnN0IEtVUkwmIHNyY1VSTCk7CiAgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0
ZXJCbG9iVVJMKGNvbnN0IEtVUkwmKTsKIAotICAgIHZpcnR1YWwgYm9vbCBsb2FkUmVzb3VyY2VT
eW5jaHJvbm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291cmNlRXJyb3ImLCBSZXNv
dXJjZVJlc3BvbnNlJiwgVmVjdG9yPGNoYXI+JiBkYXRhKSB7IHJldHVybiBmYWxzZTsgfQotCiBw
cml2YXRlOgogICAgIHZpcnR1YWwgfkJsb2JSZWdpc3RyeVByb3h5KCkgeyB9CiAK
</data>
<flag name="commit-queue"
          id="209790"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189413</attachid>
            <date>2013-02-20 16:42:20 -0800</date>
            <delta_ts>2013-02-20 16:45:50 -0800</delta_ts>
            <desc>with build fixes</desc>
            <filename>DecoupleBlobs.txt</filename>
            <type>text/plain</type>
            <size>13982</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzUwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDEzLTAyLTIwICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3AgaGFyZGNvZGluZyBr
bm93bGVkZ2UgYWJvdXQgYmxvYiBwcm90b2NvbCBpbiBSZXNvdXJjZUhhbmRsZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMzgyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JSZWdpc3RyeS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vQmxv
YlJlZ2lzdHJ5UHJveHkuaDoKKyAgICAgICAgUmVtb3ZlZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91
c2x5KCkuIENocm9taXVtIGRpZCBub3QgZXZlbiBpbXBsZW1lbnQgaXQsIGFuZAorICAgICAgICBj
cm9zcy1wbGF0Zm9ybSBjb2RlIGRvZXNuJ3QgbmVlZCBpdCBhbnkgbW9yZSBlaXRoZXIuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6IEEgZnVuY3Rpb24gdG8gbG9hZCBh
IGJsb2Igc3luY2hyb25vdXNseSwKKyAgICAgICAgc3VpdGFibGUgZm9yIGJlaW5nIGluIGEgUmVz
b3VyY2VIYW5kbGUgbWFwLgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJCbG9iUmVzb3VyY2VI
YW5kbGVDb25zdHJ1Y3Rvcik6IFJlZ2lzdGVyIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkgdG9v
LgorICAgICAgICAoV2ViQ29yZTo6QmxvYlJlZ2lzdHJ5SW1wbDo6Y3JlYXRlUmVzb3VyY2VIYW5k
bGUpOiBEb24ndCBtYWtlIHBvbGljeSBkZWNpc2lvbnMgaGVyZSwKKyAgICAgICAgaXQncyBqdXN0
IGEgcmVnaXN0cnkuIE1vdmVkIGNvZGUgZm9yIGNoZWNraW5nIHJlcXVlc3QgbWV0aG9kIGRvd24g
dG8gQmxvYlJlc291cmNlSGFuZGxlLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9i
UmVnaXN0cnlJbXBsLmg6IFJlbW92ZWQgQmxvYlJlZ2lzdHJ5SW1wbDo6bG9hZFJlc291cmNlU3lu
Y2hyb25vdXNseSgpLgorICAgICAgICBBIHJlZ2lzdHJ5IHNob3VsZG4ndCBsb2FkIHJlc291cmNl
cywgYW5kIGl0IGFscmVhZHkgaGFzIGVub3VnaCBhY2Nlc3NvcnMgdG8gaW1wbGVtZW50CisgICAg
ICAgIHRoaXMgZXh0ZXJuYWxseS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQmxvYlJl
c291cmNlSGFuZGxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VI
YW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjpjcmVhdGVB
c3luYyk6IFJlbmFtZWQgZnJvbSBjcmVhdGUoKSwgdG8gbWFrZSBpdCBjbGVhcgorICAgICAgICB0
aGF0IGl0J3Mgbm90IE9LIHRvIGNhbGwgZnJvbSBzeW5jaHJvbm91cyBsb2FkZXIuIE1vdmVkIG1l
dGhvZCBjaGVjayBoZXJlLgorICAgICAgICAoV2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjps
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KTogTW92ZWQgbWV0aG9kIGNoZWNrIGhlcmUuCisgICAg
ICAgIFdlIHVzZWQgdG8gZmFsbCB0aHJvdWdoIHRvIE5TVVJMQ29ubmVjdGlvbiBiYXNlZCBsb2Fk
ZXIgd2hlbiBtZXRob2Qgd2FzIG5vdCBHRVQsCisgICAgICAgIHdoaWNoIG9mIGNvdXJzZSByZXN1
bHRlZCBpbiBhbiBlcnJvciBldmVudHVhbGx5LCBidXQgd2FzIGp1c3Qgd3JvbmcuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmJ1aWx0aW5SZXNvdXJjZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwKTogQWRkZWQgYSBt
YXAgZm9yIHN5bmNocm9ub3VzIGNhc2UuCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRs
ZTo6cmVnaXN0ZXJCdWlsdGluU3luY2hyb25vdXNMb2FkZXIpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KTogV2Ugbm8g
bG9uZ2VyIG5lZWQgdG8gaGFyZGNvZGUKKyAgICAgICAga25vd2xlZGdlIGFib3V0IGJsb2JSZWdp
c3RyeSBhbmQgYmxvYnMgaGVyZS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGUuaDogQWRkZWQgcmVnaXN0ZXJCdWlsdGluU3luY2hyb25vdXNMb2FkZXIoKS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VIYW5kbGUuaDogUmVt
b3ZlZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KCksCisgICAgICAgIHdoaWNoIHdhcyBub3Qg
aW1wbGVtZW50ZWQgZm9yIENocm9taXVtLgorCiAyMDEzLTAyLTIwICBTaGVyaWZmIEJvdCAgPHdl
YmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMTQzNDQxLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9i
UmVnaXN0cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JSZWdpc3RyeS5oCShyZXZpc2lvbiAxNDMzNTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeS5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw3ICs1OSw2
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IEtVUkwm
LCBjb25zdCBLVVJMJiBzcmNVUkwpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVy
QmxvYlVSTChjb25zdCBLVVJMJikgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBsb2FkUmVzb3VyY2VT
eW5jaHJvbm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291cmNlRXJyb3ImLCBSZXNv
dXJjZVJlc3BvbnNlJiwgVmVjdG9yPGNoYXI+JiBkYXRhKSA9IDA7CiAKIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIH5CbG9iUmVnaXN0cnkoKSB7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBsLmNwcAkocmV2aXNpb24gMTQz
MzU3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBs
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCkBAIC01OCwxMSArNTksMTggQEAgc3RhdGljIFBhc3NSZWZQdHI8UmVz
b3VyY2VIYW5kbGU+IGNyZWF0ZQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxCbG9iUmVnaXN0cnlJ
bXBsJj4oYmxvYlJlZ2lzdHJ5KCkpLmNyZWF0ZVJlc291cmNlSGFuZGxlKHJlcXVlc3QsIGNsaWVu
dCk7CiB9CiAKK3N0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2lu
Z0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRp
YWxzLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZl
Y3RvcjxjaGFyPiYgZGF0YSkKK3sKKyAgICBSZWZQdHI8QmxvYlN0b3JhZ2VEYXRhPiBibG9iRGF0
YSA9IHN0YXRpY19jYXN0PEJsb2JSZWdpc3RyeUltcGwmPihibG9iUmVnaXN0cnkoKSkuZ2V0Qmxv
YkRhdGFGcm9tVVJMKHJlcXVlc3QudXJsKCkpOworICAgIEJsb2JSZXNvdXJjZUhhbmRsZTo6bG9h
ZFJlc291cmNlU3luY2hyb25vdXNseShibG9iRGF0YSwgcmVxdWVzdCwgZXJyb3IsIHJlc3BvbnNl
LCBkYXRhKTsKK30KKwogc3RhdGljIHZvaWQgcmVnaXN0ZXJCbG9iUmVzb3VyY2VIYW5kbGVDb25z
dHJ1Y3RvcigpCiB7CiAgICAgc3RhdGljIGJvb2wgZGlkUmVnaXN0ZXIgPSBmYWxzZTsKICAgICBp
ZiAoIWRpZFJlZ2lzdGVyKSB7CiAgICAgICAgIFJlc291cmNlSGFuZGxlOjpyZWdpc3RlckJ1aWx0
aW5Db25zdHJ1Y3RvcigiYmxvYiIsIGNyZWF0ZVJlc291cmNlSGFuZGxlKTsKKyAgICAgICAgUmVz
b3VyY2VIYW5kbGU6OnJlZ2lzdGVyQnVpbHRpblN5bmNocm9ub3VzTG9hZGVyKCJibG9iIiwgbG9h
ZFJlc291cmNlU3luY2hyb25vdXNseSk7CiAgICAgICAgIGRpZFJlZ2lzdGVyID0gdHJ1ZTsKICAg
ICB9CiB9CkBAIC03NCwzNCArODIsMTYgQEAgc3RhdGljIHZvaWQgcmVnaXN0ZXJCbG9iUmVzb3Vy
Y2VIYW5kbGVDbwogfQogI2VuZGlmCiAKLWJvb2wgQmxvYlJlZ2lzdHJ5SW1wbDo6c2hvdWxkTG9h
ZFJlc291cmNlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkgY29uc3QKLXsKLSAgICAv
LyBJZiB0aGUgcmVzb3VyY2UgaXMgbm90IGZldGNoZWQgdXNpbmcgdGhlIEdFVCBtZXRob2QsIGJh
aWwgb3V0LgotICAgIGlmICghZXF1YWxJZ25vcmluZ0Nhc2UocmVxdWVzdC5odHRwTWV0aG9kKCks
ICJHRVQiKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
IFBhc3NSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IEJsb2JSZWdpc3RyeUltcGw6OmNyZWF0ZVJlc291
cmNlSGFuZGxlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVD
bGllbnQqIGNsaWVudCkKIHsKLSAgICBpZiAoIXNob3VsZExvYWRSZXNvdXJjZShyZXF1ZXN0KSkK
KyAgICBSZWZQdHI8QmxvYlJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBCbG9iUmVzb3VyY2VIYW5k
bGU6OmNyZWF0ZUFzeW5jKG1fYmxvYnMuZ2V0KHJlcXVlc3QudXJsKCkuc3RyaW5nKCkpLCByZXF1
ZXN0LCBjbGllbnQpOworICAgIGlmICghaGFuZGxlKQogICAgICAgICByZXR1cm4gMDsKIAotICAg
IFJlZlB0cjxCbG9iUmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IEJsb2JSZXNvdXJjZUhhbmRsZTo6
Y3JlYXRlKG1fYmxvYnMuZ2V0KHJlcXVlc3QudXJsKCkuc3RyaW5nKCkpLCByZXF1ZXN0LCBjbGll
bnQpOwogICAgIGhhbmRsZS0+c3RhcnQoKTsKICAgICByZXR1cm4gaGFuZGxlLnJlbGVhc2UoKTsK
IH0KIAotYm9vbCBCbG9iUmVnaXN0cnlJbXBsOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8Y2hhcj4mIGRhdGEpCi17Ci0gICAgaWYgKCFz
aG91bGRMb2FkUmVzb3VyY2UocmVxdWVzdCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAg
IEJsb2JSZXNvdXJjZUhhbmRsZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShtX2Jsb2JzLmdl
dChyZXF1ZXN0LnVybCgpLnN0cmluZygpKSwgcmVxdWVzdCwgZXJyb3IsIHJlc3BvbnNlLCBkYXRh
KTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBCbG9iUmVnaXN0cnlJbXBsOjphcHBlbmRT
dG9yYWdlSXRlbXMoQmxvYlN0b3JhZ2VEYXRhKiBibG9iU3RvcmFnZURhdGEsIGNvbnN0IEJsb2JE
YXRhSXRlbUxpc3QmIGl0ZW1zKQogewogICAgIGZvciAoQmxvYkRhdGFJdGVtTGlzdDo6Y29uc3Rf
aXRlcmF0b3IgaXRlciA9IGl0ZW1zLmJlZ2luKCk7IGl0ZXIgIT0gaXRlbXMuZW5kKCk7ICsraXRl
cikgewpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJ
bXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9i
UmVnaXN0cnlJbXBsLmgJKHJldmlzaW9uIDE0MzM1NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NywxNCAr
NTcsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3Qg
S1VSTCYsIFBhc3NPd25QdHI8QmxvYkRhdGE+KTsKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJC
bG9iVVJMKGNvbnN0IEtVUkwmLCBjb25zdCBLVVJMJiBzcmNVUkwpOwogICAgIHZpcnR1YWwgdm9p
ZCB1bnJlZ2lzdGVyQmxvYlVSTChjb25zdCBLVVJMJik7Ci0gICAgdmlydHVhbCBib29sIGxvYWRS
ZXNvdXJjZVN5bmNocm9ub3VzbHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUmVzb3VyY2VFcnJv
ciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8Y2hhcj4mIGRhdGEpOwogCiAgICAgUGFzc1Jl
ZlB0cjxCbG9iU3RvcmFnZURhdGE+IGdldEJsb2JEYXRhRnJvbVVSTChjb25zdCBLVVJMJikgY29u
c3Q7CiAKICAgICBQYXNzUmVmUHRyPFJlc291cmNlSGFuZGxlPiBjcmVhdGVSZXNvdXJjZUhhbmRs
ZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCopOwogCiBwcml2
YXRlOgotICAgIGJvb2wgc2hvdWxkTG9hZFJlc291cmNlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCkgY29uc3Q7CiAgICAgdm9pZCBhcHBlbmRTdG9yYWdlSXRlbXMoQmxvYlN0b3JhZ2VE
YXRhKiwgY29uc3QgQmxvYkRhdGFJdGVtTGlzdCYpOwogICAgIHZvaWQgYXBwZW5kU3RvcmFnZUl0
ZW1zKEJsb2JTdG9yYWdlRGF0YSosIGNvbnN0IEJsb2JEYXRhSXRlbUxpc3QmLCBsb25nIGxvbmcg
b2Zmc2V0LCBsb25nIGxvbmcgbGVuZ3RoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcAkocmV2aXNpb24g
MTQzMzU3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VI
YW5kbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw2ICs3MCw3IEBAIGVudW0gewogICAgIHNl
Y3VyaXR5RXJyb3IgPSAyLAogICAgIHJhbmdlRXJyb3IgPSAzLAogICAgIG5vdFJlYWRhYmxlRXJy
b3IgPSA0LAorICAgIG1ldGhvZE5vdEFsbG93ZWQgPSA1CiB9OwogCiAvLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vCkBAIC0xMzIsMTEgKzEzMywyNCBAQCB2b2lkIEJsb2JSZXNvdXJjZVN5bmNocm9ub3Vz
TG9hZGVyOjpkaWRGCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAvLyBCbG9iUmVzb3VyY2VIYW5k
bGUKIAotLy8gc3RhdGljCitQYXNzUmVmUHRyPEJsb2JSZXNvdXJjZUhhbmRsZT4gQmxvYlJlc291
cmNlSGFuZGxlOjpjcmVhdGVBc3luYyhQYXNzUmVmUHRyPEJsb2JTdG9yYWdlRGF0YT4gYmxvYkRh
dGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQq
IGNsaWVudCkKK3sKKyAgICAvLyBGSVhNRTogU2hvdWxkIHByb2JhYmx5IGNhbGwgZGlkRmFpbCgp
IGluc3RlYWQgb2YgYmxvY2tpbmcgdGhlIGxvYWQgd2l0aG91dCBleHBsYW5hdGlvbi4KKyAgICBp
ZiAoIWVxdWFsSWdub3JpbmdDYXNlKHJlcXVlc3QuaHR0cE1ldGhvZCgpLCAiR0VUIikpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBCbG9iUmVzb3VyY2VIYW5k
bGUoYmxvYkRhdGEsIHJlcXVlc3QsIGNsaWVudCwgdHJ1ZSkpOworfQorCiB2b2lkIEJsb2JSZXNv
dXJjZUhhbmRsZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShQYXNzUmVmUHRyPEJsb2JTdG9y
YWdlRGF0YT4gYmxvYkRhdGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3Vy
Y2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8Y2hhcj4m
IGRhdGEpCiB7CisgICAgaWYgKCFlcXVhbElnbm9yaW5nQ2FzZShyZXF1ZXN0Lmh0dHBNZXRob2Qo
KSwgIkdFVCIpKSB7CisgICAgICAgIGVycm9yID0gUmVzb3VyY2VFcnJvcih3ZWJLaXRCbG9iUmVz
b3VyY2VEb21haW4sIG1ldGhvZE5vdEFsbG93ZWQsIHJlc3BvbnNlLnVybCgpLCAiUmVxdWVzdCBt
ZXRob2QgbnVzdCBiZSBHRVQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIEJsb2JS
ZXNvdXJjZVN5bmNocm9ub3VzTG9hZGVyIGxvYWRlcihlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwot
ICAgIFJlZlB0cjxCbG9iUmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IEJsb2JSZXNvdXJjZUhhbmRs
ZTo6Y3JlYXRlKGJsb2JEYXRhLCByZXF1ZXN0LCAmbG9hZGVyLCBmYWxzZSk7CisgICAgUmVmUHRy
PEJsb2JSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gYWRvcHRSZWYobmV3IEJsb2JSZXNvdXJjZUhh
bmRsZShibG9iRGF0YSwgcmVxdWVzdCwgJmxvYWRlciwgZmFsc2UpKTsKICAgICBoYW5kbGUtPnN0
YXJ0KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJl
c291cmNlSGFuZGxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuaAkocmV2aXNpb24gMTQzMzU3KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuaAkod29ya2luZyBjb3B5
KQpAQCAtNTAsMTAgKzUwLDcgQEAgc3RydWN0IEJsb2JEYXRhSXRlbTsKIAogY2xhc3MgQmxvYlJl
c291cmNlSGFuZGxlIDogcHVibGljIEZpbGVTdHJlYW1DbGllbnQsIHB1YmxpYyBSZXNvdXJjZUhh
bmRsZSAgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsb2JSZXNvdXJjZUhhbmRs
ZT4gY3JlYXRlKFBhc3NSZWZQdHI8QmxvYlN0b3JhZ2VEYXRhPiBibG9iRGF0YSwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50LCBib29s
IGFzeW5jID0gdHJ1ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQmxvYlJl
c291cmNlSGFuZGxlKGJsb2JEYXRhLCByZXF1ZXN0LCBjbGllbnQsIGFzeW5jKSk7Ci0gICAgfQor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsb2JSZXNvdXJjZUhhbmRsZT4gY3JlYXRlQXN5bmMoUGFz
c1JlZlB0cjxCbG9iU3RvcmFnZURhdGE+LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJj
ZUhhbmRsZUNsaWVudCopOwogCiAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25v
dXNseShQYXNzUmVmUHRyPEJsb2JTdG9yYWdlRGF0YT4gYmxvYkRhdGEsIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlLCBWZWN0b3I8Y2hhcj4mIGRhdGEpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcAkocmV2aXNpb24gMTQz
NDg3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDE5IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6
OnJlZ2lzdGVyQnVpbHRpbkNvbnMKICAgICBidWlsdGluUmVzb3VyY2VIYW5kbGVDb25zdHJ1Y3Rv
ck1hcCgpLmFkZChwcm90b2NvbCwgY29uc3RydWN0b3IpOwogfQogCit0eXBlZGVmIEhhc2hNYXA8
QXRvbWljU3RyaW5nLCBSZXNvdXJjZUhhbmRsZTo6QnVpbHRpblN5bmNocm9ub3VzTG9hZGVyPiBC
dWlsdGluUmVzb3VyY2VIYW5kbGVTeW5jaHJvbm91c0xvYWRlck1hcDsKK3N0YXRpYyBCdWlsdGlu
UmVzb3VyY2VIYW5kbGVTeW5jaHJvbm91c0xvYWRlck1hcCYgYnVpbHRpblJlc291cmNlSGFuZGxl
U3luY2hyb25vdXNMb2FkZXJNYXAoKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Cisg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChCdWlsdGluUmVzb3VyY2VIYW5kbGVTeW5jaHJvbm91c0xv
YWRlck1hcCwgbWFwLCAoKSk7CisgICAgcmV0dXJuIG1hcDsKK30KKwordm9pZCBSZXNvdXJjZUhh
bmRsZTo6cmVnaXN0ZXJCdWlsdGluU3luY2hyb25vdXNMb2FkZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBwcm90b2NvbCwgUmVzb3VyY2VIYW5kbGU6OkJ1aWx0aW5TeW5jaHJvbm91c0xvYWRlciBsb2Fk
ZXIpCit7CisgICAgYnVpbHRpblJlc291cmNlSGFuZGxlU3luY2hyb25vdXNMb2FkZXJNYXAoKS5h
ZGQocHJvdG9jb2wsIGxvYWRlcik7Cit9CisKIFJlc291cmNlSGFuZGxlOjpSZXNvdXJjZUhhbmRs
ZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJv
b2wgc2hvdWxkQ29udGVudFNuaWZmKQogICAgIDogZChhZG9wdFB0cihuZXcgUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbCh0aGlzLCBjb250ZXh0LCByZXF1ZXN0LCBjbGllbnQsIGRlZmVyc0xvYWRpbmcs
IHNob3VsZENvbnRlbnRTbmlmZiAmJiBzaG91bGRDb250ZW50U25pZmZVUkwocmVxdWVzdC51cmwo
KSkpKSkKIHsKQEAgLTExNSwxNCArMTI4LDEyIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZpcmVG
YWlsdXJlKFRpbWVyPFIKIAogdm9pZCBSZXNvdXJjZUhhbmRsZTo6bG9hZFJlc291cmNlU3luY2hy
b25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFscyBzdG9yZWRDcmVkZW50aWFscywgUmVzb3VyY2VF
cnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8Y2hhcj4mIGRh
dGEpCiB7Ci0jaWYgRU5BQkxFKEJMT0IpCi0gICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBh
IG1vcmUgZ2VuZXJpYyBtZWNoYW5pc20sIGxpa2UgYnVpbHRpblJlc291cmNlSGFuZGxlQ29uc3Ry
dWN0b3JNYXAgd2UgaGF2ZSBmb3IgYXN5bmMgcmVxdWVzdHMuCi0gICAgaWYgKHJlcXVlc3QudXJs
KCkucHJvdG9jb2xJcygiYmxvYiIpKQotICAgICAgICBpZiAoYmxvYlJlZ2lzdHJ5KCkubG9hZFJl
c291cmNlU3luY2hyb25vdXNseShyZXF1ZXN0LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpKQotICAg
ICAgICAgICAgcmV0dXJuOwotI2VuZGlmCisgICAgQnVpbHRpblJlc291cmNlSGFuZGxlU3luY2hy
b25vdXNMb2FkZXJNYXA6Oml0ZXJhdG9yIHByb3RvY29sTWFwSXRlbSA9IGJ1aWx0aW5SZXNvdXJj
ZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwKCkuZmluZChyZXF1ZXN0LnVybCgpLnByb3RvY29s
KCkpOwogCi0gICAgQVNTRVJUKGJ1aWx0aW5SZXNvdXJjZUhhbmRsZUNvbnN0cnVjdG9yTWFwKCku
ZmluZChyZXF1ZXN0LnVybCgpLnByb3RvY29sKCkpID09IGJ1aWx0aW5SZXNvdXJjZUhhbmRsZUNv
bnN0cnVjdG9yTWFwKCkuZW5kKCkpOworICAgIGlmIChwcm90b2NvbE1hcEl0ZW0gIT0gYnVpbHRp
blJlc291cmNlSGFuZGxlU3luY2hyb25vdXNMb2FkZXJNYXAoKS5lbmQoKSkgeworICAgICAgICBw
cm90b2NvbE1hcEl0ZW0tPnZhbHVlKGNvbnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxz
LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOworICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAg
cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGNvbnRleHQsIHJlcXVlc3QsIHN0b3Jl
ZENyZWRlbnRpYWxzLCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAkocmV2aXNpb24g
MTQzNDg3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTUsNiArMjE1LDkgQEAgcHVibGljOgogICAgIHR5cGVk
ZWYgUGFzc1JlZlB0cjxSZXNvdXJjZUhhbmRsZT4gKCpCdWlsdGluQ29uc3RydWN0b3IpKGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVudCk7
CiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJCdWlsdGluQ29uc3RydWN0b3IoY29uc3QgQXRvbWlj
U3RyaW5nJiBwcm90b2NvbCwgQnVpbHRpbkNvbnN0cnVjdG9yKTsKIAorICAgIHR5cGVkZWYgdm9p
ZCAoKkJ1aWx0aW5TeW5jaHJvbm91c0xvYWRlcikoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFscywgUmVzb3VyY2VFcnJvciYsIFJlc291
cmNlUmVzcG9uc2UmLCBWZWN0b3I8Y2hhcj4mIGRhdGEpOworICAgIHN0YXRpYyB2b2lkIHJlZ2lz
dGVyQnVpbHRpblN5bmNocm9ub3VzTG9hZGVyKGNvbnN0IEF0b21pY1N0cmluZyYgcHJvdG9jb2ws
IEJ1aWx0aW5TeW5jaHJvbm91c0xvYWRlcik7CisKIHByb3RlY3RlZDoKICAgICBSZXNvdXJjZUhh
bmRsZShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291cmNl
SGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlm
Zik7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vQmxv
YlJlZ2lzdHJ5UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2Nocm9taXVtL0Jsb2JSZWdpc3RyeVByb3h5LmgJKHJldmlzaW9uIDE0MzM1NykKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vQmxvYlJlZ2lzdHJ5UHJv
eHkuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsOCArNDcsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBLVVJMJiwgY29uc3QgS1VSTCYgc3JjVVJMKTsK
ICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckJsb2JVUkwoY29uc3QgS1VSTCYpOwogCi0gICAg
dmlydHVhbCBib29sIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8Y2hhcj4mIGRh
dGEpIHsgcmV0dXJuIGZhbHNlOyB9Ci0KIHByaXZhdGU6CiAgICAgdmlydHVhbCB+QmxvYlJlZ2lz
dHJ5UHJveHkoKSB7IH0KIAo=
</data>
<flag name="review"
          id="209796"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>