<?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>43189</bug_id>
          
          <creation_ts>2010-07-29 07:35:22 -0700</creation_ts>
          <short_desc>Get basic in-process windowless plugins working in WebKit2 on Windows (enough to play simple Flash videos)</short_desc>
          <delta_ts>2010-08-19 14:32:55 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>43188</dependson>
    
    <dependson>43195</dependson>
    
    <dependson>43197</dependson>
    
    <dependson>43431</dependson>
    
    <dependson>43497</dependson>
    
    <dependson>43510</dependson>
    
    <dependson>43513</dependson>
    
    <dependson>44269</dependson>
    
    <dependson>44270</dependson>
    
    <dependson>44274</dependson>
    
    <dependson>44276</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Adam Roben (:aroben)">aroben</assigned_to>
          <cc>andersca</cc>
    
    <cc>jhoneycutt</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>257664</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-07-29 07:35:22 -0700</bug_when>
    <thetext>This is an umbrella bug for tracking progress on getting in-process plugins working in WebKit2 on Windows. Once we&apos;re able to play some simple Flash videos (e.g., on YouTube or Vimeo) we&apos;ll close this bug out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257665</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-07-29 07:35:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/8237524&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257745</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-07-29 09:50:58 -0700</bug_when>
    <thetext>In fact, we&apos;ll only track windowless plugins through this bug. Windowed plugins will probably be significantly trickier to implement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266567</commentid>
    <comment_count>3</comment_count>
      <attachid>64812</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-18 23:34:11 -0700</bug_when>
    <thetext>Created attachment 64812
messy work-in-progress patch

I am now able to play video on vimeo.com! Attached all my changes so far. Tomorrow I&apos;ll break it up into smaller landable chunks, but anyone playing along at home can take a peek now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266968</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-19 14:32:55 -0700</bug_when>
    <thetext>This was being used as an umbrella bug. All subtasks have been completed. Closing!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64812</attachid>
            <date>2010-08-18 23:34:11 -0700</date>
            <delta_ts>2010-08-18 23:34:11 -0700</delta_ts>
            <desc>messy work-in-progress patch</desc>
            <filename>wip.txt</filename>
            <type>text/plain</type>
            <size>22968</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9y
