<?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>55977</bug_id>
          
          <creation_ts>2011-03-08 15:39:19 -0800</creation_ts>
          <short_desc>Refine CF/CFNet Distinctions for better code sharing</short_desc>
          <delta_ts>2011-03-08 16:03:00 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>364197</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2011-03-08 15:39:19 -0800</bug_when>
    <thetext>The WinCairo port uses CFLite, and can therefore use the CoreFoundation data types used throughout the Apple Windows port.  Some implementations in WebKit use CF and CFNETWORK interchangeably, which reduces the reusability of some of this code.

This change splits the WebKit2 &quot;WebProcess/Download&quot; logic up so that the WinCairo port can make use of the CF-based implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364201</commentid>
    <comment_count>1</comment_count>
      <attachid>85101</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2011-03-08 15:46:12 -0800</bug_when>
    <thetext>Created attachment 85101
Move CFNETWORK files to specific directory, share other files in CF directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364210</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2011-03-08 16:03:00 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/80602.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85101</attachid>
            <date>2011-03-08 15:46:12 -0800</date>
            <delta_ts>2011-03-08 15:49:02 -0800</delta_ts>
            <desc>Move CFNETWORK files to specific directory, share other files in CF directory.</desc>
            <filename>cfnet_refactor.patch</filename>
            <type>text/plain</type>
            <size>15523</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgwNTk5KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDMtMDggIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01NTk3NworICAgICAgICBSZWZpbmUgQ0YvQ0ZOZXQgZGlzdGluY3Rpb25zIGZvciBiZXR0