ZVdpbi5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVX
aW4uY3BwCmluZGV4IDQ3MmJiOWMuLmE4MWJhODUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKKysrIGIvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcApAQCAtMjgsMTcgKzI4LDIy
NyBAQAogI2RlZmluZSBESVNBQkxFX05PVF9JTVBMRU1FTlRFRF9XQVJOSU5HUyAxCiAjaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KKyNp
bmNsdWRlIDxzaGx3YXBpLmg+CiAjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+CiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorc3RhdGljIGlubGlu
ZSBWZWN0b3I8aW50PiBwYXJzZVZlcnNpb25TdHJpbmcoY29uc3QgU3RyaW5nJiB2ZXJzaW9uU3Ry
aW5nKQoreworICAgIFZlY3RvcjxpbnQ+IHZlcnNpb247CisKKyAgICB1bnNpZ25lZCBzdGFydFBv
cyA9IDA7CisgICAgdW5zaWduZWQgZW5kUG9zOworICAgIAorICAgIHdoaWxlIChzdGFydFBvcyA8
IHZlcnNpb25TdHJpbmcubGVuZ3RoKCkpIHsKKyAgICAgICAgZm9yIChlbmRQb3MgPSBzdGFydFBv
czsgZW5kUG9zIDwgdmVyc2lvblN0cmluZy5sZW5ndGgoKTsgKytlbmRQb3MpCisgICAgICAgICAg
ICBpZiAodmVyc2lvblN0cmluZ1tlbmRQb3NdID09ICcuJyB8fCB2ZXJzaW9uU3RyaW5nW2VuZFBv
c10gPT0gJ18nKQorICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGludCB2ZXJzaW9u
Q29tcG9uZW50ID0gdmVyc2lvblN0cmluZy5zdWJzdHJpbmcoc3RhcnRQb3MsIGVuZFBvcyAtIHN0
YXJ0UG9zKS50b0ludCgpOworICAgICAgICB2ZXJzaW9uLmFwcGVuZCh2ZXJzaW9uQ29tcG9uZW50
KTsKKworICAgICAgICBzdGFydFBvcyA9IGVuZFBvcyArIDE7CisgICAgfQorCisgICAgcmV0dXJu
IHZlcnNpb247Cit9CisKKy8vIFRoaXMgcmV0dXJucyB3aGV0aGVyIHZlcnNpb25BIGlzIGhpZ2hl
ciB0aGFuIHZlcnNpb25CCitzdGF0aWMgaW5saW5lIGJvb2wgY29tcGFyZVZlcnNpb25zKGNvbnN0
IFZlY3RvcjxpbnQ+JiB2ZXJzaW9uQSwgY29uc3QgVmVjdG9yPGludD4mIHZlcnNpb25CKQorewor
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB2ZXJzaW9uQS5zaXplKCk7IGkrKykgeworICAg
ICAgICBpZiAoaSA+PSB2ZXJzaW9uQi5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgICAgICBpZiAodmVyc2lvbkFbaV0gPiB2ZXJzaW9uQltpXSkKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICBlbHNlIGlmICh2ZXJzaW9uQVtpXSA8IHZlcnNpb25CW2ldKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIC8vIElmIHdlIGNvbWUgaGVy
ZSwgdGhlIHZlcnNpb25zIGFyZSBlaXRoZXIgdGhlIHNhbWUgb3IgdmVyc2lvbkIgaGFzIGFuIGV4
dHJhIGNvbXBvbmVudCwganVzdCByZXR1cm4gZmFsc2UKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
K3N0YXRpYyBpbmxpbmUgU3RyaW5nIHNhZmFyaVBsdWdpbnNEaXJlY3RvcnkoKQoreworICAgIHN0
YXRpYyBTdHJpbmcgcGx1Z2luc0RpcmVjdG9yeTsKKyAgICBzdGF0aWMgYm9vbCBjYWNoZWRQbHVn
aW5EaXJlY3RvcnkgPSBmYWxzZTsKKworICAgIGlmICghY2FjaGVkUGx1Z2luRGlyZWN0b3J5KSB7
CisgICAgICAgIGNhY2hlZFBsdWdpbkRpcmVjdG9yeSA9IHRydWU7CisKKyAgICAgICAgV0NIQVIg
bW9kdWxlRmlsZU5hbWVTdHJbTUFYX1BBVEhdOworICAgICAgICBpbnQgbW9kdWxlRmlsZU5hbWVM
ZW4gPSA6OkdldE1vZHVsZUZpbGVOYW1lVygwLCBtb2R1bGVGaWxlTmFtZVN0ciwgX2NvdW50b2Yo
bW9kdWxlRmlsZU5hbWVTdHIpKTsKKworICAgICAgICBpZiAoIW1vZHVsZUZpbGVOYW1lTGVuIHx8
IG1vZHVsZUZpbGVOYW1lTGVuID09IF9jb3VudG9mKG1vZHVsZUZpbGVOYW1lU3RyKSkKKyAgICAg
ICAgICAgIHJldHVybiBwbHVnaW5zRGlyZWN0b3J5OworCisgICAgICAgIGlmICghOjpQYXRoUmVt
b3ZlRmlsZVNwZWNXKG1vZHVsZUZpbGVOYW1lU3RyKSkKKyAgICAgICAgICAgIHJldHVybiBwbHVn
aW5zRGlyZWN0b3J5OworCisgICAgICAgIHBsdWdpbnNEaXJlY3RvcnkgPSBTdHJpbmcobW9kdWxl
RmlsZU5hbWVTdHIpICsgIlxcUGx1Z2lucyI7CisgICAgfQorCisgICAgcmV0dXJuIHBsdWdpbnNE
aXJlY3Rvcnk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhZGRNb3ppbGxhUGx1Z2luRGlyZWN0
b3JpZXMoVmVjdG9yPFN0cmluZz4mIGRpcmVjdG9yaWVzKQoreworICAgIC8vIEVudW1lcmF0ZSBh
bGwgTW96aWxsYSBwbHVnaW4gZGlyZWN0b3JpZXMgaW4gdGhlIHJlZ2lzdHJ5CisgICAgSEtFWSBr
ZXk7CisgICAgTE9ORyByZXN1bHQgPSA6OlJlZ09wZW5LZXlFeFcoSEtFWV9MT0NBTF9NQUNISU5F
LCBMIlNvZnR3YXJlXFxNb3ppbGxhIiwgMCwgS0VZX1JFQUQsICZrZXkpOworICAgIGlmIChyZXN1
bHQgPT0gRVJST1JfU1VDQ0VTUykgeworICAgICAgICBXQ0hBUiBuYW1lWzEyOF07CisgICAgICAg
IEZJTEVUSU1FIGxhc3RNb2RpZmllZDsKKworICAgICAgICAvLyBFbnVtZXJhdGUgc3Via2V5cwor
ICAgICAgICBmb3IgKGludCBpID0gMDs7IGkrKykgeworICAgICAgICAgICAgRFdPUkQgbmFtZUxl
biA9IHNpemVvZihuYW1lKSAvIHNpemVvZihXQ0hBUik7CisgICAgICAgICAgICByZXN1bHQgPSA6
OlJlZ0VudW1LZXlFeFcoa2V5LCBpLCBuYW1lLCAmbmFtZUxlbiwgMCwgMCwgMCwgJmxhc3RNb2Rp
ZmllZCk7CisKKyAgICAgICAgICAgIGlmIChyZXN1bHQgIT0gRVJST1JfU1VDQ0VTUykKKyAgICAg
ICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgU3RyaW5nIGV4dGVuc2lvbnNQYXRoID0g
U3RyaW5nKG5hbWUsIG5hbWVMZW4pICsgIlxcRXh0ZW5zaW9ucyI7CisgICAgICAgICAgICBIS0VZ
IGV4dGVuc2lvbnNLZXk7CisKKyAgICAgICAgICAgIC8vIFRyeSBvcGVuaW5nIHRoZSBrZXkKKyAg
ICAgICAgICAgIHJlc3VsdCA9IDo6UmVnT3BlbktleUV4VyhrZXksIGV4dGVuc2lvbnNQYXRoLmNo
YXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCksIDAsIEtFWV9SRUFELCAmZXh0ZW5zaW9uc0tl
eSk7CisKKyAgICAgICAgICAgIGlmIChyZXN1bHQgPT0gRVJST1JfU1VDQ0VTUykgeworICAgICAg
ICAgICAgICAgIC8vIE5vdyBnZXQgdGhlIHBsdWdpbnMgZGlyZWN0b3J5CisgICAgICAgICAgICAg
ICAgV0NIQVIgcGx1Z2luc0RpcmVjdG9yeVN0cltNQVhfUEFUSF07CisgICAgICAgICAgICAgICAg
RFdPUkQgcGx1Z2luc0RpcmVjdG9yeVNpemUgPSBzaXplb2YocGx1Z2luc0RpcmVjdG9yeVN0cik7
CisgICAgICAgICAgICAgICAgRFdPUkQgdHlwZTsKKworICAgICAgICAgICAgICAgIHJlc3VsdCA9
IDo6UmVnUXVlcnlWYWx1ZUV4VyhleHRlbnNpb25zS2V5LCBMIlBsdWdpbnMiLCAwLCAmdHlwZSwg
cmVpbnRlcnByZXRfY2FzdDxMUEJZVEU+KCZwbHVnaW5zRGlyZWN0b3J5U3RyKSwgJnBsdWdpbnNE
aXJlY3RvcnlTaXplKTsKKworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPT0gRVJST1JfU1VD
Q0VTUyAmJiB0eXBlID09IFJFR19TWikKKyAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JpZXMu
YXBwZW5kKFN0cmluZyhwbHVnaW5zRGlyZWN0b3J5U3RyLCBwbHVnaW5zRGlyZWN0b3J5U2l6ZSAv
IHNpemVvZihXQ0hBUikgLSAxKSk7CisKKyAgICAgICAgICAgICAgICA6OlJlZ0Nsb3NlS2V5KGV4
dGVuc2lvbnNLZXkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIAorICAgICAg
ICA6OlJlZ0Nsb3NlS2V5KGtleSk7CisgICAgfQorfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYWRk
V2luZG93c01lZGlhUGxheWVyUGx1Z2luRGlyZWN0b3J5KFZlY3RvcjxTdHJpbmc+JiBkaXJlY3Rv
cmllcykKK3sKKyAgICAvLyBUaGUgbmV3IFdNUCBGaXJlZm94IHBsdWdpbiBpcyBpbnN0YWxsZWQg
aW4gXFBGaWxlc1xQbHVnaW5zIGlmIGl0IGNhbid0IGZpbmQgYW55IEZpcmVmb3ggaW5zdGFsbHMK
KyAgICBXQ0hBUiBwbHVnaW5EaXJlY3RvcnlTdHJbTUFYX1BBVEggKyAxXTsKKyAgICBEV09SRCBw
bHVnaW5EaXJlY3RvcnlTaXplID0gOjpFeHBhbmRFbnZpcm9ubWVudFN0cmluZ3NXKEwiJVNZU1RF
TURSSVZFJVxcUEZpbGVzXFxQbHVnaW5zIiwgcGx1Z2luRGlyZWN0b3J5U3RyLCBfY291bnRvZihw
bHVnaW5EaXJlY3RvcnlTdHIpKTsKKworICAgIGlmIChwbHVnaW5EaXJlY3RvcnlTaXplID4gMCAm
JiBwbHVnaW5EaXJlY3RvcnlTaXplIDw9IF9jb3VudG9mKHBsdWdpbkRpcmVjdG9yeVN0cikpCisg
ICAgICAgIGRpcmVjdG9yaWVzLmFwcGVuZChTdHJpbmcocGx1Z2luRGlyZWN0b3J5U3RyLCBwbHVn
aW5EaXJlY3RvcnlTaXplIC0gMSkpOworCisgICAgRFdPUkQgdHlwZTsKKyAgICBXQ0hBUiBpbnN0
YWxsYXRpb25EaXJlY3RvcnlTdHJbTUFYX1BBVEhdOworICAgIERXT1JEIGluc3RhbGxhdGlvbkRp
cmVjdG9yeVNpemUgPSBzaXplb2YoaW5zdGFsbGF0aW9uRGlyZWN0b3J5U3RyKTsKKworICAgIEhS
RVNVTFQgcmVzdWx0ID0gOjpTSEdldFZhbHVlVyhIS0VZX0xPQ0FMX01BQ0hJTkUsIEwiU29mdHdh
cmVcXE1pY3Jvc29mdFxcTWVkaWFQbGF5ZXIiLCBMIkluc3RhbGxhdGlvbiBEaXJlY3RvcnkiLCAm
dHlwZSwgcmVpbnRlcnByZXRfY2FzdDxMUEJZVEU+KCZpbnN0YWxsYXRpb25EaXJlY3RvcnlTdHIp
LCAmaW5zdGFsbGF0aW9uRGlyZWN0b3J5U2l6ZSk7CisKKyAgICBpZiAocmVzdWx0ID09IEVSUk9S
X1NVQ0NFU1MgJiYgdHlwZSA9PSBSRUdfU1opCisgICAgICAgIGRpcmVjdG9yaWVzLmFwcGVuZChT
dHJpbmcoaW5zdGFsbGF0aW9uRGlyZWN0b3J5U3RyLCBpbnN0YWxsYXRpb25EaXJlY3RvcnlTaXpl
IC8gc2l6ZW9mKFdDSEFSKSAtIDEpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFkZFF1aWNr
VGltZVBsdWdpbkRpcmVjdG9yeShWZWN0b3I8U3RyaW5nPiYgZGlyZWN0b3JpZXMpCit7CisgICAg
RFdPUkQgdHlwZTsKKyAgICBXQ0hBUiBpbnN0YWxsYXRpb25EaXJlY3RvcnlTdHJbTUFYX1BBVEhd
OworICAgIERXT1JEIGluc3RhbGxhdGlvbkRpcmVjdG9yeVNpemUgPSBzaXplb2YoaW5zdGFsbGF0
aW9uRGlyZWN0b3J5U3RyKTsKKworICAgIEhSRVNVTFQgcmVzdWx0ID0gOjpTSEdldFZhbHVlVyhI
S0VZX0xPQ0FMX01BQ0hJTkUsIEwiU29mdHdhcmVcXEFwcGxlIENvbXB1dGVyLCBJbmMuXFxRdWlj
a1RpbWUiLCBMIkluc3RhbGxEaXIiLCAmdHlwZSwgcmVpbnRlcnByZXRfY2FzdDxMUEJZVEU+KCZp
bnN0YWxsYXRpb25EaXJlY3RvcnlTdHIpLCAmaW5zdGFsbGF0aW9uRGlyZWN0b3J5U2l6ZSk7CisK
KyAgICBpZiAocmVzdWx0ID09IEVSUk9SX1NVQ0NFU1MgJiYgdHlwZSA9PSBSRUdfU1opIHsKKyAg
ICAgICAgU3RyaW5nIHBsdWdpbkRpciA9IFN0cmluZyhpbnN0YWxsYXRpb25EaXJlY3RvcnlTdHIs
IGluc3RhbGxhdGlvbkRpcmVjdG9yeVNpemUgLyBzaXplb2YoV0NIQVIpIC0gMSkgKyAiXFxwbHVn
aW5zIjsKKyAgICAgICAgZGlyZWN0b3JpZXMuYXBwZW5kKHBsdWdpbkRpcik7CisgICAgfQorfQor
CitzdGF0aWMgaW5saW5lIHZvaWQgYWRkQWRvYmVBY3JvYmF0UGx1Z2luRGlyZWN0b3J5KFZlY3Rv
cjxTdHJpbmc+JiBkaXJlY3RvcmllcykKK3sKKyAgICBIS0VZIGtleTsKKyAgICBIUkVTVUxUIHJl
c3VsdCA9IDo6UmVnT3BlbktleUV4VyhIS0VZX0xPQ0FMX01BQ0hJTkUsIEwiU29mdHdhcmVcXEFk
b2JlXFxBY3JvYmF0IFJlYWRlciIsIDAsIEtFWV9SRUFELCAma2V5KTsKKyAgICBpZiAocmVzdWx0
ICE9IEVSUk9SX1NVQ0NFU1MpCisgICAgICAgIHJldHVybjsKKworICAgIFdDSEFSIG5hbWVbMTI4
XTsKKyAgICBGSUxFVElNRSBsYXN0TW9kaWZpZWQ7CisKKyAgICBWZWN0b3I8aW50PiBsYXRlc3RB
Y3JvYmF0VmVyc2lvbjsKKyAgICBTdHJpbmcgbGF0ZXN0QWNyb2JhdFZlcnNpb25TdHJpbmc7CisK
KyAgICAvLyBFbnVtZXJhdGUgc3Via2V5cworICAgIGZvciAoaW50IGkgPSAwOzsgaSsrKSB7Cisg
ICAgICAgIERXT1JEIG5hbWVMZW4gPSBzaXplb2YobmFtZSkgLyBzaXplb2YoV0NIQVIpOworICAg
ICAgICByZXN1bHQgPSA6OlJlZ0VudW1LZXlFeFcoa2V5LCBpLCBuYW1lLCAmbmFtZUxlbiwgMCwg
MCwgMCwgJmxhc3RNb2RpZmllZCk7CisKKyAgICAgICAgaWYgKHJlc3VsdCAhPSBFUlJPUl9TVUND
RVNTKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgVmVjdG9yPGludD4gYWNyb2JhdFZl
cnNpb24gPSBwYXJzZVZlcnNpb25TdHJpbmcoU3RyaW5nKG5hbWUsIG5hbWVMZW4pKTsKKyAgICAg
ICAgaWYgKGNvbXBhcmVWZXJzaW9ucyhhY3JvYmF0VmVyc2lvbiwgbGF0ZXN0QWNyb2JhdFZlcnNp
b24pKSB7CisgICAgICAgICAgICBsYXRlc3RBY3JvYmF0VmVyc2lvbiA9IGFjcm9iYXRWZXJzaW9u
OworICAgICAgICAgICAgbGF0ZXN0QWNyb2JhdFZlcnNpb25TdHJpbmcgPSBTdHJpbmcobmFtZSwg
bmFtZUxlbik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIWxhdGVzdEFjcm9iYXRWZXJz
aW9uU3RyaW5nLmlzTnVsbCgpKSB7CisgICAgICAgIERXT1JEIHR5cGU7CisgICAgICAgIFdDSEFS
IGFjcm9iYXRJbnN0YWxsUGF0aFN0cltNQVhfUEFUSF07CisgICAgICAgIERXT1JEIGFjcm9iYXRJ
bnN0YWxsUGF0aFNpemUgPSBzaXplb2YoYWNyb2JhdEluc3RhbGxQYXRoU3RyKTsKKworICAgICAg
ICBTdHJpbmcgYWNyb2JhdFBsdWdpbktleVBhdGggPSAiU29mdHdhcmVcXEFkb2JlXFxBY3JvYmF0
IFJlYWRlclxcIiArIGxhdGVzdEFjcm9iYXRWZXJzaW9uU3RyaW5nICsgIlxcSW5zdGFsbFBhdGgi
OworICAgICAgICByZXN1bHQgPSA6OlNIR2V0VmFsdWVXKEhLRVlfTE9DQUxfTUFDSElORSwgYWNy
b2JhdFBsdWdpbktleVBhdGguY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKSwgMCwgJnR5
cGUsIHJlaW50ZXJwcmV0X2Nhc3Q8TFBCWVRFPihhY3JvYmF0SW5zdGFsbFBhdGhTdHIpLCAmYWNy
b2JhdEluc3RhbGxQYXRoU2l6ZSk7CisKKyAgICAgICAgaWYgKHJlc3VsdCA9PSBFUlJPUl9TVUND
RVNTKSB7CisgICAgICAgICAgICBTdHJpbmcgYWNyb2JhdFBsdWdpbkRpcmVjdG9yeSA9IFN0cmlu
ZyhhY3JvYmF0SW5zdGFsbFBhdGhTdHIsIGFjcm9iYXRJbnN0YWxsUGF0aFNpemUgLyBzaXplb2Yo
V0NIQVIpIC0gMSkgKyAiXFxicm93c2VyIjsKKyAgICAgICAgICAgIGRpcmVjdG9yaWVzLmFwcGVu
ZChhY3JvYmF0UGx1Z2luRGlyZWN0b3J5KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIDo6UmVn
Q2xvc2VLZXkoa2V5KTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFkZE1hY3JvbWVkaWFQbHVn
aW5EaXJlY3RvcmllcyhWZWN0b3I8U3RyaW5nPiYgZGlyZWN0b3JpZXMpCit7CisjaWYgIU9TKFdJ
TkNFKQorICAgIFdDSEFSIHN5c3RlbURpcmVjdG9yeVN0cltNQVhfUEFUSF07CisKKyAgICBpZiAo
OjpHZXRTeXN0ZW1EaXJlY3RvcnlXKHN5c3RlbURpcmVjdG9yeVN0ciwgX2NvdW50b2Yoc3lzdGVt
RGlyZWN0b3J5U3RyKSkgPT0gMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgV0NIQVIgbWFjcm9t
ZWRpYURpcmVjdG9yeVN0cltNQVhfUEFUSF07CisKKyAgICA6OlBhdGhDb21iaW5lVyhtYWNyb21l
ZGlhRGlyZWN0b3J5U3RyLCBzeXN0ZW1EaXJlY3RvcnlTdHIsIEwibWFjcm9tZWRcXEZsYXNoIik7
CisgICAgZGlyZWN0b3JpZXMuYXBwZW5kKG1hY3JvbWVkaWFEaXJlY3RvcnlTdHIpOworCisgICAg
OjpQYXRoQ29tYmluZVcobWFjcm9tZWRpYURpcmVjdG9yeVN0ciwgc3lzdGVtRGlyZWN0b3J5U3Ry
LCBMIm1hY3JvbWVkXFxTaG9ja3dhdmUgMTAiKTsKKyAgICBkaXJlY3Rvcmllcy5hcHBlbmQobWFj
cm9tZWRpYURpcmVjdG9yeVN0cik7CisjZW5kaWYKK30KKwogVmVjdG9yPFN0cmluZz4gUGx1Z2lu
SW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogewotICAgIC8vIEZJWE1FOiA8aHR0cDov
L3dlYmtpdC5vcmcvYi80MzUxMD4gTWlncmF0ZSBsb2dpYyBoZXJlIGZyb20gUGx1Z2luRGF0YWJh
c2U6OmRlZmF1bHRQbHVnaW5EaXJlY3Rvcmllcy4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAg
IHJldHVybiBWZWN0b3I8U3RyaW5nPigpOworICAgIFZlY3RvcjxTdHJpbmc+IGRpcmVjdG9yaWVz
OworCisgICAgU3RyaW5nIG91ckRpcmVjdG9yeSA9IHNhZmFyaVBsdWdpbnNEaXJlY3RvcnkoKTsK
KyAgICBpZiAoIW91ckRpcmVjdG9yeS5pc051bGwoKSkKKyAgICAgICAgZGlyZWN0b3JpZXMuYXBw
ZW5kKG91ckRpcmVjdG9yeSk7CisKKyAgICBhZGRRdWlja1RpbWVQbHVnaW5EaXJlY3RvcnkoZGly
ZWN0b3JpZXMpOworICAgIGFkZEFkb2JlQWNyb2JhdFBsdWdpbkRpcmVjdG9yeShkaXJlY3Rvcmll
cyk7CisgICAgYWRkTW96aWxsYVBsdWdpbkRpcmVjdG9yaWVzKGRpcmVjdG9yaWVzKTsKKyAgICBh
ZGRXaW5kb3dzTWVkaWFQbGF5ZXJQbHVnaW5EaXJlY3RvcnkoZGlyZWN0b3JpZXMpOworICAgIGFk
ZE1hY3JvbWVkaWFQbHVnaW5EaXJlY3RvcmllcyhkaXJlY3Rvcmllcyk7CisKKyAgICByZXR1cm4g
ZGlyZWN0b3JpZXM7CiB9CiAKIGNsYXNzIFBhdGhXYWxrZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
ewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2Nh
cGVCcm93c2VyRnVuY3MuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TmV0c2NhcGVCcm93c2VyRnVuY3MuY3BwCmluZGV4IDFhYWUwNjYuLmQ2YzA4MGYgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlQnJvd3NlckZ1
bmNzLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2Fw
ZUJyb3dzZXJGdW5jcy5jcHAKQEAgLTQ0MCw2ICs0NDAsMTAgQEAgc3RhdGljIE5QRXJyb3IgTlBO
X0dldFZhbHVlKE5QUCBucHAsIE5QTlZhcmlhYmxlIHZhcmlhYmxlLCB2b2lkICp2YWx1ZSkKICAg
ICAgICAgICAgICooTlBCb29sKil2YWx1ZSA9IGZhbHNlOwogICAgICAgICAgICAgYnJlYWs7CiAj
ZW5kaWYKKyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICAgICBjYXNlIE5QTlZTdXBwb3J0c1dpbmRv
d2xlc3M6CisgICAgICAgICAgICooTlBCb29sKil2YWx1ZSA9IHRydWU7CisgICAgICAgICAgIGJy
ZWFrOwogI2VuZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBub3RJbXBsZW1lbnRl
ZCgpOwpAQCAtNDY4LDcgKzQ3MiwxMiBAQCBzdGF0aWMgTlBFcnJvciBOUE5fU2V0VmFsdWUoTlBQ
IG5wcCwgTlBQVmFyaWFibGUgdmFyaWFibGUsIHZvaWQgKnZhbHVlKQogICAgICAgICB9CiAjZW5k
aWYKIAotICAgICAgICBjYXNlIE5QUFZwbHVnaW5XaW5kb3dCb29sOgorICAgICAgICBjYXNlIE5Q
UFZwbHVnaW5XaW5kb3dCb29sOiB7CisgICAgICAgICAgICBSZWZQdHI8TmV0c2NhcGVQbHVnaW4+
IHBsdWdpbiA9IE5ldHNjYXBlUGx1Z2luOjpmcm9tTlBQKG5wcCk7CisgICAgICAgICAgICBwbHVn
aW4tPnNldElzV2luZG93ZWQodmFsdWUpOworICAgICAgICAgICAgcmV0dXJuIE5QRVJSX05PX0VS
Uk9SOworICAgICAgICB9CisKICAgICAgICAgY2FzZSBOUFBWcGx1Z2luVHJhbnNwYXJlbnRCb29s
OgogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAt
LWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2lu
LmNwcCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2lu
LmNwcAppbmRleCBhODlmOTM2Li44YTk0NjliIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCkBAIC00Niw2ICs0Niwx
MSBAQCBOZXRzY2FwZVBsdWdpbjo6TmV0c2NhcGVQbHVnaW4oUGFzc1JlZlB0cjxOZXRzY2FwZVBs
dWdpbk1vZHVsZT4gcGx1Z2luTW9kdWxlKQogICAgICwgbV9wbHVnaW5Nb2R1bGUocGx1Z2luTW9k
dWxlKQogICAgICwgbV9ucFdpbmRvdygpCiAgICAgLCBtX2lzU3RhcnRlZChmYWxzZSkKKyNpZiBQ
TEFURk9STShNQUMpCisgICAgLCBtX2lzV2luZG93ZWQoZmFsc2UpCisjZWxzZQorICAgICwgbV9p
c1dpbmRvd2VkKHRydWUpCisjZW5kaWYKICAgICAsIG1faW5OUFBOZXcoZmFsc2UpCiAgICAgLCBt
X2xvYWRNYW51YWxseShmYWxzZSkKICNpZiBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oIGIvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uaAppbmRleCBjYjRk
MTJkLi4xOGY2Y2Y1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OZXRzY2FwZVBsdWdpbi5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05ldHNjYXBlUGx1Z2luLmgKQEAgLTYyLDYgKzYyLDcgQEAgcHVibGljOgogICAgIHZv
aWQgbG9hZFVSTChjb25zdCBXVEY6OlN0cmluZyYgbWV0aG9kLCBjb25zdCBXVEY6OlN0cmluZyYg
dXJsU3RyaW5nLCBjb25zdCBXVEY6OlN0cmluZyYgdGFyZ2V0LCBjb25zdCBXZWJDb3JlOjpIVFRQ
SGVhZGVyTWFwJiBoZWFkZXJGaWVsZHMsCiAgICAgICAgICAgICAgICAgIGNvbnN0IFZlY3Rvcjxj
aGFyPiYgaHR0cEJvZHksIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZpY2F0aW9u
RGF0YSk7CiAgICAgTlBFcnJvciBkZXN0cm95U3RyZWFtKE5QU3RyZWFtKiwgTlBSZWFzb24pOwor
ICAgIHZvaWQgc2V0SXNXaW5kb3dlZChib29sIHdpbmRvd2VkKSB7IG1faXNXaW5kb3dlZCA9IHdp
bmRvd2VkOyB9CiAgICAgdm9pZCBzZXRTdGF0dXNiYXJUZXh0KGNvbnN0IFdURjo6U3RyaW5nJik7
CiAgICAgc3RhdGljIHZvaWQgc2V0RXhjZXB0aW9uKGNvbnN0IFdURjo6U3RyaW5nJik7CiAgICAg
Ym9vbCBldmFsdWF0ZShOUE9iamVjdCosIGNvbnN0IFdURjo6U3RyaW5nJnNjcmlwdFN0cmluZywg
TlBWYXJpYW50KiByZXN1bHQpOwpAQCAtMTU2LDYgKzE1Nyw3IEBAIHByaXZhdGU6CiAgICAgQ1N0
cmluZyBtX3VzZXJBZ2VudDsKIAogICAgIGJvb2wgbV9pc1N0YXJ0ZWQ7CisgICAgYm9vbCBtX2lz
V2luZG93ZWQ7CiAgICAgYm9vbCBtX2luTlBQTmV3OwogICAgIGJvb2wgbV9sb2FkTWFudWFsbHk7
CiAgICAgUmVmUHRyPE5ldHNjYXBlUGx1Z2luU3RyZWFtPiBtX21hbnVhbFN0cmVhbTsKQEAgLTE2
Nyw0MyArMTY5LDYgQEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAotLy8gTW92ZSB0aGVzZSBmdW5j
dGlvbnMgdG8gTmV0c2NhcGVQbHVnaW5XaW4uY3BwCi0jaWYgIVBMQVRGT1JNKE1BQykKLWlubGlu
ZSBib29sIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVBvc3RJbml0aWFsaXplKCkKLXsKLSAgICBy
ZXR1cm4gdHJ1ZTsKLX0KLQotaW5saW5lIHZvaWQgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtUGFp
bnQoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0KiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpCi17
Ci19Ci0KLWlubGluZSBib29sIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUhhbmRsZU1vdXNlRXZl
bnQoY29uc3QgV2ViTW91c2VFdmVudCYpCi17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1pbmxp
bmUgYm9vbCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1IYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFdl
YldoZWVsRXZlbnQmKQotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQotaW5saW5lIHZvaWQgTmV0
c2NhcGVQbHVnaW46OnBsYXRmb3JtU2V0Rm9jdXMoYm9vbCkKLXsKLX0KLQotaW5saW5lIGJvb2wg
TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91c2VFbnRlckV2ZW50KGNvbnN0IFdlYk1v
dXNlRXZlbnQmKQotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQotaW5saW5lIGJvb2wgTmV0c2Nh
cGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91c2VMZWF2ZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZl
bnQmKQotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCiAjZW5kaWYgLy8gTmV0c2NhcGVQbHVnaW5faApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGUu
Y3BwCmluZGV4IGEzYjg3ODguLjEzMTg1OTYgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luTW9kdWxlLmNwcAorKysgYi9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAKQEAg
LTEyOSwxNCArMTI5LDE0IEBAIGJvb2wgTmV0c2NhcGVQbHVnaW5Nb2R1bGU6OnRyeUxvYWQoKQog
ICAgIGlmICghbV9zaHV0ZG93blByb2NQdHIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IGlmIChpbml0aWFsaXplRnVuY1B0cihuZXRzY2FwZUJyb3dzZXJGdW5jcygpKSAhPSBOUEVSUl9O
T19FUlJPUikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAgbV9wbHVnaW5GdW5jcy5zaXpl
ID0gc2l6ZW9mKE5QUGx1Z2luRnVuY3MpOwogICAgIG1fcGx1Z2luRnVuY3MudmVyc2lvbiA9IChO
UF9WRVJTSU9OX01BSk9SIDw8IDgpIHwgTlBfVkVSU0lPTl9NSU5PUjsKICAgICBpZiAoZ2V0RW50
cnlQb2ludHNGdW5jUHRyKCZtX3BsdWdpbkZ1bmNzKSAhPSBOUEVSUl9OT19FUlJPUikKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKGluaXRpYWxpemVGdW5jUHRyKG5ldHNjYXBlQnJv
d3NlckZ1bmNzKCkpICE9IE5QRVJSX05PX0VSUk9SKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tIGIvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCmluZGV4IDVhY2I4
ZWQuLjQwN2NkNDUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KQEAgLTEzNyw2ICsxMzcsMTEg
QEAgc3RhdGljIGlubGluZSBOUENvY29hRXZlbnQgaW5pdGlhbGl6ZUV2ZW50KE5QQ29jb2FFdmVu
dFR5cGUgdHlwZSkKIAogdm9pZCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1QYWludChHcmFwaGlj
c0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCkKIHsKKyAgICBjb250
ZXh0LT5zYXZlKCk7CisKKyAgICAvLyBUcmFuc2xhdGUgdGhlIGNvbnRleHQgc28gdGhhdCB0aGUg
b3JpZ2luIGlzIGF0IHRoZSB0b3AgbGVmdCBjb3JuZXIgb2YgdGhlIHBsdWctaW4gdmlldy4KKyAg
ICBjb250ZXh0LT50cmFuc2xhdGUoZnJhbWVSZWN0KCkueCgpLCBmcmFtZVJlY3QoKS55KCkpOwor
CiAgICAgc3dpdGNoIChtX2V2ZW50TW9kZWwpIHsKICAgICAgICAgY2FzZSBOUEV2ZW50TW9kZWxD
b2NvYTogewogICAgICAgICAgICAgLy8gRG9uJ3Qgc2VuZCBkcmF3IGV2ZW50cyB3aGVuIHdlJ3Jl
IHVzaW5nIHRoZSBDb3JlIEFuaW1hdGlvbiBkcmF3aW5nIG1vZGVsLgpAQCAtMTU4LDYgKzE2Myw4
IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtUGFpbnQoR3JhcGhpY3NDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBJbnRSZWN0JiBkaXJ0CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CisKKyAgICBjb250ZXh0LT5yZXN0b3JlKCk7
CiB9CiAKIHN0YXRpYyB1aW50MzJfdCBtb2RpZmllckZsYWdzKGNvbnN0IFdlYkV2ZW50JiBldmVu
dCkKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3dpbi9O
ZXRzY2FwZVBsdWdpbldpbi5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS93aW4vTmV0c2NhcGVQbHVnaW5XaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmRkMmE5ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS93aW4vTmV0c2NhcGVQbHVnaW5XaW4uY3BwCkBAIC0wLDAgKzEsMjAzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgIk5ldHNjYXBlUGx1Z2luLmgiCisKKyNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIldlYkV2ZW50LmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9HcmFwaGljc0NvbnRleHQuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitib29sIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVBvc3RJbml0aWFs
aXplKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB0cnVlOworfQorCit2
b2lkIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0KQoreworICAgIC8vIEZJWE1FOiBDYWxsIFNldFdp
bmRvdyBoZXJlIGlmIHdlIGhhdmVuJ3QgY2FsbGVkIGl0IHlldCAoc2VlIHI1OTkwNCkuCisKKyAg
ICBpZiAobV9pc1dpbmRvd2VkKSB7CisgICAgICAgIC8vIEZJWE1FOiBQYWludCB3aW5kb3dlZCBw
bHVnaW5zIGludG8gY29udGV4dCBpZiBjb250ZXh0LT5zaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dz
KCkgaXMgdHJ1ZS4KKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIEZJWE1FOiBTdXBw
b3J0IHRyYW5zcGFyZW50IHBsdWdpbnMuCisgICAgSERDIGhkYyA9IGNvbnRleHQtPmdldFdpbmRv
d3NDb250ZXh0KGRpcnR5UmVjdCwgZmFsc2UpOworCisgICAgLy8gT24gU2FmYXJpL1dpbmRvd3Mg
d2l0aG91dCB0cmFuc3BhcmVuY3kgbGF5ZXJzIHRoZSBHcmFwaGljc0NvbnRleHQgcmV0dXJucyB0
aGUgSERDCisgICAgLy8gb2YgdGhlIHdpbmRvdyBhbmQgdGhlIHBsdWdpbiBleHBlY3RzIHRoYXQg
dGhlIHBhc3NlZCBpbiBEQyBoYXMgd2luZG93IGNvb3JkaW5hdGVzLgorICAgIC8vIEluIHRoZSBR
dCBwb3J0IHdlIGFsd2F5cyBkcmF3IGluIGFuIG9mZnNjcmVlbiBidWZmZXIgYW5kIHRoZXJlZm9y
ZSBuZWVkIHRvIHByZXNlcnZlCisgICAgLy8gdGhlIHRyYW5zbGF0aW9uIHNldCBpbiBnZXRXaW5k
b3dzQ29udGV4dC4KKyAgICBpZiAoIWNvbnRleHQtPmluVHJhbnNwYXJlbmN5TGF5ZXIoKSkgewor
ICAgICAgICBYRk9STSB0cmFuc2Zvcm07CisgICAgICAgIEdldFdvcmxkVHJhbnNmb3JtKGhkYywg
JnRyYW5zZm9ybSk7CisgICAgICAgIHRyYW5zZm9ybS5lRHggPSAwOworICAgICAgICB0cmFuc2Zv
cm0uZUR5ID0gMDsKKyAgICAgICAgLy9TZXRXb3JsZFRyYW5zZm9ybShoZGMsICZ0cmFuc2Zvcm0p
OworICAgIH0KKworICAgIG1fbnBXaW5kb3cudHlwZSA9IE5QV2luZG93VHlwZURyYXdhYmxlOwor
ICAgIG1fbnBXaW5kb3cud2luZG93ID0gaGRjOworCisgICAgV0lORE9XUE9TIHdpbmRvd3BvcyA9
IHsgMCwgMCwgMCwgMCwgMCwgMCwgMCB9OworCisgICAgd2luZG93cG9zLnggPSBtX2ZyYW1lUmVj
dC54KCk7CisgICAgd2luZG93cG9zLnkgPSBtX2ZyYW1lUmVjdC55KCk7CisgICAgd2luZG93cG9z
LmN4ID0gbV9mcmFtZVJlY3Qud2lkdGgoKTsKKyAgICB3aW5kb3dwb3MuY3kgPSBtX2ZyYW1lUmVj
dC5oZWlnaHQoKTsKKworICAgIE5QRXZlbnQgbnBFdmVudDsKKyAgICBucEV2ZW50LmV2ZW50ID0g
V01fV0lORE9XUE9TQ0hBTkdFRDsKKyAgICBucEV2ZW50LndQYXJhbSA9IDA7CisgICAgbnBFdmVu
dC5sUGFyYW0gPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oJndpbmRvd3Bvcyk7CisKKyAg
ICBOUFBfSGFuZGxlRXZlbnQoJm5wRXZlbnQpOworCisgICAgY2FsbFNldFdpbmRvdygpOworCisg
ICAgUkVDVCBkaXJ0eVdpblJlY3QgPSBkaXJ0eVJlY3Q7CisKKyAgICBucEV2ZW50LmV2ZW50ID0g
V01fUEFJTlQ7CisgICAgbnBFdmVudC53UGFyYW0gPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJf
dD4oaGRjKTsKKyAgICBucEV2ZW50LmxQYXJhbSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90
PigmZGlydHlXaW5SZWN0KTsKKworICAgIE5QUF9IYW5kbGVFdmVudCgmbnBFdmVudCk7CisKKyAg
ICAvLyBGSVhNRTogU3VwcG9ydCB0cmFuc3BhcmVudCBwbHVnaW5zLgorICAgIGNvbnRleHQtPnJl
bGVhc2VXaW5kb3dzQ29udGV4dChoZGMsIGRpcnR5UmVjdCwgZmFsc2UpOworfQorCitOUEV2ZW50
IHRvTlAoY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQpCit7CisgICAgTlBFdmVudCBucEV2ZW50
OworICAgIG5wRXZlbnQud1BhcmFtID0gMDsKKyAgICBucEV2ZW50LmxQYXJhbSA9IE1BS0VMUEFS
QU0oZXZlbnQucG9zaXRpb25YKCksIGV2ZW50LnBvc2l0aW9uWSgpKTsKKworICAgIGlmIChldmVu
dC5jb250cm9sS2V5KCkpCisgICAgICAgIG5wRXZlbnQud1BhcmFtIHw9IE1LX0NPTlRST0w7Cisg
ICAgaWYgKGV2ZW50LnNoaWZ0S2V5KCkpCisgICAgICAgIG5wRXZlbnQud1BhcmFtIHw9IE1LX1NI
SUZUOworCisgICAgc3dpdGNoIChldmVudC50eXBlKCkpIHsKKyAgICBjYXNlIFdlYkV2ZW50OjpN
b3VzZU1vdmU6CisgICAgICAgIG5wRXZlbnQuZXZlbnQgPSBXTV9NT1VTRU1PVkU7CisgICAgICAg
IHN3aXRjaCAoZXZlbnQuYnV0dG9uKCkpIHsKKyAgICAgICAgY2FzZSBXZWJNb3VzZUV2ZW50OjpO
b0J1dHRvbjoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYk1vdXNlRXZlbnQ6
OkxlZnRCdXR0b246CisgICAgICAgICAgICBucEV2ZW50LndQYXJhbSB8PSBNS19MQlVUVE9OOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViTW91c2VFdmVudDo6TWlkZGxlQnV0
dG9uOgorICAgICAgICAgICAgbnBFdmVudC53UGFyYW0gfD0gTUtfTUJVVFRPTjsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYk1vdXNlRXZlbnQ6OlJpZ2h0QnV0dG9uOgorICAg
ICAgICAgICAgbnBFdmVudC53UGFyYW0gfD0gTUtfUkJVVFRPTjsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViRXZlbnQ6Ok1vdXNlRG93
bjoKKyAgICAgICAgc3dpdGNoIChldmVudC5idXR0b24oKSkgeworICAgICAgICBjYXNlIFdlYk1v
dXNlRXZlbnQ6OkxlZnRCdXR0b246CisgICAgICAgICAgICBucEV2ZW50LmV2ZW50ID0gV01fTEJV
VFRPTkRPV047CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJNb3VzZUV2ZW50
OjpNaWRkbGVCdXR0b246CisgICAgICAgICAgICBucEV2ZW50LmV2ZW50ID0gV01fTUJVVFRPTkRP
V047CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJNb3VzZUV2ZW50OjpSaWdo
dEJ1dHRvbjoKKyAgICAgICAgICAgIG5wRXZlbnQuZXZlbnQgPSBXTV9SQlVUVE9ORE9XTjsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYk1vdXNlRXZlbnQ6Ok5vQnV0dG9uOgor
ICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkV2ZW50OjpNb3VzZVVwOgorICAg
ICAgICBzd2l0Y2ggKGV2ZW50LmJ1dHRvbigpKSB7CisgICAgICAgIGNhc2UgV2ViTW91c2VFdmVu
dDo6TGVmdEJ1dHRvbjoKKyAgICAgICAgICAgIG5wRXZlbnQuZXZlbnQgPSBXTV9MQlVUVE9OVVA7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJNb3VzZUV2ZW50OjpNaWRkbGVC
dXR0b246CisgICAgICAgICAgICBucEV2ZW50LmV2ZW50ID0gV01fTUJVVFRPTlVQOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViTW91c2VFdmVudDo6UmlnaHRCdXR0b246Cisg
ICAgICAgICAgICBucEV2ZW50LmV2ZW50ID0gV01fUkJVVFRPTlVQOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgV2ViTW91c2VFdmVudDo6Tm9CdXR0b246CisgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAg
ICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gbnBFdmVudDsKK30KKworYm9vbCBO
ZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1IYW5kbGVNb3VzZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZl
bnQmIGV2ZW50KQoreworICAgIEFTU0VSVCghbV9pc1dpbmRvd2VkKTsKKworICAgIE5QRXZlbnQg
bnBFdmVudCA9IHRvTlAoZXZlbnQpOworICAgIE5QUF9IYW5kbGVFdmVudCgmbnBFdmVudCk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxl
V2hlZWxFdmVudChjb25zdCBXZWJXaGVlbEV2ZW50JikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1T
ZXRGb2N1cyhib29sKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK2Jvb2wgTmV0c2Nh
cGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91c2VFbnRlckV2ZW50KGNvbnN0IFdlYk1vdXNlRXZl
bnQmKQoreworICAgIEFTU0VSVCghbV9pc1dpbmRvd2VkKTsKKworICAgIE5QRXZlbnQgbnBFdmVu
dCA9IHRvTlAoZXZlbnQpOworICAgIE5QUF9IYW5kbGVFdmVudCgmbnBFdmVudCk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKK2Jvb2wgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91c2VM
ZWF2ZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmKQoreworICAgIEFTU0VSVCghbV9pc1dpbmRv
d2VkKTsKKworICAgIE5QRXZlbnQgbnBFdmVudCA9IHRvTlAoZXZlbnQpOworICAgIE5QUF9IYW5k
bGVFdmVudCgmbnBFdmVudCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmll
dy5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCA3
M2Y1YWU1Li4xNTVkNTBkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5WaWV3LmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3
LmNwcApAQCAtMzc0LDE4ICszNzQsMTYgQEAgdm9pZCBQbHVnaW5WaWV3OjpwYWludChHcmFwaGlj
c0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCkKIHsKICAgICBpZiAo
Y29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpIHx8ICFtX3BsdWdpbiB8fCAhbV9pc0luaXRpYWxp
emVkKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBJbnRSZWN0IGRpcnR5UmVjdEluV2lu
ZG93Q29vcmRpbmF0ZXMgPSBwYXJlbnQoKS0+Y29udGVudHNUb1dpbmRvdyhkaXJ0eVJlY3QpOwog
ICAgIAogICAgIEludFJlY3QgcGFpbnRSZWN0SW5XaW5kb3dDb29yZGluYXRlcyA9IGludGVyc2Vj
dGlvbihkaXJ0eVJlY3RJbldpbmRvd0Nvb3JkaW5hdGVzLCBjbGlwUmVjdEluV2luZG93Q29vcmRp
bmF0ZXMoKSk7CiAgICAgaWYgKHBhaW50UmVjdEluV2luZG93Q29vcmRpbmF0ZXMuaXNFbXB0eSgp
KQogICAgICAgICByZXR1cm47CiAKKyAgICBJbnRQb2ludCBvcmlnaW5JbldpbmRvd0Nvb3JkaW5h
dGVzID0gcGFyZW50KCktPmNvbnRlbnRzVG9XaW5kb3coSW50UG9pbnQoKSk7CiAgICAgY29udGV4
dC0+c2F2ZSgpOwotCi0gICAgLy8gVHJhbnNsYXRlIHRoZSBjb250ZXh0IHNvIHRoYXQgdGhlIG9y
aWdpbiBpcyBhdCB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSBwbHVnLWluIHZpZXcuCi0gICAg
Y29udGV4dC0+dHJhbnNsYXRlKGZyYW1lUmVjdCgpLngoKSwgZnJhbWVSZWN0KCkueSgpKTsKLQor
ICAgIGNvbnRleHQtPnRyYW5zbGF0ZSgtb3JpZ2luSW5XaW5kb3dDb29yZGluYXRlcy54KCksIC1v
cmlnaW5JbldpbmRvd0Nvb3JkaW5hdGVzLnkoKSk7CiAgICAgbV9wbHVnaW4tPnBhaW50KGNvbnRl
eHQsIHBhaW50UmVjdEluV2luZG93Q29vcmRpbmF0ZXMpOwogICAgIGNvbnRleHQtPnJlc3RvcmUo
KTsKIH0KZGlmZiAtLWdpdCBhL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qIGIvV2ViS2l0Mi93
aW4vV2ViS2l0Mi52Y3Byb2oKaW5kZXggMGI4YjllOS4uYjNlZjRkOSAxMDA3NTUKLS0tIGEvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKKysrIGIvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oK
QEAgLTk2Niw2ICs5NjYsMTAgQEAKIAkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cV2ViUHJvY2Vzc1xQ
bHVnaW5zXE5ldHNjYXBlXE5ldHNjYXBlUGx1Z2luU3RyZWFtLmgiDQogCQkJCQkJPg0KIAkJCQkJ
PC9GaWxlPg0KKwkJCQkJPEZpbGUNCisJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3Nc
UGx1Z2luc1xOZXRzY2FwZVx3aW5cTmV0c2NhcGVQbHVnaW5XaW4uY3BwIg0KKwkJCQkJCT4NCisJ
CQkJCTwvRmlsZT4NCiAJCQkJPC9GaWx0ZXI+DQogCQkJPC9GaWx0ZXI+DQogCQk8L0ZpbHRlcj4N
CkBAIC0xMDczLDE5ICsxMDc3LDE5IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJv
eHkuY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJGcmFtZUxpc3RlbmVy
UHJveHkuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZl
UGF0aD0iLi5cVUlQcm9jZXNzXFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oIg0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJGcmFtZUxpc3RlbmVyUHJveHkuaCINCiAJCQkJ
Pg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vz
c1xXZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJv
Y2Vzc1xXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxl
Pg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYkZyYW1lTGlz
dGVuZXJQcm94eS5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJGcmFtZVBv
bGljeUxpc3RlbmVyUHJveHkuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
</data>

          </attachment>
      

    </bug>

</bugzilla>