ZXIgY29kZSBzaGFyaW5nLgorICAgICAgICAxLiBSZW5hbWUgRG93bmxvYWRzL2NmL3dpbi9Eb3du
bG9hZENGTmV0V2luLmNwcCB0byBEb3dubG9hZENGV2luLmNwcAorICAgICAgICAgICBzaW5jZSBp
dCBkb2VzIG5vdCB1c2UgYW55IENGTkVUV09SSyBmZWF0dXJlcy4KKyAgICAgICAgMi4gQ3JlYXRl
IG5ldyBjZm5ldCBkaXJlY3RvcnkuCisgICAgICAgIDMuIE1vdmUgRG93bmxvYWRzL2NmL0Rvd25s
b2FkQ0ZOZXQuY3BwIHRvIERvd25sb2Fkcy9jZm5ldAorICAgICAgICA0LiBVcGRhdGUgcHJvamVj
dCBmaWxlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9Eb3dubG9hZHMvY2YvRG93bmxvYWRDRk5l
dC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9Eb3dubG9hZHMvY2Yvd2luL0Rv
d25sb2FkQ0ZOZXRXaW4uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvRG93bmxv
YWRzL2NmL3dpbi9Eb3dubG9hZENGV2luLmNwcDogQ29waWVkIGZyb20gV2ViUHJvY2Vzcy9Eb3du
bG9hZHMvY2Yvd2luL0Rvd25sb2FkQ0ZOZXRXaW4uY3BwLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
RG93bmxvYWRzL2NmbmV0OiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0Rvd25sb2Fkcy9j
Zm5ldC9Eb3dubG9hZENGTmV0LmNwcDogQ29waWVkIGZyb20gV2ViUHJvY2Vzcy9Eb3dubG9hZHMv
Y2YvRG93bmxvYWRDRk5ldC5jcHAuCisgICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOgorCiAy
MDExLTAzLTA4ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0Rvd25sb2Fkcy9jZi9Eb3dubG9hZENGTmV0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9jZi9Eb3dubG9hZENGTmV0LmNwcAkocmV2
aXNpb24gODA1OTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9jZi9E
b3dubG9hZENGTmV0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwyMDkgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJEb3dubG9hZC5oIgot
Ci0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotCi0jcHJhZ21hIHdhcm5pbmcocHVzaCwgMCkK
LSNpbmNsdWRlIDxXZWJDb3JlL0Rvd25sb2FkQnVuZGxlLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9M
b2FkZXJSdW5Mb29wQ0YuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+Ci0j
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZUhhbmRsZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI3By
YWdtYSB3YXJuaW5nKHBvcCkKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFj
ZSBXZWJLaXQgewotCi0vLyBDRlVSTERvd25sb2FkIENhbGxiYWNrcyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1zdGF0aWMg
dm9pZCBkaWRTdGFydENhbGxiYWNrKENGVVJMRG93bmxvYWRSZWYgZG93bmxvYWQsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pOwotc3RhdGljIENGVVJMUmVxdWVzdFJlZiB3aWxsU2VuZFJlcXVlc3RD
YWxsYmFjayhDRlVSTERvd25sb2FkUmVmIGRvd25sb2FkLCBDRlVSTFJlcXVlc3RSZWYgcmVxdWVz
dCwgQ0ZVUkxSZXNwb25zZVJlZiByZWRpcmVjdGlvblJlc3BvbnNlLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKLXN0YXRpYyB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUNh
bGxiYWNrKENGVVJMRG93bmxvYWRSZWYgZG93bmxvYWQsIENGVVJMQXV0aENoYWxsZW5nZVJlZiBj
aGFsbGVuZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotc3RhdGljIHZvaWQgZGlkUmVjZWl2
ZVJlc3BvbnNlQ2FsbGJhY2soQ0ZVUkxEb3dubG9hZFJlZiBkb3dubG9hZCwgQ0ZVUkxSZXNwb25z
ZVJlZiByZXNwb25zZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Ci1zdGF0aWMgdm9pZCB3aWxs
UmVzdW1lV2l0aFJlc3BvbnNlQ2FsbGJhY2soQ0ZVUkxEb3dubG9hZFJlZiBkb3dubG9hZCwgQ0ZV
UkxSZXNwb25zZVJlZiByZXNwb25zZSwgVUludDY0IHN0YXJ0aW5nQnl0ZSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7Ci1zdGF0aWMgdm9pZCBkaWRSZWNlaXZlRGF0YUNhbGxiYWNrKENGVVJMRG93
bmxvYWRSZWYgZG93bmxvYWQsIENGSW5kZXggbGVuZ3RoLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKLXN0YXRpYyBCb29sZWFuIHNob3VsZERlY29kZURhdGFPZk1JTUVUeXBlQ2FsbGJhY2soQ0ZV
UkxEb3dubG9hZFJlZiBkb3dubG9hZCwgQ0ZTdHJpbmdSZWYgZW5jb2RpbmdUeXBlLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKLXN0YXRpYyB2b2lkIGRlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dl
c3RlZE9iamVjdE5hbWVDYWxsYmFjayhDRlVSTERvd25sb2FkUmVmIGRvd25sb2FkLCBDRlN0cmlu
Z1JlZiBvYmplY3ROYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXN0YXRpYyB2b2lkIGRp
ZENyZWF0ZURlc3RpbmF0aW9uQ2FsbGJhY2soQ0ZVUkxEb3dubG9hZFJlZiBkb3dubG9hZCwgQ0ZV
UkxSZWYgcGF0aCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Ci1zdGF0aWMgdm9pZCBkaWRGaW5p
c2hDYWxsYmFjayhDRlVSTERvd25sb2FkUmVmIGRvd25sb2FkLCBjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKTsKLXN0YXRpYyB2b2lkIGRpZEZhaWxDYWxsYmFjayhDRlVSTERvd25sb2FkUmVmIGRvd25s
b2FkLCBDRkVycm9yUmVmIGVycm9yLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLQotdm9pZCBE
b3dubG9hZDo6c3RhcnQoV2ViUGFnZSopCi17Ci0gICAgQVNTRVJUKCFtX2Rvd25sb2FkKTsKLQot
ICAgIENGVVJMUmVxdWVzdFJlZiBjZlJlcXVlc3QgPSBtX3JlcXVlc3QuY2ZVUkxSZXF1ZXN0KCk7
Ci0KLSAgICBDRlVSTERvd25sb2FkQ2xpZW50IGNsaWVudCA9IHswLCB0aGlzLCAwLCAwLCAwLCBk
aWRTdGFydENhbGxiYWNrLCB3aWxsU2VuZFJlcXVlc3RDYWxsYmFjaywgZGlkUmVjZWl2ZUF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlQ2FsbGJhY2ssIAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRpZFJlY2VpdmVSZXNwb25zZUNhbGxiYWNrLCB3aWxsUmVzdW1lV2l0aFJlc3BvbnNl
Q2FsbGJhY2ssIGRpZFJlY2VpdmVEYXRhQ2FsbGJhY2ssIHNob3VsZERlY29kZURhdGFPZk1JTUVU
eXBlQ2FsbGJhY2ssIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2lkZURl
c3RpbmF0aW9uV2l0aFN1Z2dlc3RlZE9iamVjdE5hbWVDYWxsYmFjaywgZGlkQ3JlYXRlRGVzdGlu
YXRpb25DYWxsYmFjaywgZGlkRmluaXNoQ2FsbGJhY2ssIGRpZEZhaWxDYWxsYmFja307Ci0gICAg
bV9kb3dubG9hZC5hZG9wdENGKENGVVJMRG93bmxvYWRDcmVhdGUoMCwgY2ZSZXF1ZXN0LCAmY2xp
ZW50KSk7Ci0KLSAgICAvLyBGSVhNRTogQWxsb3cgdGhpcyB0byBiZSBjaGFuZ2VkIGJ5IHRoZSBj
bGllbnQuCi0gICAgQ0ZVUkxEb3dubG9hZFNldERlbGV0ZXNVcG9uRmFpbHVyZShtX2Rvd25sb2Fk
LmdldCgpLCBmYWxzZSk7Ci0KLSAgICBDRlVSTERvd25sb2FkU2NoZWR1bGVXaXRoQ3VycmVudE1l
c3NhZ2VRdWV1ZShtX2Rvd25sb2FkLmdldCgpKTsKLSAgICBDRlVSTERvd25sb2FkU2NoZWR1bGVE
b3dubG9hZFdpdGhSdW5Mb29wKG1fZG93bmxvYWQuZ2V0KCksIGxvYWRlclJ1bkxvb3AoKSwga0NG
UnVuTG9vcERlZmF1bHRNb2RlKTsKLX0KLQotdm9pZCBEb3dubG9hZDo6c3RhcnRXaXRoSGFuZGxl
KFdlYlBhZ2UqLCBSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IGluaXRpYWxSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLXsKLSAg
ICBBU1NFUlQoIW1fZG93bmxvYWQpOwotCi0gICAgQ0ZVUkxDb25uZWN0aW9uUmVmIGNvbm5lY3Rp
b24gPSBoYW5kbGUtPmNvbm5lY3Rpb24oKTsKLSAgICBpZiAoIWNvbm5lY3Rpb24pCi0gICAgICAg
IHJldHVybjsKLQotICAgIENGVVJMRG93bmxvYWRDbGllbnQgY2xpZW50ID0gezAsIHRoaXMsIDAs
IDAsIDAsIGRpZFN0YXJ0Q2FsbGJhY2ssIHdpbGxTZW5kUmVxdWVzdENhbGxiYWNrLCBkaWRSZWNl
aXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDYWxsYmFjaywgCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGlkUmVjZWl2ZVJlc3BvbnNlQ2FsbGJhY2ssIHdpbGxSZXN1bWVXaXRo
UmVzcG9uc2VDYWxsYmFjaywgZGlkUmVjZWl2ZURhdGFDYWxsYmFjaywgc2hvdWxkRGVjb2RlRGF0
YU9mTUlNRVR5cGVDYWxsYmFjaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
ZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRPYmplY3ROYW1lQ2FsbGJhY2ssIGRpZENyZWF0
ZURlc3RpbmF0aW9uQ2FsbGJhY2ssIGRpZEZpbmlzaENhbGxiYWNrLCBkaWRGYWlsQ2FsbGJhY2t9
OwotCi0gICAgbV9kb3dubG9hZC5hZG9wdENGKENGVVJMRG93bmxvYWRDcmVhdGVBbmRTdGFydFdp
dGhMb2FkaW5nQ29ubmVjdGlvbigwLCBjb25uZWN0aW9uLCBpbml0aWFsUmVxdWVzdC5jZlVSTFJl
cXVlc3QoKSwgcmVzcG9uc2UuY2ZVUkxSZXNwb25zZSgpLCAmY2xpZW50KSk7Ci0KLSAgICAvLyBJ
dCBpcyBwb3NzaWJsZSBmb3IgQ0ZVUkxEb3dubG9hZENyZWF0ZUFuZFN0YXJ0V2l0aExvYWRpbmdD
b25uZWN0aW9uKCkgdG8gZmFpbCBpZiB0aGUgcGFzc2VkIGluIENGVVJMQ29ubmVjdGlvbiBpcyBu
b3QgaW4gYSAiZG93bmxvYWRhYmxlIHN0YXRlIgotICAgIC8vIEhvd2V2ZXIsIHdlIHNob3VsZCBu
ZXZlciBoaXQgdGhhdCBjYXNlCi0gICAgaWYgKCFtX2Rvd25sb2FkKQotICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLQotICAgIC8vIFRoZSBDRlVSTERvd25sb2FkIGVpdGhlciBzdGFydHMg
c3VjY2Vzc2Z1bGx5IGFuZCByZXRhaW5zIHRoZSBDRlVSTENvbm5lY3Rpb24sIAotICAgIC8vIG9y
IGl0IGZhaWxzIHRvIGNyZWF0aW5nIGFuZCB3ZSBoYXZlIGEgbm93LXVzZWxlc3MgY29ubmVjdGlv
biB3aXRoIGEgZGFuZ2xpbmcgcmVmLiAKLSAgICAvLyBFaXRoZXIgd2F5LCB3ZSBuZWVkIHRvIHJl
bGVhc2UgdGhlIGNvbm5lY3Rpb24gdG8gYmFsYW5jZSBvdXQgcmVmIGNvdW50cwotICAgIGhhbmRs
ZS0+cmVsZWFzZUNvbm5lY3Rpb25Gb3JEb3dubG9hZCgpOwotICAgIENGUmVsZWFzZShjb25uZWN0
aW9uKTsKLX0KLQotdm9pZCBEb3dubG9hZDo6Y2FuY2VsKCkKLXsKLSAgICBBU1NFUlQobV9kb3du
bG9hZCk7Ci0gICAgaWYgKCFtX2Rvd25sb2FkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBDRlVS
TERvd25sb2FkU2V0RGVsZXRlc1Vwb25GYWlsdXJlKG1fZG93bmxvYWQuZ2V0KCksIGZhbHNlKTsK
LSAgICBDRlVSTERvd25sb2FkQ2FuY2VsKG1fZG93bmxvYWQuZ2V0KCkpOwotCi0gICAgUmV0YWlu
UHRyPENGRGF0YVJlZj4gcmVzdW1lRGF0YShBZG9wdENGLCBDRlVSTERvd25sb2FkQ29weVJlc3Vt
ZURhdGEobV9kb3dubG9hZC5nZXQoKSkpOwotICAgIGlmIChyZXN1bWVEYXRhKQotICAgICAgICBE
b3dubG9hZEJ1bmRsZTo6YXBwZW5kUmVzdW1lRGF0YShyZXN1bWVEYXRhLmdldCgpLCBtX2J1bmRs
ZVBhdGgpOwotCi0gICAgZGlkQ2FuY2VsKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoKSk7Ci19Ci0K
LXZvaWQgRG93bmxvYWQ6OnBsYXRmb3JtSW52YWxpZGF0ZSgpCi17Ci0gICAgbV9kb3dubG9hZCA9
IG51bGxwdHI7Ci19Ci0KLXZvaWQgRG93bmxvYWQ6OmRpZERlY2lkZURlc3RpbmF0aW9uKGNvbnN0
IFN0cmluZyYgZGVzdGluYXRpb24sIGJvb2wgYWxsb3dPdmVyd3JpdGUpCi17Ci0gICAgQVNTRVJU
KCFkZXN0aW5hdGlvbi5pc0VtcHR5KCkpOwotICAgIGlmIChkZXN0aW5hdGlvbi5pc0VtcHR5KCkp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIG1fYWxsb3dPdmVyd3JpdGUgPSBhbGxvd092ZXJ3cml0
ZTsKLSAgICBtX2Rlc3RpbmF0aW9uID0gZGVzdGluYXRpb247Ci0gICAgbV9idW5kbGVQYXRoID0g
ZGVzdGluYXRpb24gKyBEb3dubG9hZEJ1bmRsZTo6ZmlsZUV4dGVuc2lvbigpOwotCi0gICAgUmV0
YWluUHRyPENGU3RyaW5nUmVmPiBidW5kbGVQYXRoKEFkb3B0Q0YsIENGU3RyaW5nQ3JlYXRlV2l0
aENoYXJhY3RlcnNOb0NvcHkoMCwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4obV9i
dW5kbGVQYXRoLmNoYXJhY3RlcnMoKSksIG1fYnVuZGxlUGF0aC5sZW5ndGgoKSwga0NGQWxsb2Nh
dG9yTnVsbCkpOwotICAgIFJldGFpblB0cjxDRlVSTFJlZj4gYnVuZGxlUGF0aFVSTChBZG9wdENG
LCBDRlVSTENyZWF0ZVdpdGhGaWxlU3lzdGVtUGF0aCgwLCBidW5kbGVQYXRoLmdldCgpLCBrQ0ZV
UkxXaW5kb3dzUGF0aFN0eWxlLCBmYWxzZSkpOwotICAgIENGVVJMRG93bmxvYWRTZXREZXN0aW5h
dGlvbihtX2Rvd25sb2FkLmdldCgpLCBidW5kbGVQYXRoVVJMLmdldCgpLCBhbGxvd092ZXJ3cml0
ZSk7Ci19Ci0KLS8vIENGVVJMRG93bmxvYWQgQ2FsbGJhY2tzIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXN0YXRpYyBEb3du
bG9hZCogZG93bmxvYWRGcm9tQ2xpZW50SW5mbyhjb25zdCB2b2lkKiBjbGllbnRJbmZvKQotewot
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PERvd25sb2FkKj4oY29uc3RfY2FzdDx2b2lkKj4o
Y2xpZW50SW5mbykpOwotfQotCi12b2lkIGRpZFN0YXJ0Q2FsbGJhY2soQ0ZVUkxEb3dubG9hZFJl
ZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsgCi0gICAgZG93bmxvYWRGcm9tQ2xpZW50SW5m
byhjbGllbnRJbmZvKS0+ZGlkU3RhcnQoKTsgCi19Ci0KLUNGVVJMUmVxdWVzdFJlZiB3aWxsU2Vu
ZFJlcXVlc3RDYWxsYmFjayhDRlVSTERvd25sb2FkUmVmLCBDRlVSTFJlcXVlc3RSZWYgcmVxdWVz
dCwgQ0ZVUkxSZXNwb25zZVJlZiByZWRpcmVjdGlvblJlc3BvbnNlLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKQoteyAKLSAgICAvLyBDRk5ldHdvcmsgcmVxdWlyZXMgdXMgdG8gcmV0dXJuIGEgcmV0
YWluZWQgcmVxdWVzdC4KLSAgICBDRlJldGFpbihyZXF1ZXN0KTsKLSAgICByZXR1cm4gcmVxdWVz
dDsKLX0KLQotdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDYWxsYmFjayhD
RlVSTERvd25sb2FkUmVmLCBDRlVSTEF1dGhDaGFsbGVuZ2VSZWYgY2hhbGxlbmdlLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQoteyAKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50LgotICAgIG5vdElt
cGxlbWVudGVkKCk7Ci19Ci0KLXZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlQ2FsbGJhY2soQ0ZVUkxE
b3dubG9hZFJlZiwgQ0ZVUkxSZXNwb25zZVJlZiByZXNwb25zZSwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbykKLXsKLSAgICBkb3dubG9hZEZyb21DbGllbnRJbmZvKGNsaWVudEluZm8pLT5kaWRSZWNl
aXZlUmVzcG9uc2UoUmVzb3VyY2VSZXNwb25zZShyZXNwb25zZSkpOyAKLX0KLQotdm9pZCB3aWxs
UmVzdW1lV2l0aFJlc3BvbnNlQ2FsbGJhY2soQ0ZVUkxEb3dubG9hZFJlZiwgQ0ZVUkxSZXNwb25z
ZVJlZiByZXNwb25zZSwgVUludDY0IHN0YXJ0aW5nQnl0ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKLXsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50LgotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19
Ci0KLXZvaWQgZGlkUmVjZWl2ZURhdGFDYWxsYmFjayhDRlVSTERvd25sb2FkUmVmLCBDRkluZGV4
IGxlbmd0aCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsgCi0gICAgZG93bmxvYWRGcm9tQ2xp
ZW50SW5mbyhjbGllbnRJbmZvKS0+ZGlkUmVjZWl2ZURhdGEobGVuZ3RoKTsKLX0KLQotQm9vbGVh
biBzaG91bGREZWNvZGVEYXRhT2ZNSU1FVHlwZUNhbGxiYWNrKENGVVJMRG93bmxvYWRSZWYsIENG
U3RyaW5nUmVmIGVuY29kaW5nVHlwZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsgCi0gICAg
cmV0dXJuIGRvd25sb2FkRnJvbUNsaWVudEluZm8oY2xpZW50SW5mbyktPnNob3VsZERlY29kZVNv
dXJjZURhdGFPZk1JTUVUeXBlKGVuY29kaW5nVHlwZSk7Ci19Ci0KLXZvaWQgZGVjaWRlRGVzdGlu
YXRpb25XaXRoU3VnZ2VzdGVkT2JqZWN0TmFtZUNhbGxiYWNrKENGVVJMRG93bmxvYWRSZWYsIENG
U3RyaW5nUmVmIG9iamVjdE5hbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17IAotICAgIERv
d25sb2FkKiBkb3dubG9hZCA9IGRvd25sb2FkRnJvbUNsaWVudEluZm8oY2xpZW50SW5mbyk7Ci0g
ICAgYm9vbCBhbGxvd092ZXJ3cml0ZTsKLSAgICBkb3dubG9hZC0+ZGVjaWRlRGVzdGluYXRpb25X
aXRoU3VnZ2VzdGVkRmlsZW5hbWUob2JqZWN0TmFtZSwgYWxsb3dPdmVyd3JpdGUpOwotfQotCi12
b2lkIGRpZENyZWF0ZURlc3RpbmF0aW9uQ2FsbGJhY2soQ0ZVUkxEb3dubG9hZFJlZiwgQ0ZVUkxS
ZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgLy8gVGhlIGNvbmNlcHQgb2YgdGhl
ICIuZG93bmxvYWQgYnVuZGxlIiBpcyBpbnRlcm5hbCB0byB0aGUgRG93bmxvYWQsIHNvIHdlIHRy
eSB0byBoaWRlIGl0cwotICAgIC8vIGV4aXN0ZW5jZSBieSByZXBvcnRpbmcgdGhlIGZpbmFsIGRl
c3RpbmF0aW9uIHdhcyBjcmVhdGVkLCB3aGVuIGluIHJlYWxpdHkgdGhlIGJ1bmRsZSB3YXMgY3Jl
YXRlZC4KLQotICAgIERvd25sb2FkKiBkb3dubG9hZCA9IGRvd25sb2FkRnJvbUNsaWVudEluZm8o
Y2xpZW50SW5mbyk7Ci0gICAgZG93bmxvYWQtPmRpZENyZWF0ZURlc3RpbmF0aW9uKGRvd25sb2Fk
LT5kZXN0aW5hdGlvbigpKTsKLX0KLQotdm9pZCBkaWRGaW5pc2hDYWxsYmFjayhDRlVSTERvd25s
b2FkUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoteyAKLSAgICBkb3dubG9hZEZyb21DbGll
bnRJbmZvKGNsaWVudEluZm8pLT5kaWRGaW5pc2goKTsKLX0KLQotdm9pZCBkaWRGYWlsQ2FsbGJh
Y2soQ0ZVUkxEb3dubG9hZFJlZiwgQ0ZFcnJvclJlZiBlcnJvciwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbykKLXsgCi0gICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhUmVmZXJlbmNlKDAsIDAp
OwotICAgIGRvd25sb2FkRnJvbUNsaWVudEluZm8oY2xpZW50SW5mbyktPmRpZEZhaWwoUmVzb3Vy
Y2VFcnJvcihlcnJvciksIGRhdGFSZWZlcmVuY2UpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL2NmL3dpbi9Eb3du
bG9hZENGTmV0V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0Rvd25sb2Fkcy9jZi93aW4vRG93bmxvYWRDRk5ldFdpbi5jcHAJKHJldmlzaW9uIDgwNTk5KQor
KysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvY2Yvd2luL0Rvd25sb2FkQ0ZO
ZXRXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiRG93bmxvYWQuaCIKLQotdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi12b2lkIERvd25sb2FkOjpwbGF0
Zm9ybURpZEZpbmlzaCgpCi17Ci0gICAgQVNTRVJUKCFtX2J1bmRsZVBhdGguaXNFbXB0eSgpKTsK
LSAgICBBU1NFUlQoIW1fZGVzdGluYXRpb24uaXNFbXB0eSgpKTsKLQotICAgIC8vIFRyeSB0byBt
b3ZlIHRoZSBidW5kbGUgdG8gdGhlIGZpbmFsIGZpbGVuYW1lLgotICAgIERXT1JEIGZsYWdzID0g
TU9WRUZJTEVfQ09QWV9BTExPV0VEIHwgKG1fYWxsb3dPdmVyd3JpdGUgPyBNT1ZFRklMRV9SRVBM
QUNFX0VYSVNUSU5HIDogMCk7Ci0gICAgaWYgKDo6TW92ZUZpbGVFeFcobV9idW5kbGVQYXRoLmNo
YXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCksIG1fZGVzdGluYXRpb24uY2hhcmFjdGVyc1dp
dGhOdWxsVGVybWluYXRpb24oKSwgZmxhZ3MpKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBU
aGUgbW92ZSBmYWlsZWQuIEdpdmUgdGhlIGNsaWVudCBvbmUgbW9yZSBjaGFuY2UgdG8gY2hvb3Nl
IHRoZSBmaW5hbCBmaWxlbmFtZS4KLSAgICBtX2Rlc3RpbmF0aW9uID0gcmV0cmlldmVEZXN0aW5h
dGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFtZShtX2Rlc3RpbmF0aW9uLCBtX2FsbG93T3ZlcndyaXRl
KTsKLSAgICBpZiAobV9kZXN0aW5hdGlvbi5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIC8vIFdlIGVpdGhlciBuZWVkIHRvIHJlcG9ydCBvdXIgZmluYWwgZmlsZW5hbWUgYXMgdGhl
IGJ1bmRsZSBmaWxlbmFtZSBvciB0aGUgdXBkYXRlZCBkZXN0aW5hdGlvbiBmaWxlbmFtZS4KLSAg
ICBmbGFncyA9IE1PVkVGSUxFX0NPUFlfQUxMT1dFRCB8IChtX2FsbG93T3ZlcndyaXRlID8gTU9W
RUZJTEVfUkVQTEFDRV9FWElTVElORyA6IDApOwotICAgIGlmICg6Ok1vdmVGaWxlRXhXKG1fYnVu
ZGxlUGF0aC5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpLCBtX2Rlc3RpbmF0aW9uLmNo
YXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCksIGZsYWdzKSkKLSAgICAgICAgZGlkQ3JlYXRl
RGVzdGluYXRpb24obV9kZXN0aW5hdGlvbik7Ci0gICAgZWxzZQotICAgICAgICBkaWRDcmVhdGVE
ZXN0aW5hdGlvbihtX2J1bmRsZVBhdGgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5k
ZXg6IFdlYlByb2Nlc3MvRG93bmxvYWRzL2NmL3dpbi9Eb3dubG9hZENGV2luLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJQcm9jZXNzL0Rvd25sb2Fkcy9jZi93aW4vRG93bmxvYWRDRldpbi5jcHAJKHJl
dmlzaW9uIDgwNTk2KQkoZnJvbSBXZWJQcm9jZXNzL0Rvd25sb2Fkcy9jZi93aW4vRG93bmxvYWRD
Rk5ldFdpbi5jcHA6ODA1OTYpCisrKyBXZWJQcm9jZXNzL0Rvd25sb2Fkcy9jZi93aW4vRG93bmxv
YWRDRldpbi5jcHAJKHdvcmtpbmcgY29weSkKSW5kZXg6IFdlYlByb2Nlc3MvRG93bmxvYWRzL2Nm
bmV0L0Rvd25sb2FkQ0ZOZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYlByb2Nlc3MvRG93bmxvYWRz
L2NmbmV0L0Rvd25sb2FkQ0ZOZXQuY3BwCShyZXZpc2lvbiA4MDU5NikJKGZyb20gV2ViUHJvY2Vz
cy9Eb3dubG9hZHMvY2YvRG93bmxvYWRDRk5ldC5jcHA6ODA1OTYpCisrKyBXZWJQcm9jZXNzL0Rv
d25sb2Fkcy9jZm5ldC9Eb3dubG9hZENGTmV0LmNwcAkod29ya2luZyBjb3B5KQpJbmRleDogU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL3dpbi9XZWJLaXQyLnZjcHJvagkocmV2aXNpb24gODA1OTkpCisrKyBTb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0Mi52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTE4MjUsNyArMTgyNSwxNSBA
QAogCQkJCQlOYW1lPSJjZiIKIAkJCQkJPgogCQkJCQk8RmlsZQotCQkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxXZWJQcm9jZXNzXERvd25sb2Fkc1xjZlxEb3dubG9hZENGTmV0LmNwcCIKKwkJCQkJCVJl
bGF0aXZlUGF0aD0iLi5cV2ViUHJvY2Vzc1xEb3dubG9hZHNcY2Zcd2luXERvd25sb2FkQ0ZXaW4u
Y3BwIgorCQkJCQkJPgorCQkJCQk8L0ZpbGU+CisJCQkJPC9GaWx0ZXI+CisJCQkJPEZpbHRlcgor
CQkJCQlOYW1lPSJjZm5ldCIKKwkJCQkJPgorCQkJCQk8RmlsZQorCQkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxXZWJQcm9jZXNzXERvd25sb2Fkc1xjZm5ldFxEb3dubG9hZENGTmV0LmNwcCIKIAkJCQkJ
CT4KIAkJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NG
TGl0ZXxXaW4zMiIKQEAgLTE4NDQsMTQgKzE4NTIsNiBAQAogCQkJCQkJCS8+CiAJCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgogCQkJCQk8L0ZpbGU+Ci0JCQkJCTxGaWx0ZXIKLQkJCQkJCU5hbWU9
IndpbiIKLQkJCQkJCT4KLQkJCQkJCTxGaWxlCi0JCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxXZWJQ
cm9jZXNzXERvd25sb2Fkc1xjZlx3aW5cRG93bmxvYWRDRk5ldFdpbi5jcHAiCi0JCQkJCQkJPgot
CQkJCQkJPC9GaWxlPgotCQkJCQk8L0ZpbHRlcj4KIAkJCQk8L0ZpbHRlcj4KIAkJCQk8RmlsdGVy
CiAJCQkJCU5hbWU9ImN1cmwiCg==
</data>
<flag name="review"
          id="77179"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>