<?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>122621</bug_id>
          
          <creation_ts>2013-10-10 13:48:30 -0700</creation_ts>
          <short_desc>+[JSContext currentCallee] should return the currently executing JS function</short_desc>
          <delta_ts>2014-02-06 17:51:54 -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>JavaScriptCore</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="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>938526</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-10-10 13:48:30 -0700</bug_when>
    <thetext>&quot;It would be useful if there was a +[JSContext currentObject] API which was callable from ObjC API callbacks.  Its purpose would be to allow convenient access to the JSValue wrapper for the currently-executing block callback.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938527</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-10-10 13:48:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/15180594&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938571</commentid>
    <comment_count>2</comment_count>
      <attachid>213933</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-10-10 15:21:50 -0700</bug_when>
    <thetext>Created attachment 213933
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938688</commentid>
    <comment_count>3</comment_count>
      <attachid>213933</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-10 22:44:02 -0700</bug_when>
    <thetext>Comment on attachment 213933
Patch

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

&gt; Source/JavaScriptCore/API/JSContext.h:72
&gt; ++ (JSValue *)currentCallee;

Don’t we need to put availability macros on new methods that were not always in older versions of this API?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940145</commentid>
    <comment_count>4</comment_count>
      <attachid>214305</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-10-15 14:56:09 -0700</bug_when>
    <thetext>Created attachment 214305
availability macro hacks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940146</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-15 14:57:07 -0700</bug_when>
    <thetext>Attachment 214305 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSContext.h&apos;, u&apos;Source/JavaScriptCore/API/JSContext.mm&apos;, u&apos;Source/JavaScriptCore/API/JSContextInternal.h&apos;, u&apos;Source/JavaScriptCore/API/ObjCCallbackFunction.mm&apos;, u&apos;Source/JavaScriptCore/API/WebKitAvailability.h&apos;, u&apos;Source/JavaScriptCore/API/tests/testapi.mm&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;]&quot; exit_code: 1
Source/JavaScriptCore/API/WebKitAvailability.h:52:  Missing spaces around =  [whitespace/operators] [4]
Total errors found: 1 in 7 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>940156</commentid>
    <comment_count>6</comment_count>
      <attachid>214308</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-10-15 15:19:01 -0700</bug_when>
    <thetext>Created attachment 214308
more availability macro hacks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940157</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-15 15:20:26 -0700</bug_when>
    <thetext>Attachment 214308 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSContext.h&apos;, u&apos;Source/JavaScriptCore/API/JSContext.mm&apos;, u&apos;Source/JavaScriptCore/API/JSContextInternal.h&apos;, u&apos;Source/JavaScriptCore/API/ObjCCallbackFunction.mm&apos;, u&apos;Source/JavaScriptCore/API/WebKitAvailability.h&apos;, u&apos;Source/JavaScriptCore/API/tests/testapi.mm&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;]&quot; exit_code: 1
Source/JavaScriptCore/API/WebKitAvailability.h:52:  Missing spaces around =  [whitespace/operators] [4]
Total errors found: 1 in 7 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>940173</commentid>
    <comment_count>8</comment_count>
      <attachid>214308</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-15 15:48:34 -0700</bug_when>
    <thetext>Comment on attachment 214308
more availability macro hacks

Attachment 214308 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/4107054</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940179</commentid>
    <comment_count>9</comment_count>
      <attachid>214315</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-10-15 16:03:48 -0700</bug_when>
    <thetext>Created attachment 214315
trying to build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940180</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-15 16:04:57 -0700</bug_when>
    <thetext>Attachment 214315 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSContext.h&apos;, u&apos;Source/JavaScriptCore/API/JSContext.mm&apos;, u&apos;Source/JavaScriptCore/API/JSContextInternal.h&apos;, u&apos;Source/JavaScriptCore/API/ObjCCallbackFunction.mm&apos;, u&apos;Source/JavaScriptCore/API/WebKitAvailability.h&apos;, u&apos;Source/JavaScriptCore/API/tests/testapi.mm&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;]&quot; exit_code: 1
Source/JavaScriptCore/API/WebKitAvailability.h:52:  Missing spaces around =  [whitespace/operators] [4]
Total errors found: 1 in 7 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>940183</commentid>
    <comment_count>11</comment_count>
      <attachid>214317</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-10-15 16:23:38 -0700</bug_when>
    <thetext>Created attachment 214317
whyunobuild</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940184</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-15 16:24:37 -0700</bug_when>
    <thetext>Attachment 214317 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSContext.h&apos;, u&apos;Source/JavaScriptCore/API/JSContext.mm&apos;, u&apos;Source/JavaScriptCore/API/JSContextInternal.h&apos;, u&apos;Source/JavaScriptCore/API/ObjCCallbackFunction.mm&apos;, u&apos;Source/JavaScriptCore/API/WebKitAvailability.h&apos;, u&apos;Source/JavaScriptCore/API/tests/testapi.mm&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;]&quot; exit_code: 1
Source/JavaScriptCore/API/WebKitAvailability.h:52:  Missing spaces around =  [whitespace/operators] [4]
Total errors found: 1 in 7 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>940192</commentid>
    <comment_count>13</comment_count>
      <attachid>214317</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-15 16:54:26 -0700</bug_when>
    <thetext>Comment on attachment 214317
whyunobuild

Attachment 214317 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/3482132</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940197</commentid>
    <comment_count>14</comment_count>
      <attachid>214317</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-15 17:08:20 -0700</bug_when>
    <thetext>Comment on attachment 214317
whyunobuild

Attachment 214317 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/4110069</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977611</commentid>
    <comment_count>15</comment_count>
      <attachid>223403</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-06 16:36:13 -0800</bug_when>
    <thetext>Created attachment 223403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977613</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-06 16:37:27 -0800</bug_when>
    <thetext>Attachment 223403 did not pass style-queue:


ERROR: Source/JavaScriptCore/API/JSContext.h:108:  Missing space after ,  [whitespace/comma] [3]
ERROR: Source/JavaScriptCore/API/JSContext.h:110:  Missing space after ,  [whitespace/comma] [3]
Total errors found: 2 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>977626</commentid>
    <comment_count>17</comment_count>
      <attachid>223403</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-02-06 16:51:37 -0800</bug_when>
    <thetext>Comment on attachment 223403
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977639</commentid>
    <comment_count>18</comment_count>
      <attachid>223403</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-06 17:18:19 -0800</bug_when>
    <thetext>Comment on attachment 223403
Patch

Needs some macro magic for iOS stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977662</commentid>
    <comment_count>19</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-06 17:51:54 -0800</bug_when>
    <thetext>Committed r163590: &lt;http://trac.webkit.org/changeset/163590&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213933</attachid>
            <date>2013-10-10 15:21:50 -0700</date>
            <delta_ts>2013-10-15 14:56:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122621-20131010152150.patch</filename>
            <type>text/plain</type>
            <size>8060</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3MjYwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDEzLTEwLTEwICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgK1tKU0NvbnRleHQgY3VycmVudENhbGxlZV0gc2hvdWxkIHJldHVybiB0aGUgY3Vy
cmVudGx5IGV4ZWN1dGluZyBKUyBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNjIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSXQgd291bGQgYmUgdXNlZnVsIGlmIHRoZXJlIHdhcyBhICtb
SlNDb250ZXh0IGN1cnJlbnRPYmplY3RdIEFQSSB3aGljaCB3YXMgCisgICAgICAgIGNhbGxhYmxl
IGZyb20gT2JqQyBBUEkgY2FsbGJhY2tzLiAgSXRzIHB1cnBvc2Ugd291bGQgYmUgdG8gYWxsb3cg
Y29udmVuaWVudCAKKyAgICAgICAgYWNjZXNzIHRvIHRoZSBKU1ZhbHVlIHdyYXBwZXIgZm9yIHRo
ZSBjdXJyZW50bHktZXhlY3V0aW5nIGJsb2NrIGNhbGxiYWNrLgorCisgICAgICAgICogQVBJL0pT
Q29udGV4dC5oOgorICAgICAgICAqIEFQSS9KU0NvbnRleHQubW06CisgICAgICAgICgrW0pTQ29u
dGV4dCBjdXJyZW50Q2FsbGVlXSk6CisgICAgICAgICgtW0pTQ29udGV4dCBiZWdpbkNhbGxiYWNr
V2l0aERhdGE6Y2FsbGVlVmFsdWU6dGhpc1ZhbHVlOmFyZ3VtZW50Q291bnQ6YXJndW1lbnRzOl0p
OgorICAgICAgICAqIEFQSS9KU0NvbnRleHRJbnRlcm5hbC5oOgorICAgICAgICAqIEFQSS9PYmpD
Q2FsbGJhY2tGdW5jdGlvbi5tbToKKyAgICAgICAgKEpTQzo6b2JqQ0NhbGxiYWNrRnVuY3Rpb25D
YWxsQXNGdW5jdGlvbik6CisgICAgICAgIChKU0M6Om9iakNDYWxsYmFja0Z1bmN0aW9uQ2FsbEFz
Q29uc3RydWN0b3IpOgorICAgICAgICAqIEFQSS90ZXN0cy90ZXN0YXBpLm1tOgorCiAyMDEzLTEw
LTA5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgRlRMOiBTb2Z0
LWxpbmsgTExWTSBhcyBhIHdvcmthcm91bmQgZm9yIExMVk0ncyBzdGF0aWMgaW5pdGlhbGl6ZXJz
IGFuZCBleGl0LXRpbWUgZGVzdHJ1Y3RvcnMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NvbnRleHQuaAkocmV2aXNpb24gMTU3MjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtNjYsNiArNjYsMTEgQEAgT0JKQ19WSVNJ
QkxFCiAvLyBhIGNhbGxiYWNrIGZyb20gSmF2YVNjcmlwdCB0aGlzIG1ldGhvZCB3aWxsIHJldHVy
biBuaWwuCiArIChKU0NvbnRleHQgKiljdXJyZW50Q29udGV4dDsKIC8vIFRoaXMgbWV0aG9kIG1h
eSBiZSBjYWxsZWQgZnJvbSB3aXRoaW4gYW4gT2JqZWN0aXZlLUMgYmxvY2sgb3IgbWV0aG9kIGlu
dm9rZWQKKy8vIGFzIGEgY2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0IHRvIHJldHJpZXZlIHRoZSBK
U1ZhbHVlIGZvciB0aGUgY3VycmVudGx5IAorLy8gZXhlY3V0aW5nIGNhbGxiYWNrLiBPdXRzaWRl
IG9mIGEgY2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0IHRoaXMgbWV0aG9kIHdpbGwgCisvLyByZXR1
cm4gbmlsLgorKyAoSlNWYWx1ZSAqKWN1cnJlbnRDYWxsZWU7CisvLyBUaGlzIG1ldGhvZCBtYXkg
YmUgY2FsbGVkIGZyb20gd2l0aGluIGFuIE9iamVjdGl2ZS1DIGJsb2NrIG9yIG1ldGhvZCBpbnZv
a2VkCiAvLyBhcyBhIGNhbGxiYWNrIGZyb20gSmF2YVNjcmlwdCB0byByZXRyaWV2ZSB0aGUgY2Fs
bGJhY2sncyB0aGlzIHZhbHVlLiBPdXRzaWRlCiAvLyBvZiBhIGNhbGxiYWNrIGZyb20gSmF2YVNj
cmlwdCB0aGlzIG1ldGhvZCB3aWxsIHJldHVybiBuaWwuCiArIChKU1ZhbHVlICopY3VycmVudFRo
aXM7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29udGV4dC5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29udGV4dC5tbQkocmV2aXNpb24g
MTU3MjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHQubW0JKHdvcmtp
bmcgY29weSkKQEAgLTE0MSw2ICsxNDEsMTUgQEAgKyAoSlNWYWx1ZSAqKWN1cnJlbnRUaGlzCiAg
ICAgcmV0dXJuIFtKU1ZhbHVlIHZhbHVlV2l0aEpTVmFsdWVSZWY6ZW50cnktPnRoaXNWYWx1ZSBp
bkNvbnRleHQ6W0pTQ29udGV4dCBjdXJyZW50Q29udGV4dF1dOwogfQogCisrIChKU1ZhbHVlICop
Y3VycmVudENhbGxlZQoreworICAgIFdURlRocmVhZERhdGEmIHRocmVhZERhdGEgPSB3dGZUaHJl
YWREYXRhKCk7CisgICAgQ2FsbGJhY2tEYXRhICplbnRyeSA9IChDYWxsYmFja0RhdGEgKil0aHJl
YWREYXRhLm1fYXBpRGF0YTsKKyAgICBpZiAoIWVudHJ5KQorICAgICAgICByZXR1cm4gbmlsOwor
ICAgIHJldHVybiBbSlNWYWx1ZSB2YWx1ZVdpdGhKU1ZhbHVlUmVmOmVudHJ5LT5jYWxsZWVWYWx1
ZSBpbkNvbnRleHQ6W0pTQ29udGV4dCBjdXJyZW50Q29udGV4dF1dOworfQorCiArIChOU0FycmF5
ICopY3VycmVudEFyZ3VtZW50cwogewogICAgIFdURlRocmVhZERhdGEmIHRocmVhZERhdGEgPSB3
dGZUaHJlYWREYXRhKCk7CkBAIC0yMjIsMTIgKzIzMSwxMiBAQCAtIChCT09MKWJvb2xGcm9tTm90
aWZ5RXhjZXB0aW9uOihKU1ZhbHVlCiAgICAgcmV0dXJuIE5POwogfQogCi0tICh2b2lkKWJlZ2lu
Q2FsbGJhY2tXaXRoRGF0YTooQ2FsbGJhY2tEYXRhICopY2FsbGJhY2tEYXRhIHRoaXNWYWx1ZToo
SlNWYWx1ZVJlZil0aGlzVmFsdWUgYXJndW1lbnRDb3VudDooc2l6ZV90KWFyZ3VtZW50Q291bnQg
YXJndW1lbnRzOihjb25zdCBKU1ZhbHVlUmVmICopYXJndW1lbnRzCistICh2b2lkKWJlZ2luQ2Fs
bGJhY2tXaXRoRGF0YTooQ2FsbGJhY2tEYXRhICopY2FsbGJhY2tEYXRhIGNhbGxlZVZhbHVlOihK
U1ZhbHVlUmVmKWNhbGxlZVZhbHVlIHRoaXNWYWx1ZTooSlNWYWx1ZVJlZil0aGlzVmFsdWUgYXJn
dW1lbnRDb3VudDooc2l6ZV90KWFyZ3VtZW50Q291bnQgYXJndW1lbnRzOihjb25zdCBKU1ZhbHVl
UmVmICopYXJndW1lbnRzCiB7CiAgICAgV1RGVGhyZWFkRGF0YSYgdGhyZWFkRGF0YSA9IHd0ZlRo
cmVhZERhdGEoKTsKICAgICBbc2VsZiByZXRhaW5dOwogICAgIENhbGxiYWNrRGF0YSAqcHJldlN0
YWNrID0gKENhbGxiYWNrRGF0YSAqKXRocmVhZERhdGEubV9hcGlEYXRhOwotICAgICpjYWxsYmFj
a0RhdGEgPSAoQ2FsbGJhY2tEYXRhKXsgcHJldlN0YWNrLCBzZWxmLCBbc2VsZi5leGNlcHRpb24g
cmV0YWluXSwgdGhpc1ZhbHVlLCBhcmd1bWVudENvdW50LCBhcmd1bWVudHMsIG5pbCB9OworICAg
ICpjYWxsYmFja0RhdGEgPSAoQ2FsbGJhY2tEYXRhKXsgcHJldlN0YWNrLCBzZWxmLCBbc2VsZi5l
eGNlcHRpb24gcmV0YWluXSwgY2FsbGVlVmFsdWUsIHRoaXNWYWx1ZSwgYXJndW1lbnRDb3VudCwg
YXJndW1lbnRzLCBuaWwgfTsKICAgICB0aHJlYWREYXRhLm1fYXBpRGF0YSA9IGNhbGxiYWNrRGF0
YTsKICAgICBzZWxmLmV4Y2VwdGlvbiA9IG5pbDsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDb250ZXh0SW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ29udGV4dEludGVybmFsLmgJKHJldmlzaW9uIDE1NzI1OCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0SW50ZXJuYWwuaAkod29ya2luZyBjb3B5
KQpAQCAtMzYsNiArMzYsNyBAQCBzdHJ1Y3QgQ2FsbGJhY2tEYXRhIHsKICAgICBDYWxsYmFja0Rh
dGEgKm5leHQ7CiAgICAgSlNDb250ZXh0ICpjb250ZXh0OwogICAgIEpTVmFsdWUgKnByZXNlcnZl
ZEV4Y2VwdGlvbjsKKyAgICBKU1ZhbHVlUmVmIGNhbGxlZVZhbHVlOwogICAgIEpTVmFsdWVSZWYg
dGhpc1ZhbHVlOwogICAgIHNpemVfdCBhcmd1bWVudENvdW50OwogICAgIGNvbnN0IEpTVmFsdWVS
ZWYgKmFyZ3VtZW50czsKQEAgLTY0LDcgKzY1LDcgQEAgcHJpdmF0ZToKIC0gKEpTVmFsdWUgKil2
YWx1ZUZyb21Ob3RpZnlFeGNlcHRpb246KEpTVmFsdWVSZWYpZXhjZXB0aW9uOwogLSAoQk9PTCli
b29sRnJvbU5vdGlmeUV4Y2VwdGlvbjooSlNWYWx1ZVJlZilleGNlcHRpb247CiAKLS0gKHZvaWQp
YmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxsYmFja0RhdGEgdGhpc1Zh
bHVlOihKU1ZhbHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50OihzaXplX3QpYXJndW1lbnRD
b3VudCBhcmd1bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVudHM7CistICh2b2lkKWJl
Z2luQ2FsbGJhY2tXaXRoRGF0YTooQ2FsbGJhY2tEYXRhICopY2FsbGJhY2tEYXRhIGNhbGxlZVZh
bHVlOihKU1ZhbHVlUmVmKWNhbGxlZVZhbHVlIHRoaXNWYWx1ZTooSlNWYWx1ZVJlZil0aGlzVmFs
dWUgYXJndW1lbnRDb3VudDooc2l6ZV90KWFyZ3VtZW50Q291bnQgYXJndW1lbnRzOihjb25zdCBK
U1ZhbHVlUmVmICopYXJndW1lbnRzOwogLSAodm9pZCllbmRDYWxsYmFja1dpdGhEYXRhOihDYWxs
YmFja0RhdGEgKiljYWxsYmFja0RhdGE7CiAKIC0gKEpTVmFsdWUgKil3cmFwcGVyRm9yT2JqQ09i
amVjdDooaWQpb2JqZWN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9PYmpDQ2Fs
bGJhY2tGdW5jdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L09iakNDYWxsYmFja0Z1bmN0aW9uLm1tCShyZXZpc2lvbiAxNTcyNTgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL09iakNDYWxsYmFja0Z1bmN0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC00NTYsNyArNDU2LDcgQEAgc3RhdGljIEpTVmFsdWVSZWYgb2JqQ0NhbGxiYWNrRnVuY3Rpb25D
YQogICAgIENhbGxiYWNrRGF0YSBjYWxsYmFja0RhdGE7CiAgICAgSlNWYWx1ZVJlZiByZXN1bHQ7
CiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0gICAgICAgIFtjb250ZXh0IGJlZ2luQ2FsbGJhY2tX
aXRoRGF0YTomY2FsbGJhY2tEYXRhIHRoaXNWYWx1ZTp0aGlzT2JqZWN0IGFyZ3VtZW50Q291bnQ6
YXJndW1lbnRDb3VudCBhcmd1bWVudHM6YXJndW1lbnRzXTsKKyAgICAgICAgW2NvbnRleHQgYmVn
aW5DYWxsYmFja1dpdGhEYXRhOiZjYWxsYmFja0RhdGEgY2FsbGVlVmFsdWU6ZnVuY3Rpb24gdGhp
c1ZhbHVlOnRoaXNPYmplY3QgYXJndW1lbnRDb3VudDphcmd1bWVudENvdW50IGFyZ3VtZW50czph
cmd1bWVudHNdOwogICAgICAgICByZXN1bHQgPSBpbXBsLT5jYWxsKGNvbnRleHQsIHRoaXNPYmpl
Y3QsIGFyZ3VtZW50Q291bnQsIGFyZ3VtZW50cywgZXhjZXB0aW9uKTsKICAgICAgICAgaWYgKGNv
bnRleHQuZXhjZXB0aW9uKQogICAgICAgICAgICAgKmV4Y2VwdGlvbiA9IHZhbHVlSW50ZXJuYWxW
YWx1ZShjb250ZXh0LmV4Y2VwdGlvbik7CkBAIC00NzYsNyArNDc2LDcgQEAgc3RhdGljIEpTT2Jq
ZWN0UmVmIG9iakNDYWxsYmFja0Z1bmN0aW9uQwogICAgIENhbGxiYWNrRGF0YSBjYWxsYmFja0Rh
dGE7CiAgICAgSlNWYWx1ZVJlZiByZXN1bHQ7CiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0gICAg
ICAgIFtjb250ZXh0IGJlZ2luQ2FsbGJhY2tXaXRoRGF0YTomY2FsbGJhY2tEYXRhIHRoaXNWYWx1
ZTpuaWwgYXJndW1lbnRDb3VudDphcmd1bWVudENvdW50IGFyZ3VtZW50czphcmd1bWVudHNdOwor
ICAgICAgICBbY29udGV4dCBiZWdpbkNhbGxiYWNrV2l0aERhdGE6JmNhbGxiYWNrRGF0YSBjYWxs
ZWVWYWx1ZTpjb25zdHJ1Y3RvciB0aGlzVmFsdWU6bmlsIGFyZ3VtZW50Q291bnQ6YXJndW1lbnRD
b3VudCBhcmd1bWVudHM6YXJndW1lbnRzXTsKICAgICAgICAgcmVzdWx0ID0gaW1wbC0+Y2FsbChj
b250ZXh0LCBOVUxMLCBhcmd1bWVudENvdW50LCBhcmd1bWVudHMsIGV4Y2VwdGlvbik7CiAgICAg
ICAgIGlmIChjb250ZXh0LmV4Y2VwdGlvbikKICAgICAgICAgICAgICpleGNlcHRpb24gPSB2YWx1
ZUludGVybmFsVmFsdWUoY29udGV4dC5leGNlcHRpb24pOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQkocmV2aXNpb24gMTU3MjU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05
NjAsNiArOTYwLDI1IEBAIHZvaWQgdGVzdE9iamVjdGl2ZUNBUEkoKQogICAgIEBhdXRvcmVsZWFz
ZXBvb2wgewogICAgICAgICBjaGVja1Jlc3VsdChAIltKU0NvbnRleHQgY3VycmVudFRoaXNdID09
IG5pbCBvdXRzaWRlIG9mIGNhbGxiYWNrIiwgIVtKU0NvbnRleHQgY3VycmVudFRoaXNdKTsKICAg
ICAgICAgY2hlY2tSZXN1bHQoQCJbSlNDb250ZXh0IGN1cnJlbnRBcmd1bWVudHNdID09IG5pbCBv
dXRzaWRlIG9mIGNhbGxiYWNrIiwgIVtKU0NvbnRleHQgY3VycmVudEFyZ3VtZW50c10pOworICAg
ICAgICBjaGVja1Jlc3VsdChAIltKU0NvbnRleHQgY3VycmVudENhbGxlZV0gPT0gbmlsIG91dHNp
ZGUgb2YgY2FsbGJhY2siLCAhW0pTQ29udGV4dCBjdXJyZW50Q2FsbGVlXSk7CisgICAgfQorCisg
ICAgQGF1dG9yZWxlYXNlcG9vbCB7CisgICAgICAgIEpTQ29udGV4dCAqY29udGV4dCA9IFtbSlND
b250ZXh0IGFsbG9jXSBpbml0XTsKKyAgICAgICAgY29udGV4dFtAInRlc3RGdW5jdGlvbiJdID0g
XnsKKyAgICAgICAgICAgIGNoZWNrUmVzdWx0KEAidGVzdEZ1bmN0aW9uLmZvbyA9PT0gNDIiLCBb
W0pTQ29udGV4dCBjdXJyZW50Q2FsbGVlXVtAImZvbyJdIHRvSW50MzJdID09IDQyKTsKKyAgICAg
ICAgfTsKKyAgICAgICAgY29udGV4dFtAInRlc3RGdW5jdGlvbiJdW0AiZm9vIl0gPSBANDI7Cisg
ICAgICAgIFtjb250ZXh0W0AidGVzdEZ1bmN0aW9uIl0gY2FsbFdpdGhBcmd1bWVudHM6bmlsXTsK
KworICAgICAgICBjb250ZXh0W0AiVGVzdENvbnN0cnVjdG9yIl0gPSBeeworICAgICAgICAgICAg
SlNWYWx1ZSAqbmV3VGhpcyA9IFtKU1ZhbHVlIHZhbHVlV2l0aE5ld09iamVjdEluQ29udGV4dDpb
SlNDb250ZXh0IGN1cnJlbnRDb250ZXh0XV07CisgICAgICAgICAgICBKU0dsb2JhbENvbnRleHRS
ZWYgY29udGV4dFJlZiA9IFtbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBKU0dsb2JhbENvbnRl
eHRSZWZdOworICAgICAgICAgICAgSlNPYmplY3RSZWYgbmV3VGhpc1JlZiA9IEpTVmFsdWVUb09i
amVjdChjb250ZXh0UmVmLCBbbmV3VGhpcyBKU1ZhbHVlUmVmXSwgTlVMTCk7CisgICAgICAgICAg
ICBKU09iamVjdFNldFByb3RvdHlwZShjb250ZXh0UmVmLCBuZXdUaGlzUmVmLCBbW0pTQ29udGV4
dCBjdXJyZW50Q2FsbGVlXVtAInByb3RvdHlwZSJdIEpTVmFsdWVSZWZdKTsKKyAgICAgICAgICAg
IHJldHVybiBuZXdUaGlzOworICAgICAgICB9OworICAgICAgICBjaGVja1Jlc3VsdChAIihuZXcg
VGVzdENvbnN0cnVjdG9yKSBpbnN0YW5jZW9mIFRlc3RDb25zdHJ1Y3RvciIsIFtjb250ZXh0IGV2
YWx1YXRlU2NyaXB0OkAiKG5ldyBUZXN0Q29uc3RydWN0b3IpIGluc3RhbmNlb2YgVGVzdENvbnN0
cnVjdG9yIl0pOwogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214305</attachid>
            <date>2013-10-15 14:56:09 -0700</date>
            <delta_ts>2013-10-15 15:18:59 -0700</delta_ts>
            <desc>availability macro hacks</desc>
            <filename>bug-122621-20131015145603.patch</filename>
            <type>text/plain</type>
            <size>9021</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3NDcwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEzLTEwLTE1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgK1tKU0NvbnRleHQgY3VycmVudENhbGxlZV0gc2hvdWxkIHJldHVybiB0aGUgY3Vy
cmVudGx5IGV4ZWN1dGluZyBKUyBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNjIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSXQgd291bGQgYmUgdXNlZnVsIGlmIHRoZXJlIHdhcyBhICtb
SlNDb250ZXh0IGN1cnJlbnRPYmplY3RdIEFQSSB3aGljaCB3YXMgCisgICAgICAgIGNhbGxhYmxl
IGZyb20gT2JqQyBBUEkgY2FsbGJhY2tzLiBJdHMgcHVycG9zZSB3b3VsZCBiZSB0byBhbGxvdyBj
b252ZW5pZW50IAorICAgICAgICBhY2Nlc3MgdG8gdGhlIEpTVmFsdWUgd3JhcHBlciBmb3IgdGhl
IGN1cnJlbnRseS1leGVjdXRpbmcgYmxvY2sgY2FsbGJhY2suCisKKyAgICAgICAgKiBBUEkvSlND
b250ZXh0Lmg6CisgICAgICAgICogQVBJL0pTQ29udGV4dC5tbToKKyAgICAgICAgKCtbSlNDb250
ZXh0IGN1cnJlbnRDYWxsZWVdKToKKyAgICAgICAgKC1bSlNDb250ZXh0IGJlZ2luQ2FsbGJhY2tX
aXRoRGF0YTpjYWxsZWVWYWx1ZTp0aGlzVmFsdWU6YXJndW1lbnRDb3VudDphcmd1bWVudHM6XSk6
CisgICAgICAgICogQVBJL0pTQ29udGV4dEludGVybmFsLmg6CisgICAgICAgICogQVBJL09iakND
YWxsYmFja0Z1bmN0aW9uLm1tOgorICAgICAgICAoSlNDOjpvYmpDQ2FsbGJhY2tGdW5jdGlvbkNh
bGxBc0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6b2JqQ0NhbGxiYWNrRnVuY3Rpb25DYWxsQXND
b25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL1dlYktpdEF2YWlsYWJpbGl0eS5oOiBBZGRlZCBz
dXBwbGVtZW50YWwgc3ltYm9scyBmb3IgcGxhdGZvcm1zIHRoYXQgZG9uJ3QgCisgICAgICAgIHN1
cHBvcnQgdGhlIG5lY2Vzc2FyeSBhdmFpbGFiaWxpdHkgbWFjcm9zLgorICAgICAgICAqIEFQSS90
ZXN0cy90ZXN0YXBpLm1tOgorCiAyMDEzLTEwLTE1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVu
YmVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgT2JqQ0NhbGxiYWNrRnVuY3Rpb25JbXBsIHNob3Vs
ZG4ndCBzdG9yZSBhIEpTQ29udGV4dApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29u
dGV4dC5oCShyZXZpc2lvbiAxNTc0NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
Q29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC02Niw2ICs2NiwxMSBAQCBPQkpDX1ZJU0lCTEUK
IC8vIGEgY2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0IHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIG5p
bC4KICsgKEpTQ29udGV4dCAqKWN1cnJlbnRDb250ZXh0OwogLy8gVGhpcyBtZXRob2QgbWF5IGJl
IGNhbGxlZCBmcm9tIHdpdGhpbiBhbiBPYmplY3RpdmUtQyBibG9jayBvciBtZXRob2QgaW52b2tl
ZAorLy8gYXMgYSBjYWxsYmFjayBmcm9tIEphdmFTY3JpcHQgdG8gcmV0cmlldmUgdGhlIEpTVmFs
dWUgZm9yIHRoZSBjdXJyZW50bHkgCisvLyBleGVjdXRpbmcgY2FsbGJhY2suIE91dHNpZGUgb2Yg
YSBjYWxsYmFjayBmcm9tIEphdmFTY3JpcHQgdGhpcyBtZXRob2Qgd2lsbCAKKy8vIHJldHVybiBu
aWwuCisrIChKU1ZhbHVlICopY3VycmVudENhbGxlZSBOU19BVkFJTEFCTEUoMTBfMTAsIE5BKTsK
Ky8vIFRoaXMgbWV0aG9kIG1heSBiZSBjYWxsZWQgZnJvbSB3aXRoaW4gYW4gT2JqZWN0aXZlLUMg
YmxvY2sgb3IgbWV0aG9kIGludm9rZWQKIC8vIGFzIGEgY2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0
IHRvIHJldHJpZXZlIHRoZSBjYWxsYmFjaydzIHRoaXMgdmFsdWUuIE91dHNpZGUKIC8vIG9mIGEg
Y2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0IHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIG5pbC4KICsg
KEpTVmFsdWUgKiljdXJyZW50VGhpczsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDb250ZXh0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
b250ZXh0Lm1tCShyZXZpc2lvbiAxNTc0NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ29udGV4dC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSwxNSBAQCArIChKU1Zh
bHVlICopY3VycmVudFRoaXMKICAgICByZXR1cm4gW0pTVmFsdWUgdmFsdWVXaXRoSlNWYWx1ZVJl
ZjplbnRyeS0+dGhpc1ZhbHVlIGluQ29udGV4dDpbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0XV07
CiB9CiAKKysgKEpTVmFsdWUgKiljdXJyZW50Q2FsbGVlCit7CisgICAgV1RGVGhyZWFkRGF0YSYg
dGhyZWFkRGF0YSA9IHd0ZlRocmVhZERhdGEoKTsKKyAgICBDYWxsYmFja0RhdGEgKmVudHJ5ID0g
KENhbGxiYWNrRGF0YSAqKXRocmVhZERhdGEubV9hcGlEYXRhOworICAgIGlmICghZW50cnkpCisg
ICAgICAgIHJldHVybiBuaWw7CisgICAgcmV0dXJuIFtKU1ZhbHVlIHZhbHVlV2l0aEpTVmFsdWVS
ZWY6ZW50cnktPmNhbGxlZVZhbHVlIGluQ29udGV4dDpbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0
XV07Cit9CisKICsgKE5TQXJyYXkgKiljdXJyZW50QXJndW1lbnRzCiB7CiAgICAgV1RGVGhyZWFk
RGF0YSYgdGhyZWFkRGF0YSA9IHd0ZlRocmVhZERhdGEoKTsKQEAgLTIyMiwxMiArMjMxLDEyIEBA
IC0gKEJPT0wpYm9vbEZyb21Ob3RpZnlFeGNlcHRpb246KEpTVmFsdWUKICAgICByZXR1cm4gTk87
CiB9CiAKLS0gKHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxs
YmFja0RhdGEgdGhpc1ZhbHVlOihKU1ZhbHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50Oihz
aXplX3QpYXJndW1lbnRDb3VudCBhcmd1bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVu
dHMKKy0gKHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxsYmFj
a0RhdGEgY2FsbGVlVmFsdWU6KEpTVmFsdWVSZWYpY2FsbGVlVmFsdWUgdGhpc1ZhbHVlOihKU1Zh
bHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50OihzaXplX3QpYXJndW1lbnRDb3VudCBhcmd1
bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVudHMKIHsKICAgICBXVEZUaHJlYWREYXRh
JiB0aHJlYWREYXRhID0gd3RmVGhyZWFkRGF0YSgpOwogICAgIFtzZWxmIHJldGFpbl07CiAgICAg
Q2FsbGJhY2tEYXRhICpwcmV2U3RhY2sgPSAoQ2FsbGJhY2tEYXRhICopdGhyZWFkRGF0YS5tX2Fw
aURhdGE7Ci0gICAgKmNhbGxiYWNrRGF0YSA9IChDYWxsYmFja0RhdGEpeyBwcmV2U3RhY2ssIHNl
bGYsIFtzZWxmLmV4Y2VwdGlvbiByZXRhaW5dLCB0aGlzVmFsdWUsIGFyZ3VtZW50Q291bnQsIGFy
Z3VtZW50cywgbmlsIH07CisgICAgKmNhbGxiYWNrRGF0YSA9IChDYWxsYmFja0RhdGEpeyBwcmV2
U3RhY2ssIHNlbGYsIFtzZWxmLmV4Y2VwdGlvbiByZXRhaW5dLCBjYWxsZWVWYWx1ZSwgdGhpc1Zh
bHVlLCBhcmd1bWVudENvdW50LCBhcmd1bWVudHMsIG5pbCB9OwogICAgIHRocmVhZERhdGEubV9h
cGlEYXRhID0gY2FsbGJhY2tEYXRhOwogICAgIHNlbGYuZXhjZXB0aW9uID0gbmlsOwogfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRJbnRlcm5hbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0SW50ZXJuYWwuaAkocmV2
aXNpb24gMTU3NDcwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRJbnRl
cm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIHN0cnVjdCBDYWxsYmFja0Rh
dGEgewogICAgIENhbGxiYWNrRGF0YSAqbmV4dDsKICAgICBKU0NvbnRleHQgKmNvbnRleHQ7CiAg
ICAgSlNWYWx1ZSAqcHJlc2VydmVkRXhjZXB0aW9uOworICAgIEpTVmFsdWVSZWYgY2FsbGVlVmFs
dWU7CiAgICAgSlNWYWx1ZVJlZiB0aGlzVmFsdWU7CiAgICAgc2l6ZV90IGFyZ3VtZW50Q291bnQ7
CiAgICAgY29uc3QgSlNWYWx1ZVJlZiAqYXJndW1lbnRzOwpAQCAtNjQsNyArNjUsNyBAQCBwcml2
YXRlOgogLSAoSlNWYWx1ZSAqKXZhbHVlRnJvbU5vdGlmeUV4Y2VwdGlvbjooSlNWYWx1ZVJlZill
eGNlcHRpb247CiAtIChCT09MKWJvb2xGcm9tTm90aWZ5RXhjZXB0aW9uOihKU1ZhbHVlUmVmKWV4
Y2VwdGlvbjsKIAotLSAodm9pZCliZWdpbkNhbGxiYWNrV2l0aERhdGE6KENhbGxiYWNrRGF0YSAq
KWNhbGxiYWNrRGF0YSB0aGlzVmFsdWU6KEpTVmFsdWVSZWYpdGhpc1ZhbHVlIGFyZ3VtZW50Q291
bnQ6KHNpemVfdClhcmd1bWVudENvdW50IGFyZ3VtZW50czooY29uc3QgSlNWYWx1ZVJlZiAqKWFy
Z3VtZW50czsKKy0gKHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKilj
YWxsYmFja0RhdGEgY2FsbGVlVmFsdWU6KEpTVmFsdWVSZWYpY2FsbGVlVmFsdWUgdGhpc1ZhbHVl
OihKU1ZhbHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50OihzaXplX3QpYXJndW1lbnRDb3Vu
dCBhcmd1bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVudHM7CiAtICh2b2lkKWVuZENh
bGxiYWNrV2l0aERhdGE6KENhbGxiYWNrRGF0YSAqKWNhbGxiYWNrRGF0YTsKIAogLSAoSlNWYWx1
ZSAqKXdyYXBwZXJGb3JPYmpDT2JqZWN0OihpZClvYmplY3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL09iakNDYWxsYmFja0Z1bmN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24ubW0JKHJldmlzaW9uIDE1
NzQ3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24u
bW0JKHdvcmtpbmcgY29weSkKQEAgLTQzOSw3ICs0MzksNyBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBv
YmpDQ2FsbGJhY2tGdW5jdGlvbkNhCiAgICAgQ2FsbGJhY2tEYXRhIGNhbGxiYWNrRGF0YTsKICAg
ICBKU1ZhbHVlUmVmIHJlc3VsdDsKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgW2Nv
bnRleHQgYmVnaW5DYWxsYmFja1dpdGhEYXRhOiZjYWxsYmFja0RhdGEgdGhpc1ZhbHVlOnRoaXNP
YmplY3QgYXJndW1lbnRDb3VudDphcmd1bWVudENvdW50IGFyZ3VtZW50czphcmd1bWVudHNdOwor
ICAgICAgICBbY29udGV4dCBiZWdpbkNhbGxiYWNrV2l0aERhdGE6JmNhbGxiYWNrRGF0YSBjYWxs
ZWVWYWx1ZTpmdW5jdGlvbiB0aGlzVmFsdWU6dGhpc09iamVjdCBhcmd1bWVudENvdW50OmFyZ3Vt
ZW50Q291bnQgYXJndW1lbnRzOmFyZ3VtZW50c107CiAgICAgICAgIHJlc3VsdCA9IGltcGwtPmNh
bGwoY29udGV4dCwgdGhpc09iamVjdCwgYXJndW1lbnRDb3VudCwgYXJndW1lbnRzLCBleGNlcHRp
b24pOwogICAgICAgICBpZiAoY29udGV4dC5leGNlcHRpb24pCiAgICAgICAgICAgICAqZXhjZXB0
aW9uID0gdmFsdWVJbnRlcm5hbFZhbHVlKGNvbnRleHQuZXhjZXB0aW9uKTsKQEAgLTQ1OSw3ICs0
NTksNyBAQCBzdGF0aWMgSlNPYmplY3RSZWYgb2JqQ0NhbGxiYWNrRnVuY3Rpb25DCiAgICAgQ2Fs
bGJhY2tEYXRhIGNhbGxiYWNrRGF0YTsKICAgICBKU1ZhbHVlUmVmIHJlc3VsdDsKICAgICBAYXV0
b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgW2NvbnRleHQgYmVnaW5DYWxsYmFja1dpdGhEYXRhOiZj
YWxsYmFja0RhdGEgdGhpc1ZhbHVlOm5pbCBhcmd1bWVudENvdW50OmFyZ3VtZW50Q291bnQgYXJn
dW1lbnRzOmFyZ3VtZW50c107CisgICAgICAgIFtjb250ZXh0IGJlZ2luQ2FsbGJhY2tXaXRoRGF0
YTomY2FsbGJhY2tEYXRhIGNhbGxlZVZhbHVlOmNvbnN0cnVjdG9yIHRoaXNWYWx1ZTpuaWwgYXJn
dW1lbnRDb3VudDphcmd1bWVudENvdW50IGFyZ3VtZW50czphcmd1bWVudHNdOwogICAgICAgICBy
ZXN1bHQgPSBpbXBsLT5jYWxsKGNvbnRleHQsIE5VTEwsIGFyZ3VtZW50Q291bnQsIGFyZ3VtZW50
cywgZXhjZXB0aW9uKTsKICAgICAgICAgaWYgKGNvbnRleHQuZXhjZXB0aW9uKQogICAgICAgICAg
ICAgKmV4Y2VwdGlvbiA9IHZhbHVlSW50ZXJuYWxWYWx1ZShjb250ZXh0LmV4Y2VwdGlvbik7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL1dlYktpdEF2YWlsYWJpbGl0eS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvV2ViS2l0QXZhaWxhYmlsaXR5LmgJ
KHJldmlzaW9uIDE1NzQ3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvV2ViS2l0QXZh
aWxhYmlsaXR5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDggKzQ0LDE3IEBACiAjaWZkZWYgX19B
UFBMRV9fCiAjaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFjcm9zLmg+CiAjaW5jbHVkZSA8Q29yZUZv
dW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKworLyoKKyAqIERlZmluZSBzeW1ib2xzIGZvciBv
bGRlciB2ZXJzaW9ucyBvZiBPUyBYCisgKi8KKyNpZm5kZWYgX19OU2lfMTBfMTAKKyNkZWZpbmUg
X19OU2lfMTBfMTAgaW50cm9kdWNlZD0xMC4xMAorI2VuZGlmCisKICNlbHNlCiAjZGVmaW5lIENG
X0FWQUlMQUJMRShfbWFjLCBfaW9zKQorI2RlZmluZSBOU19BVkFJTEFCTEUoX21hYywgX2lvcykK
IC8qCiAgKiBGb3Igbm9uLU1hYyBwbGF0Zm9ybXMsIHJlcXVpcmUgdGhlIG5ld2VzdCB2ZXJzaW9u
LgogICovCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1t
CShyZXZpc2lvbiAxNTc0NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rl
c3RhcGkubW0JKHdvcmtpbmcgY29weSkKQEAgLTk2Miw2ICs5NjIsMjggQEAgdm9pZCB0ZXN0T2Jq
ZWN0aXZlQ0FQSSgpCiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIGNoZWNrUmVzdWx0
KEAiW0pTQ29udGV4dCBjdXJyZW50VGhpc10gPT0gbmlsIG91dHNpZGUgb2YgY2FsbGJhY2siLCAh
W0pTQ29udGV4dCBjdXJyZW50VGhpc10pOwogICAgICAgICBjaGVja1Jlc3VsdChAIltKU0NvbnRl
eHQgY3VycmVudEFyZ3VtZW50c10gPT0gbmlsIG91dHNpZGUgb2YgY2FsbGJhY2siLCAhW0pTQ29u
dGV4dCBjdXJyZW50QXJndW1lbnRzXSk7CisgICAgICAgIGlmIChbSlNDb250ZXh0IGN1cnJlbnRD
YWxsZWVdKQorICAgICAgICAgICAgY2hlY2tSZXN1bHQoQCJbSlNDb250ZXh0IGN1cnJlbnRDYWxs
ZWVdID09IG5pbCBvdXRzaWRlIG9mIGNhbGxiYWNrIiwgIVtKU0NvbnRleHQgY3VycmVudENhbGxl
ZV0pOworICAgIH0KKworICAgIGlmIChbSlNDb250ZXh0IGN1cnJlbnRDYWxsZWVdKSB7CisgICAg
ICAgIEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICAgICAgSlNDb250ZXh0ICpjb250ZXh0ID0g
W1tKU0NvbnRleHQgYWxsb2NdIGluaXRdOworICAgICAgICAgICAgY29udGV4dFtAInRlc3RGdW5j
dGlvbiJdID0gXnsKKyAgICAgICAgICAgICAgICBjaGVja1Jlc3VsdChAInRlc3RGdW5jdGlvbi5m
b28gPT09IDQyIiwgW1tKU0NvbnRleHQgY3VycmVudENhbGxlZV1bQCJmb28iXSB0b0ludDMyXSA9
PSA0Mik7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgY29udGV4dFtAInRlc3RGdW5jdGlv
biJdW0AiZm9vIl0gPSBANDI7CisgICAgICAgICAgICBbY29udGV4dFtAInRlc3RGdW5jdGlvbiJd
IGNhbGxXaXRoQXJndW1lbnRzOm5pbF07CisKKyAgICAgICAgICAgIGNvbnRleHRbQCJUZXN0Q29u
c3RydWN0b3IiXSA9IF57CisgICAgICAgICAgICAgICAgSlNWYWx1ZSAqbmV3VGhpcyA9IFtKU1Zh
bHVlIHZhbHVlV2l0aE5ld09iamVjdEluQ29udGV4dDpbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0
XV07CisgICAgICAgICAgICAgICAgSlNHbG9iYWxDb250ZXh0UmVmIGNvbnRleHRSZWYgPSBbW0pT
Q29udGV4dCBjdXJyZW50Q29udGV4dF0gSlNHbG9iYWxDb250ZXh0UmVmXTsKKyAgICAgICAgICAg
ICAgICBKU09iamVjdFJlZiBuZXdUaGlzUmVmID0gSlNWYWx1ZVRvT2JqZWN0KGNvbnRleHRSZWYs
IFtuZXdUaGlzIEpTVmFsdWVSZWZdLCBOVUxMKTsKKyAgICAgICAgICAgICAgICBKU09iamVjdFNl
dFByb3RvdHlwZShjb250ZXh0UmVmLCBuZXdUaGlzUmVmLCBbW0pTQ29udGV4dCBjdXJyZW50Q2Fs
bGVlXVtAInByb3RvdHlwZSJdIEpTVmFsdWVSZWZdKTsKKyAgICAgICAgICAgICAgICByZXR1cm4g
bmV3VGhpczsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICBjaGVja1Jlc3VsdChAIihuZXcg
VGVzdENvbnN0cnVjdG9yKSBpbnN0YW5jZW9mIFRlc3RDb25zdHJ1Y3RvciIsIFtjb250ZXh0IGV2
YWx1YXRlU2NyaXB0OkAiKG5ldyBUZXN0Q29uc3RydWN0b3IpIGluc3RhbmNlb2YgVGVzdENvbnN0
cnVjdG9yIl0pOworICAgICAgICB9CiAgICAgfQogCiAgICAgY3VycmVudFRoaXNJbnNpZGVCbG9j
a0dldHRlclRlc3QoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214308</attachid>
            <date>2013-10-15 15:19:01 -0700</date>
            <delta_ts>2013-10-15 16:03:46 -0700</delta_ts>
            <desc>more availability macro hacks</desc>
            <filename>bug-122621-20131015151854.patch</filename>
            <type>text/plain</type>
            <size>9112</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3NDcwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEzLTEwLTE1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgK1tKU0NvbnRleHQgY3VycmVudENhbGxlZV0gc2hvdWxkIHJldHVybiB0aGUgY3Vy
cmVudGx5IGV4ZWN1dGluZyBKUyBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNjIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSXQgd291bGQgYmUgdXNlZnVsIGlmIHRoZXJlIHdhcyBhICtb
SlNDb250ZXh0IGN1cnJlbnRPYmplY3RdIEFQSSB3aGljaCB3YXMgCisgICAgICAgIGNhbGxhYmxl
IGZyb20gT2JqQyBBUEkgY2FsbGJhY2tzLiBJdHMgcHVycG9zZSB3b3VsZCBiZSB0byBhbGxvdyBj
b252ZW5pZW50IAorICAgICAgICBhY2Nlc3MgdG8gdGhlIEpTVmFsdWUgd3JhcHBlciBmb3IgdGhl
IGN1cnJlbnRseS1leGVjdXRpbmcgYmxvY2sgY2FsbGJhY2suCisKKyAgICAgICAgKiBBUEkvSlND
b250ZXh0Lmg6CisgICAgICAgICogQVBJL0pTQ29udGV4dC5tbToKKyAgICAgICAgKCtbSlNDb250
ZXh0IGN1cnJlbnRDYWxsZWVdKToKKyAgICAgICAgKC1bSlNDb250ZXh0IGJlZ2luQ2FsbGJhY2tX
aXRoRGF0YTpjYWxsZWVWYWx1ZTp0aGlzVmFsdWU6YXJndW1lbnRDb3VudDphcmd1bWVudHM6XSk6
CisgICAgICAgICogQVBJL0pTQ29udGV4dEludGVybmFsLmg6CisgICAgICAgICogQVBJL09iakND
YWxsYmFja0Z1bmN0aW9uLm1tOgorICAgICAgICAoSlNDOjpvYmpDQ2FsbGJhY2tGdW5jdGlvbkNh
bGxBc0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6b2JqQ0NhbGxiYWNrRnVuY3Rpb25DYWxsQXND
b25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL1dlYktpdEF2YWlsYWJpbGl0eS5oOiBBZGRlZCBz
dXBwbGVtZW50YWwgc3ltYm9scyBmb3IgcGxhdGZvcm1zIHRoYXQgZG9uJ3QgCisgICAgICAgIHN1
cHBvcnQgdGhlIG5lY2Vzc2FyeSBhdmFpbGFiaWxpdHkgbWFjcm9zLgorICAgICAgICAqIEFQSS90
ZXN0cy90ZXN0YXBpLm1tOgorCiAyMDEzLTEwLTE1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVu
YmVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgT2JqQ0NhbGxiYWNrRnVuY3Rpb25JbXBsIHNob3Vs
ZG4ndCBzdG9yZSBhIEpTQ29udGV4dApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29u
dGV4dC5oCShyZXZpc2lvbiAxNTc0NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
Q29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC02Niw2ICs2NiwxMSBAQCBPQkpDX1ZJU0lCTEUK
IC8vIGEgY2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0IHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIG5p
bC4KICsgKEpTQ29udGV4dCAqKWN1cnJlbnRDb250ZXh0OwogLy8gVGhpcyBtZXRob2QgbWF5IGJl
IGNhbGxlZCBmcm9tIHdpdGhpbiBhbiBPYmplY3RpdmUtQyBibG9jayBvciBtZXRob2QgaW52b2tl
ZAorLy8gYXMgYSBjYWxsYmFjayBmcm9tIEphdmFTY3JpcHQgdG8gcmV0cmlldmUgdGhlIEpTVmFs
dWUgZm9yIHRoZSBjdXJyZW50bHkgCisvLyBleGVjdXRpbmcgY2FsbGJhY2suIE91dHNpZGUgb2Yg
YSBjYWxsYmFjayBmcm9tIEphdmFTY3JpcHQgdGhpcyBtZXRob2Qgd2lsbCAKKy8vIHJldHVybiBu
aWwuCisrIChKU1ZhbHVlICopY3VycmVudENhbGxlZSBOU19BVkFJTEFCTEUoMTBfMTAsIE5BKTsK
Ky8vIFRoaXMgbWV0aG9kIG1heSBiZSBjYWxsZWQgZnJvbSB3aXRoaW4gYW4gT2JqZWN0aXZlLUMg
YmxvY2sgb3IgbWV0aG9kIGludm9rZWQKIC8vIGFzIGEgY2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0
IHRvIHJldHJpZXZlIHRoZSBjYWxsYmFjaydzIHRoaXMgdmFsdWUuIE91dHNpZGUKIC8vIG9mIGEg
Y2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0IHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIG5pbC4KICsg
KEpTVmFsdWUgKiljdXJyZW50VGhpczsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDb250ZXh0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
b250ZXh0Lm1tCShyZXZpc2lvbiAxNTc0NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ29udGV4dC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSwxNSBAQCArIChKU1Zh
bHVlICopY3VycmVudFRoaXMKICAgICByZXR1cm4gW0pTVmFsdWUgdmFsdWVXaXRoSlNWYWx1ZVJl
ZjplbnRyeS0+dGhpc1ZhbHVlIGluQ29udGV4dDpbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0XV07
CiB9CiAKKysgKEpTVmFsdWUgKiljdXJyZW50Q2FsbGVlCit7CisgICAgV1RGVGhyZWFkRGF0YSYg
dGhyZWFkRGF0YSA9IHd0ZlRocmVhZERhdGEoKTsKKyAgICBDYWxsYmFja0RhdGEgKmVudHJ5ID0g
KENhbGxiYWNrRGF0YSAqKXRocmVhZERhdGEubV9hcGlEYXRhOworICAgIGlmICghZW50cnkpCisg
ICAgICAgIHJldHVybiBuaWw7CisgICAgcmV0dXJuIFtKU1ZhbHVlIHZhbHVlV2l0aEpTVmFsdWVS
ZWY6ZW50cnktPmNhbGxlZVZhbHVlIGluQ29udGV4dDpbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0
XV07Cit9CisKICsgKE5TQXJyYXkgKiljdXJyZW50QXJndW1lbnRzCiB7CiAgICAgV1RGVGhyZWFk
RGF0YSYgdGhyZWFkRGF0YSA9IHd0ZlRocmVhZERhdGEoKTsKQEAgLTIyMiwxMiArMjMxLDEyIEBA
IC0gKEJPT0wpYm9vbEZyb21Ob3RpZnlFeGNlcHRpb246KEpTVmFsdWUKICAgICByZXR1cm4gTk87
CiB9CiAKLS0gKHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxs
YmFja0RhdGEgdGhpc1ZhbHVlOihKU1ZhbHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50Oihz
aXplX3QpYXJndW1lbnRDb3VudCBhcmd1bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVu
dHMKKy0gKHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxsYmFj
a0RhdGEgY2FsbGVlVmFsdWU6KEpTVmFsdWVSZWYpY2FsbGVlVmFsdWUgdGhpc1ZhbHVlOihKU1Zh
bHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50OihzaXplX3QpYXJndW1lbnRDb3VudCBhcmd1
bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVudHMKIHsKICAgICBXVEZUaHJlYWREYXRh
JiB0aHJlYWREYXRhID0gd3RmVGhyZWFkRGF0YSgpOwogICAgIFtzZWxmIHJldGFpbl07CiAgICAg
Q2FsbGJhY2tEYXRhICpwcmV2U3RhY2sgPSAoQ2FsbGJhY2tEYXRhICopdGhyZWFkRGF0YS5tX2Fw
aURhdGE7Ci0gICAgKmNhbGxiYWNrRGF0YSA9IChDYWxsYmFja0RhdGEpeyBwcmV2U3RhY2ssIHNl
bGYsIFtzZWxmLmV4Y2VwdGlvbiByZXRhaW5dLCB0aGlzVmFsdWUsIGFyZ3VtZW50Q291bnQsIGFy
Z3VtZW50cywgbmlsIH07CisgICAgKmNhbGxiYWNrRGF0YSA9IChDYWxsYmFja0RhdGEpeyBwcmV2
U3RhY2ssIHNlbGYsIFtzZWxmLmV4Y2VwdGlvbiByZXRhaW5dLCBjYWxsZWVWYWx1ZSwgdGhpc1Zh
bHVlLCBhcmd1bWVudENvdW50LCBhcmd1bWVudHMsIG5pbCB9OwogICAgIHRocmVhZERhdGEubV9h
cGlEYXRhID0gY2FsbGJhY2tEYXRhOwogICAgIHNlbGYuZXhjZXB0aW9uID0gbmlsOwogfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRJbnRlcm5hbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0SW50ZXJuYWwuaAkocmV2
aXNpb24gMTU3NDcwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRJbnRl
cm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIHN0cnVjdCBDYWxsYmFja0Rh
dGEgewogICAgIENhbGxiYWNrRGF0YSAqbmV4dDsKICAgICBKU0NvbnRleHQgKmNvbnRleHQ7CiAg
ICAgSlNWYWx1ZSAqcHJlc2VydmVkRXhjZXB0aW9uOworICAgIEpTVmFsdWVSZWYgY2FsbGVlVmFs
dWU7CiAgICAgSlNWYWx1ZVJlZiB0aGlzVmFsdWU7CiAgICAgc2l6ZV90IGFyZ3VtZW50Q291bnQ7
CiAgICAgY29uc3QgSlNWYWx1ZVJlZiAqYXJndW1lbnRzOwpAQCAtNjQsNyArNjUsNyBAQCBwcml2
YXRlOgogLSAoSlNWYWx1ZSAqKXZhbHVlRnJvbU5vdGlmeUV4Y2VwdGlvbjooSlNWYWx1ZVJlZill
eGNlcHRpb247CiAtIChCT09MKWJvb2xGcm9tTm90aWZ5RXhjZXB0aW9uOihKU1ZhbHVlUmVmKWV4
Y2VwdGlvbjsKIAotLSAodm9pZCliZWdpbkNhbGxiYWNrV2l0aERhdGE6KENhbGxiYWNrRGF0YSAq
KWNhbGxiYWNrRGF0YSB0aGlzVmFsdWU6KEpTVmFsdWVSZWYpdGhpc1ZhbHVlIGFyZ3VtZW50Q291
bnQ6KHNpemVfdClhcmd1bWVudENvdW50IGFyZ3VtZW50czooY29uc3QgSlNWYWx1ZVJlZiAqKWFy
Z3VtZW50czsKKy0gKHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKilj
YWxsYmFja0RhdGEgY2FsbGVlVmFsdWU6KEpTVmFsdWVSZWYpY2FsbGVlVmFsdWUgdGhpc1ZhbHVl
OihKU1ZhbHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50OihzaXplX3QpYXJndW1lbnRDb3Vu
dCBhcmd1bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVudHM7CiAtICh2b2lkKWVuZENh
bGxiYWNrV2l0aERhdGE6KENhbGxiYWNrRGF0YSAqKWNhbGxiYWNrRGF0YTsKIAogLSAoSlNWYWx1
ZSAqKXdyYXBwZXJGb3JPYmpDT2JqZWN0OihpZClvYmplY3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL09iakNDYWxsYmFja0Z1bmN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24ubW0JKHJldmlzaW9uIDE1
NzQ3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24u
bW0JKHdvcmtpbmcgY29weSkKQEAgLTQzOSw3ICs0MzksNyBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBv
YmpDQ2FsbGJhY2tGdW5jdGlvbkNhCiAgICAgQ2FsbGJhY2tEYXRhIGNhbGxiYWNrRGF0YTsKICAg
ICBKU1ZhbHVlUmVmIHJlc3VsdDsKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgW2Nv
bnRleHQgYmVnaW5DYWxsYmFja1dpdGhEYXRhOiZjYWxsYmFja0RhdGEgdGhpc1ZhbHVlOnRoaXNP
YmplY3QgYXJndW1lbnRDb3VudDphcmd1bWVudENvdW50IGFyZ3VtZW50czphcmd1bWVudHNdOwor
ICAgICAgICBbY29udGV4dCBiZWdpbkNhbGxiYWNrV2l0aERhdGE6JmNhbGxiYWNrRGF0YSBjYWxs
ZWVWYWx1ZTpmdW5jdGlvbiB0aGlzVmFsdWU6dGhpc09iamVjdCBhcmd1bWVudENvdW50OmFyZ3Vt
ZW50Q291bnQgYXJndW1lbnRzOmFyZ3VtZW50c107CiAgICAgICAgIHJlc3VsdCA9IGltcGwtPmNh
bGwoY29udGV4dCwgdGhpc09iamVjdCwgYXJndW1lbnRDb3VudCwgYXJndW1lbnRzLCBleGNlcHRp
b24pOwogICAgICAgICBpZiAoY29udGV4dC5leGNlcHRpb24pCiAgICAgICAgICAgICAqZXhjZXB0
aW9uID0gdmFsdWVJbnRlcm5hbFZhbHVlKGNvbnRleHQuZXhjZXB0aW9uKTsKQEAgLTQ1OSw3ICs0
NTksNyBAQCBzdGF0aWMgSlNPYmplY3RSZWYgb2JqQ0NhbGxiYWNrRnVuY3Rpb25DCiAgICAgQ2Fs
bGJhY2tEYXRhIGNhbGxiYWNrRGF0YTsKICAgICBKU1ZhbHVlUmVmIHJlc3VsdDsKICAgICBAYXV0
b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgW2NvbnRleHQgYmVnaW5DYWxsYmFja1dpdGhEYXRhOiZj
YWxsYmFja0RhdGEgdGhpc1ZhbHVlOm5pbCBhcmd1bWVudENvdW50OmFyZ3VtZW50Q291bnQgYXJn
dW1lbnRzOmFyZ3VtZW50c107CisgICAgICAgIFtjb250ZXh0IGJlZ2luQ2FsbGJhY2tXaXRoRGF0
YTomY2FsbGJhY2tEYXRhIGNhbGxlZVZhbHVlOmNvbnN0cnVjdG9yIHRoaXNWYWx1ZTpuaWwgYXJn
dW1lbnRDb3VudDphcmd1bWVudENvdW50IGFyZ3VtZW50czphcmd1bWVudHNdOwogICAgICAgICBy
ZXN1bHQgPSBpbXBsLT5jYWxsKGNvbnRleHQsIE5VTEwsIGFyZ3VtZW50Q291bnQsIGFyZ3VtZW50
cywgZXhjZXB0aW9uKTsKICAgICAgICAgaWYgKGNvbnRleHQuZXhjZXB0aW9uKQogICAgICAgICAg
ICAgKmV4Y2VwdGlvbiA9IHZhbHVlSW50ZXJuYWxWYWx1ZShjb250ZXh0LmV4Y2VwdGlvbik7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL1dlYktpdEF2YWlsYWJpbGl0eS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvV2ViS2l0QXZhaWxhYmlsaXR5LmgJ
KHJldmlzaW9uIDE1NzQ3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvV2ViS2l0QXZh
aWxhYmlsaXR5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDggKzQ0LDIxIEBACiAjaWZkZWYgX19B
UFBMRV9fCiAjaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFjcm9zLmg+CiAjaW5jbHVkZSA8Q29yZUZv
dW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKworLyoKKyAqIERlZmluZSBzeW1ib2xzIGZvciBv
bGRlciB2ZXJzaW9ucyBvZiBPUyBYCisgKi8KKyNpZm5kZWYgX19OU2lfMTBfMTAKKyNkZWZpbmUg
X19OU2lfMTBfMTAgaW50cm9kdWNlZD0xMC4xMAorI2VuZGlmCisKKyNpZm5kZWYgTlNfQVZBSUxB
QkxFCisjZGVmaW5lIE5TX0FWQUlMQUJMRShfbWFjLCBfaW9zKSBDRl9BVkFJTEFCTEUoX21hYywg
X2lvcykKKyNlbmRpZgorCiAjZWxzZQogI2RlZmluZSBDRl9BVkFJTEFCTEUoX21hYywgX2lvcykK
KyNkZWZpbmUgTlNfQVZBSUxBQkxFKF9tYWMsIF9pb3MpCiAvKgogICogRm9yIG5vbi1NYWMgcGxh
dGZvcm1zLCByZXF1aXJlIHRoZSBuZXdlc3QgdmVyc2lvbi4KICAqLwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQkocmV2aXNpb24gMTU3NDcwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC05NjIsNiArOTYyLDI4IEBAIHZvaWQgdGVzdE9iamVjdGl2ZUNBUEkoKQogICAgIEBhdXRv
cmVsZWFzZXBvb2wgewogICAgICAgICBjaGVja1Jlc3VsdChAIltKU0NvbnRleHQgY3VycmVudFRo
aXNdID09IG5pbCBvdXRzaWRlIG9mIGNhbGxiYWNrIiwgIVtKU0NvbnRleHQgY3VycmVudFRoaXNd
KTsKICAgICAgICAgY2hlY2tSZXN1bHQoQCJbSlNDb250ZXh0IGN1cnJlbnRBcmd1bWVudHNdID09
IG5pbCBvdXRzaWRlIG9mIGNhbGxiYWNrIiwgIVtKU0NvbnRleHQgY3VycmVudEFyZ3VtZW50c10p
OworICAgICAgICBpZiAoW0pTQ29udGV4dCBjdXJyZW50Q2FsbGVlXSkKKyAgICAgICAgICAgIGNo
ZWNrUmVzdWx0KEAiW0pTQ29udGV4dCBjdXJyZW50Q2FsbGVlXSA9PSBuaWwgb3V0c2lkZSBvZiBj
YWxsYmFjayIsICFbSlNDb250ZXh0IGN1cnJlbnRDYWxsZWVdKTsKKyAgICB9CisKKyAgICBpZiAo
W0pTQ29udGV4dCBjdXJyZW50Q2FsbGVlXSkgeworICAgICAgICBAYXV0b3JlbGVhc2Vwb29sIHsK
KyAgICAgICAgICAgIEpTQ29udGV4dCAqY29udGV4dCA9IFtbSlNDb250ZXh0IGFsbG9jXSBpbml0
XTsKKyAgICAgICAgICAgIGNvbnRleHRbQCJ0ZXN0RnVuY3Rpb24iXSA9IF57CisgICAgICAgICAg
ICAgICAgY2hlY2tSZXN1bHQoQCJ0ZXN0RnVuY3Rpb24uZm9vID09PSA0MiIsIFtbSlNDb250ZXh0
IGN1cnJlbnRDYWxsZWVdW0AiZm9vIl0gdG9JbnQzMl0gPT0gNDIpOworICAgICAgICAgICAgfTsK
KyAgICAgICAgICAgIGNvbnRleHRbQCJ0ZXN0RnVuY3Rpb24iXVtAImZvbyJdID0gQDQyOworICAg
ICAgICAgICAgW2NvbnRleHRbQCJ0ZXN0RnVuY3Rpb24iXSBjYWxsV2l0aEFyZ3VtZW50czpuaWxd
OworCisgICAgICAgICAgICBjb250ZXh0W0AiVGVzdENvbnN0cnVjdG9yIl0gPSBeeworICAgICAg
ICAgICAgICAgIEpTVmFsdWUgKm5ld1RoaXMgPSBbSlNWYWx1ZSB2YWx1ZVdpdGhOZXdPYmplY3RJ
bkNvbnRleHQ6W0pTQ29udGV4dCBjdXJyZW50Q29udGV4dF1dOworICAgICAgICAgICAgICAgIEpT
R2xvYmFsQ29udGV4dFJlZiBjb250ZXh0UmVmID0gW1tKU0NvbnRleHQgY3VycmVudENvbnRleHRd
IEpTR2xvYmFsQ29udGV4dFJlZl07CisgICAgICAgICAgICAgICAgSlNPYmplY3RSZWYgbmV3VGhp
c1JlZiA9IEpTVmFsdWVUb09iamVjdChjb250ZXh0UmVmLCBbbmV3VGhpcyBKU1ZhbHVlUmVmXSwg
TlVMTCk7CisgICAgICAgICAgICAgICAgSlNPYmplY3RTZXRQcm90b3R5cGUoY29udGV4dFJlZiwg
bmV3VGhpc1JlZiwgW1tKU0NvbnRleHQgY3VycmVudENhbGxlZV1bQCJwcm90b3R5cGUiXSBKU1Zh
bHVlUmVmXSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5ld1RoaXM7CisgICAgICAgICAgICB9
OworICAgICAgICAgICAgY2hlY2tSZXN1bHQoQCIobmV3IFRlc3RDb25zdHJ1Y3RvcikgaW5zdGFu
Y2VvZiBUZXN0Q29uc3RydWN0b3IiLCBbY29udGV4dCBldmFsdWF0ZVNjcmlwdDpAIihuZXcgVGVz
dENvbnN0cnVjdG9yKSBpbnN0YW5jZW9mIFRlc3RDb25zdHJ1Y3RvciJdKTsKKyAgICAgICAgfQog
ICAgIH0KIAogICAgIGN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0ZXJUZXN0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214315</attachid>
            <date>2013-10-15 16:03:48 -0700</date>
            <delta_ts>2013-10-15 16:23:37 -0700</delta_ts>
            <desc>trying to build</desc>
            <filename>bug-122621-20131015160340.patch</filename>
            <type>text/plain</type>
            <size>9463</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3NDcwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEzLTEwLTE1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgK1tKU0NvbnRleHQgY3VycmVudENhbGxlZV0gc2hvdWxkIHJldHVybiB0aGUgY3Vy
cmVudGx5IGV4ZWN1dGluZyBKUyBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNjIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSXQgd291bGQgYmUgdXNlZnVsIGlmIHRoZXJlIHdhcyBhICtb
SlNDb250ZXh0IGN1cnJlbnRPYmplY3RdIEFQSSB3aGljaCB3YXMgCisgICAgICAgIGNhbGxhYmxl
IGZyb20gT2JqQyBBUEkgY2FsbGJhY2tzLiBJdHMgcHVycG9zZSB3b3VsZCBiZSB0byBhbGxvdyBj
b252ZW5pZW50IAorICAgICAgICBhY2Nlc3MgdG8gdGhlIEpTVmFsdWUgd3JhcHBlciBmb3IgdGhl
IGN1cnJlbnRseS1leGVjdXRpbmcgYmxvY2sgY2FsbGJhY2suCisKKyAgICAgICAgKiBBUEkvSlND
b250ZXh0Lmg6CisgICAgICAgICogQVBJL0pTQ29udGV4dC5tbToKKyAgICAgICAgKCtbSlNDb250
ZXh0IGN1cnJlbnRDYWxsZWVdKToKKyAgICAgICAgKC1bSlNDb250ZXh0IGJlZ2luQ2FsbGJhY2tX
aXRoRGF0YTpjYWxsZWVWYWx1ZTp0aGlzVmFsdWU6YXJndW1lbnRDb3VudDphcmd1bWVudHM6XSk6
CisgICAgICAgICogQVBJL0pTQ29udGV4dEludGVybmFsLmg6CisgICAgICAgICogQVBJL09iakND
YWxsYmFja0Z1bmN0aW9uLm1tOgorICAgICAgICAoSlNDOjpvYmpDQ2FsbGJhY2tGdW5jdGlvbkNh
bGxBc0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6b2JqQ0NhbGxiYWNrRnVuY3Rpb25DYWxsQXND
b25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL1dlYktpdEF2YWlsYWJpbGl0eS5oOiBBZGRlZCBz
dXBwbGVtZW50YWwgc3ltYm9scyBmb3IgcGxhdGZvcm1zIHRoYXQgZG9uJ3QgCisgICAgICAgIHN1
cHBvcnQgdGhlIG5lY2Vzc2FyeSBhdmFpbGFiaWxpdHkgbWFjcm9zLgorICAgICAgICAqIEFQSS90
ZXN0cy90ZXN0YXBpLm1tOgorCiAyMDEzLTEwLTE1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVu
YmVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgT2JqQ0NhbGxiYWNrRnVuY3Rpb25JbXBsIHNob3Vs
ZG4ndCBzdG9yZSBhIEpTQ29udGV4dApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29u
dGV4dC5oCShyZXZpc2lvbiAxNTc0NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
Q29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC02Niw2ICs2NiwxMSBAQCBPQkpDX1ZJU0lCTEUK
IC8vIGEgY2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0IHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIG5p
bC4KICsgKEpTQ29udGV4dCAqKWN1cnJlbnRDb250ZXh0OwogLy8gVGhpcyBtZXRob2QgbWF5IGJl
IGNhbGxlZCBmcm9tIHdpdGhpbiBhbiBPYmplY3RpdmUtQyBibG9jayBvciBtZXRob2QgaW52b2tl
ZAorLy8gYXMgYSBjYWxsYmFjayBmcm9tIEphdmFTY3JpcHQgdG8gcmV0cmlldmUgdGhlIEpTVmFs
dWUgZm9yIHRoZSBjdXJyZW50bHkgCisvLyBleGVjdXRpbmcgY2FsbGJhY2suIE91dHNpZGUgb2Yg
YSBjYWxsYmFjayBmcm9tIEphdmFTY3JpcHQgdGhpcyBtZXRob2Qgd2lsbCAKKy8vIHJldHVybiBu
aWwuCisrIChKU1ZhbHVlICopY3VycmVudENhbGxlZSBOU19BVkFJTEFCTEUoMTBfMTAsIE5BKTsK
Ky8vIFRoaXMgbWV0aG9kIG1heSBiZSBjYWxsZWQgZnJvbSB3aXRoaW4gYW4gT2JqZWN0aXZlLUMg
YmxvY2sgb3IgbWV0aG9kIGludm9rZWQKIC8vIGFzIGEgY2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0
IHRvIHJldHJpZXZlIHRoZSBjYWxsYmFjaydzIHRoaXMgdmFsdWUuIE91dHNpZGUKIC8vIG9mIGEg
Y2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0IHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIG5pbC4KICsg
KEpTVmFsdWUgKiljdXJyZW50VGhpczsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDb250ZXh0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
b250ZXh0Lm1tCShyZXZpc2lvbiAxNTc0NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ29udGV4dC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSwxNSBAQCArIChKU1Zh
bHVlICopY3VycmVudFRoaXMKICAgICByZXR1cm4gW0pTVmFsdWUgdmFsdWVXaXRoSlNWYWx1ZVJl
ZjplbnRyeS0+dGhpc1ZhbHVlIGluQ29udGV4dDpbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0XV07
CiB9CiAKKysgKEpTVmFsdWUgKiljdXJyZW50Q2FsbGVlCit7CisgICAgV1RGVGhyZWFkRGF0YSYg
dGhyZWFkRGF0YSA9IHd0ZlRocmVhZERhdGEoKTsKKyAgICBDYWxsYmFja0RhdGEgKmVudHJ5ID0g
KENhbGxiYWNrRGF0YSAqKXRocmVhZERhdGEubV9hcGlEYXRhOworICAgIGlmICghZW50cnkpCisg
ICAgICAgIHJldHVybiBuaWw7CisgICAgcmV0dXJuIFtKU1ZhbHVlIHZhbHVlV2l0aEpTVmFsdWVS
ZWY6ZW50cnktPmNhbGxlZVZhbHVlIGluQ29udGV4dDpbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0
XV07Cit9CisKICsgKE5TQXJyYXkgKiljdXJyZW50QXJndW1lbnRzCiB7CiAgICAgV1RGVGhyZWFk
RGF0YSYgdGhyZWFkRGF0YSA9IHd0ZlRocmVhZERhdGEoKTsKQEAgLTIyMiwxMiArMjMxLDEyIEBA
IC0gKEJPT0wpYm9vbEZyb21Ob3RpZnlFeGNlcHRpb246KEpTVmFsdWUKICAgICByZXR1cm4gTk87
CiB9CiAKLS0gKHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxs
YmFja0RhdGEgdGhpc1ZhbHVlOihKU1ZhbHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50Oihz
aXplX3QpYXJndW1lbnRDb3VudCBhcmd1bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVu
dHMKKy0gKHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxsYmFj
a0RhdGEgY2FsbGVlVmFsdWU6KEpTVmFsdWVSZWYpY2FsbGVlVmFsdWUgdGhpc1ZhbHVlOihKU1Zh
bHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50OihzaXplX3QpYXJndW1lbnRDb3VudCBhcmd1
bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVudHMKIHsKICAgICBXVEZUaHJlYWREYXRh
JiB0aHJlYWREYXRhID0gd3RmVGhyZWFkRGF0YSgpOwogICAgIFtzZWxmIHJldGFpbl07CiAgICAg
Q2FsbGJhY2tEYXRhICpwcmV2U3RhY2sgPSAoQ2FsbGJhY2tEYXRhICopdGhyZWFkRGF0YS5tX2Fw
aURhdGE7Ci0gICAgKmNhbGxiYWNrRGF0YSA9IChDYWxsYmFja0RhdGEpeyBwcmV2U3RhY2ssIHNl
bGYsIFtzZWxmLmV4Y2VwdGlvbiByZXRhaW5dLCB0aGlzVmFsdWUsIGFyZ3VtZW50Q291bnQsIGFy
Z3VtZW50cywgbmlsIH07CisgICAgKmNhbGxiYWNrRGF0YSA9IChDYWxsYmFja0RhdGEpeyBwcmV2
U3RhY2ssIHNlbGYsIFtzZWxmLmV4Y2VwdGlvbiByZXRhaW5dLCBjYWxsZWVWYWx1ZSwgdGhpc1Zh
bHVlLCBhcmd1bWVudENvdW50LCBhcmd1bWVudHMsIG5pbCB9OwogICAgIHRocmVhZERhdGEubV9h
cGlEYXRhID0gY2FsbGJhY2tEYXRhOwogICAgIHNlbGYuZXhjZXB0aW9uID0gbmlsOwogfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRJbnRlcm5hbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0SW50ZXJuYWwuaAkocmV2
aXNpb24gMTU3NDcwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRJbnRl
cm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIHN0cnVjdCBDYWxsYmFja0Rh
dGEgewogICAgIENhbGxiYWNrRGF0YSAqbmV4dDsKICAgICBKU0NvbnRleHQgKmNvbnRleHQ7CiAg
ICAgSlNWYWx1ZSAqcHJlc2VydmVkRXhjZXB0aW9uOworICAgIEpTVmFsdWVSZWYgY2FsbGVlVmFs
dWU7CiAgICAgSlNWYWx1ZVJlZiB0aGlzVmFsdWU7CiAgICAgc2l6ZV90IGFyZ3VtZW50Q291bnQ7
CiAgICAgY29uc3QgSlNWYWx1ZVJlZiAqYXJndW1lbnRzOwpAQCAtNjQsNyArNjUsNyBAQCBwcml2
YXRlOgogLSAoSlNWYWx1ZSAqKXZhbHVlRnJvbU5vdGlmeUV4Y2VwdGlvbjooSlNWYWx1ZVJlZill
eGNlcHRpb247CiAtIChCT09MKWJvb2xGcm9tTm90aWZ5RXhjZXB0aW9uOihKU1ZhbHVlUmVmKWV4
Y2VwdGlvbjsKIAotLSAodm9pZCliZWdpbkNhbGxiYWNrV2l0aERhdGE6KENhbGxiYWNrRGF0YSAq
KWNhbGxiYWNrRGF0YSB0aGlzVmFsdWU6KEpTVmFsdWVSZWYpdGhpc1ZhbHVlIGFyZ3VtZW50Q291
bnQ6KHNpemVfdClhcmd1bWVudENvdW50IGFyZ3VtZW50czooY29uc3QgSlNWYWx1ZVJlZiAqKWFy
Z3VtZW50czsKKy0gKHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKilj
YWxsYmFja0RhdGEgY2FsbGVlVmFsdWU6KEpTVmFsdWVSZWYpY2FsbGVlVmFsdWUgdGhpc1ZhbHVl
OihKU1ZhbHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50OihzaXplX3QpYXJndW1lbnRDb3Vu
dCBhcmd1bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVudHM7CiAtICh2b2lkKWVuZENh
bGxiYWNrV2l0aERhdGE6KENhbGxiYWNrRGF0YSAqKWNhbGxiYWNrRGF0YTsKIAogLSAoSlNWYWx1
ZSAqKXdyYXBwZXJGb3JPYmpDT2JqZWN0OihpZClvYmplY3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL09iakNDYWxsYmFja0Z1bmN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24ubW0JKHJldmlzaW9uIDE1
NzQ3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24u
bW0JKHdvcmtpbmcgY29weSkKQEAgLTQzOSw3ICs0MzksNyBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBv
YmpDQ2FsbGJhY2tGdW5jdGlvbkNhCiAgICAgQ2FsbGJhY2tEYXRhIGNhbGxiYWNrRGF0YTsKICAg
ICBKU1ZhbHVlUmVmIHJlc3VsdDsKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgW2Nv
bnRleHQgYmVnaW5DYWxsYmFja1dpdGhEYXRhOiZjYWxsYmFja0RhdGEgdGhpc1ZhbHVlOnRoaXNP
YmplY3QgYXJndW1lbnRDb3VudDphcmd1bWVudENvdW50IGFyZ3VtZW50czphcmd1bWVudHNdOwor
ICAgICAgICBbY29udGV4dCBiZWdpbkNhbGxiYWNrV2l0aERhdGE6JmNhbGxiYWNrRGF0YSBjYWxs
ZWVWYWx1ZTpmdW5jdGlvbiB0aGlzVmFsdWU6dGhpc09iamVjdCBhcmd1bWVudENvdW50OmFyZ3Vt
ZW50Q291bnQgYXJndW1lbnRzOmFyZ3VtZW50c107CiAgICAgICAgIHJlc3VsdCA9IGltcGwtPmNh
bGwoY29udGV4dCwgdGhpc09iamVjdCwgYXJndW1lbnRDb3VudCwgYXJndW1lbnRzLCBleGNlcHRp
b24pOwogICAgICAgICBpZiAoY29udGV4dC5leGNlcHRpb24pCiAgICAgICAgICAgICAqZXhjZXB0
aW9uID0gdmFsdWVJbnRlcm5hbFZhbHVlKGNvbnRleHQuZXhjZXB0aW9uKTsKQEAgLTQ1OSw3ICs0
NTksNyBAQCBzdGF0aWMgSlNPYmplY3RSZWYgb2JqQ0NhbGxiYWNrRnVuY3Rpb25DCiAgICAgQ2Fs
bGJhY2tEYXRhIGNhbGxiYWNrRGF0YTsKICAgICBKU1ZhbHVlUmVmIHJlc3VsdDsKICAgICBAYXV0
b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgW2NvbnRleHQgYmVnaW5DYWxsYmFja1dpdGhEYXRhOiZj
YWxsYmFja0RhdGEgdGhpc1ZhbHVlOm5pbCBhcmd1bWVudENvdW50OmFyZ3VtZW50Q291bnQgYXJn
dW1lbnRzOmFyZ3VtZW50c107CisgICAgICAgIFtjb250ZXh0IGJlZ2luQ2FsbGJhY2tXaXRoRGF0
YTomY2FsbGJhY2tEYXRhIGNhbGxlZVZhbHVlOmNvbnN0cnVjdG9yIHRoaXNWYWx1ZTpuaWwgYXJn
dW1lbnRDb3VudDphcmd1bWVudENvdW50IGFyZ3VtZW50czphcmd1bWVudHNdOwogICAgICAgICBy
ZXN1bHQgPSBpbXBsLT5jYWxsKGNvbnRleHQsIE5VTEwsIGFyZ3VtZW50Q291bnQsIGFyZ3VtZW50
cywgZXhjZXB0aW9uKTsKICAgICAgICAgaWYgKGNvbnRleHQuZXhjZXB0aW9uKQogICAgICAgICAg
ICAgKmV4Y2VwdGlvbiA9IHZhbHVlSW50ZXJuYWxWYWx1ZShjb250ZXh0LmV4Y2VwdGlvbik7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL1dlYktpdEF2YWlsYWJpbGl0eS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvV2ViS2l0QXZhaWxhYmlsaXR5LmgJ
KHJldmlzaW9uIDE1NzQ3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvV2ViS2l0QXZh
aWxhYmlsaXR5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDggKzQ0LDMzIEBACiAjaWZkZWYgX19B
UFBMRV9fCiAjaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFjcm9zLmg+CiAjaW5jbHVkZSA8Q29yZUZv
dW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKworLyoKKyAqIERlZmluZSBzeW1ib2xzIGZvciBv
bGRlciB2ZXJzaW9ucyBvZiBPUyBYCisgKi8KKyNpZm5kZWYgX19OU2lfMTBfMTAKKyNkZWZpbmUg
X19OU2lfMTBfMTAgaW50cm9kdWNlZD0xMC4xMAorI2VuZGlmCisKKy8qCisgKiBUcnkgb3VyIGJl
c3QgdG8gaGF2ZSBmdW5jdGlvbmFsIGF2YWlsYWJpbGl0eSBtYWNyb3MuCisgKi8KKyNpZiAhZGVm
aW5lZChOU19BVkFJTEFCTEUpICYmICFkZWZpbmVkKENGX0FWQUlMQUJMRSkKKyNkZWZpbmUgTlNf
QVZBSUxBQkxFKF9tYWMsIF9pb3MpCisjZGVmaW5lIENGX0FWQUlMQUJMRShfbWFjLCBfaW9zKQor
I2VuZGlmCisKKyNpZiBkZWZpbmVkKE5TX0FWQUlMQUJMRSkgJiYgIWRlZmluZWQoQ0ZfQVZBSUxB
QkxFKQorI2RlZmluZSBDRl9BVkFJTEFCTEUoX21hYywgX2lvcykgTlNfQVZBSUxBQkxFKF9tYWMs
IF9pb3MpCisjZW5kaWYKKworI2lmICFkZWZpbmVkKE5TX0FWQUlMQUJMRSkgJiYgZGVmaW5lZChD
Rl9BVkFJTEFCTEUpCisjZGVmaW5lIE5TX0FWQUlMQUJMRShfbWFjLCBfaW9zKSBDRl9BVkFJTEFC
TEUoX21hYywgX2lvcykKKyNlbmRpZgorCiAjZWxzZQogI2RlZmluZSBDRl9BVkFJTEFCTEUoX21h
YywgX2lvcykKKyNkZWZpbmUgTlNfQVZBSUxBQkxFKF9tYWMsIF9pb3MpCiAvKgogICogRm9yIG5v
bi1NYWMgcGxhdGZvcm1zLCByZXF1aXJlIHRoZSBuZXdlc3QgdmVyc2lvbi4KICAqLwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQkocmV2aXNpb24gMTU3
NDcwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC05NjIsNiArOTYyLDI4IEBAIHZvaWQgdGVzdE9iamVjdGl2ZUNBUEkoKQog
ICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBjaGVja1Jlc3VsdChAIltKU0NvbnRleHQg
Y3VycmVudFRoaXNdID09IG5pbCBvdXRzaWRlIG9mIGNhbGxiYWNrIiwgIVtKU0NvbnRleHQgY3Vy
cmVudFRoaXNdKTsKICAgICAgICAgY2hlY2tSZXN1bHQoQCJbSlNDb250ZXh0IGN1cnJlbnRBcmd1
bWVudHNdID09IG5pbCBvdXRzaWRlIG9mIGNhbGxiYWNrIiwgIVtKU0NvbnRleHQgY3VycmVudEFy
Z3VtZW50c10pOworICAgICAgICBpZiAoW0pTQ29udGV4dCBjdXJyZW50Q2FsbGVlXSkKKyAgICAg
ICAgICAgIGNoZWNrUmVzdWx0KEAiW0pTQ29udGV4dCBjdXJyZW50Q2FsbGVlXSA9PSBuaWwgb3V0
c2lkZSBvZiBjYWxsYmFjayIsICFbSlNDb250ZXh0IGN1cnJlbnRDYWxsZWVdKTsKKyAgICB9CisK
KyAgICBpZiAoW0pTQ29udGV4dCBjdXJyZW50Q2FsbGVlXSkgeworICAgICAgICBAYXV0b3JlbGVh
c2Vwb29sIHsKKyAgICAgICAgICAgIEpTQ29udGV4dCAqY29udGV4dCA9IFtbSlNDb250ZXh0IGFs
bG9jXSBpbml0XTsKKyAgICAgICAgICAgIGNvbnRleHRbQCJ0ZXN0RnVuY3Rpb24iXSA9IF57Cisg
ICAgICAgICAgICAgICAgY2hlY2tSZXN1bHQoQCJ0ZXN0RnVuY3Rpb24uZm9vID09PSA0MiIsIFtb
SlNDb250ZXh0IGN1cnJlbnRDYWxsZWVdW0AiZm9vIl0gdG9JbnQzMl0gPT0gNDIpOworICAgICAg
ICAgICAgfTsKKyAgICAgICAgICAgIGNvbnRleHRbQCJ0ZXN0RnVuY3Rpb24iXVtAImZvbyJdID0g
QDQyOworICAgICAgICAgICAgW2NvbnRleHRbQCJ0ZXN0RnVuY3Rpb24iXSBjYWxsV2l0aEFyZ3Vt
ZW50czpuaWxdOworCisgICAgICAgICAgICBjb250ZXh0W0AiVGVzdENvbnN0cnVjdG9yIl0gPSBe
eworICAgICAgICAgICAgICAgIEpTVmFsdWUgKm5ld1RoaXMgPSBbSlNWYWx1ZSB2YWx1ZVdpdGhO
ZXdPYmplY3RJbkNvbnRleHQ6W0pTQ29udGV4dCBjdXJyZW50Q29udGV4dF1dOworICAgICAgICAg
ICAgICAgIEpTR2xvYmFsQ29udGV4dFJlZiBjb250ZXh0UmVmID0gW1tKU0NvbnRleHQgY3VycmVu
dENvbnRleHRdIEpTR2xvYmFsQ29udGV4dFJlZl07CisgICAgICAgICAgICAgICAgSlNPYmplY3RS
ZWYgbmV3VGhpc1JlZiA9IEpTVmFsdWVUb09iamVjdChjb250ZXh0UmVmLCBbbmV3VGhpcyBKU1Zh
bHVlUmVmXSwgTlVMTCk7CisgICAgICAgICAgICAgICAgSlNPYmplY3RTZXRQcm90b3R5cGUoY29u
dGV4dFJlZiwgbmV3VGhpc1JlZiwgW1tKU0NvbnRleHQgY3VycmVudENhbGxlZV1bQCJwcm90b3R5
cGUiXSBKU1ZhbHVlUmVmXSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5ld1RoaXM7CisgICAg
ICAgICAgICB9OworICAgICAgICAgICAgY2hlY2tSZXN1bHQoQCIobmV3IFRlc3RDb25zdHJ1Y3Rv
cikgaW5zdGFuY2VvZiBUZXN0Q29uc3RydWN0b3IiLCBbY29udGV4dCBldmFsdWF0ZVNjcmlwdDpA
IihuZXcgVGVzdENvbnN0cnVjdG9yKSBpbnN0YW5jZW9mIFRlc3RDb25zdHJ1Y3RvciJdKTsKKyAg
ICAgICAgfQogICAgIH0KIAogICAgIGN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0ZXJUZXN0KCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214317</attachid>
            <date>2013-10-15 16:23:38 -0700</date>
            <delta_ts>2014-02-06 16:36:12 -0800</delta_ts>
            <desc>whyunobuild</desc>
            <filename>bug-122621-20131015162330.patch</filename>
            <type>text/plain</type>
            <size>9622</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3NDcwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEzLTEwLTE1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgK1tKU0NvbnRleHQgY3VycmVudENhbGxlZV0gc2hvdWxkIHJldHVybiB0aGUgY3Vy
cmVudGx5IGV4ZWN1dGluZyBKUyBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNjIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSXQgd291bGQgYmUgdXNlZnVsIGlmIHRoZXJlIHdhcyBhICtb
SlNDb250ZXh0IGN1cnJlbnRPYmplY3RdIEFQSSB3aGljaCB3YXMgCisgICAgICAgIGNhbGxhYmxl
IGZyb20gT2JqQyBBUEkgY2FsbGJhY2tzLiBJdHMgcHVycG9zZSB3b3VsZCBiZSB0byBhbGxvdyBj
b252ZW5pZW50IAorICAgICAgICBhY2Nlc3MgdG8gdGhlIEpTVmFsdWUgd3JhcHBlciBmb3IgdGhl
IGN1cnJlbnRseS1leGVjdXRpbmcgYmxvY2sgY2FsbGJhY2suCisKKyAgICAgICAgKiBBUEkvSlND
b250ZXh0Lmg6CisgICAgICAgICogQVBJL0pTQ29udGV4dC5tbToKKyAgICAgICAgKCtbSlNDb250
ZXh0IGN1cnJlbnRDYWxsZWVdKToKKyAgICAgICAgKC1bSlNDb250ZXh0IGJlZ2luQ2FsbGJhY2tX
aXRoRGF0YTpjYWxsZWVWYWx1ZTp0aGlzVmFsdWU6YXJndW1lbnRDb3VudDphcmd1bWVudHM6XSk6
CisgICAgICAgICogQVBJL0pTQ29udGV4dEludGVybmFsLmg6CisgICAgICAgICogQVBJL09iakND
YWxsYmFja0Z1bmN0aW9uLm1tOgorICAgICAgICAoSlNDOjpvYmpDQ2FsbGJhY2tGdW5jdGlvbkNh
bGxBc0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6b2JqQ0NhbGxiYWNrRnVuY3Rpb25DYWxsQXND
b25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL1dlYktpdEF2YWlsYWJpbGl0eS5oOiBBZGRlZCBz
dXBwbGVtZW50YWwgc3ltYm9scyBmb3IgcGxhdGZvcm1zIHRoYXQgZG9uJ3QgCisgICAgICAgIHN1
cHBvcnQgdGhlIG5lY2Vzc2FyeSBhdmFpbGFiaWxpdHkgbWFjcm9zLgorICAgICAgICAqIEFQSS90
ZXN0cy90ZXN0YXBpLm1tOgorCiAyMDEzLTEwLTE1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVu
YmVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgT2JqQ0NhbGxiYWNrRnVuY3Rpb25JbXBsIHNob3Vs
ZG4ndCBzdG9yZSBhIEpTQ29udGV4dApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29u
dGV4dC5oCShyZXZpc2lvbiAxNTc0NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
Q29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIEpTQ29u
dGV4dF9oCiAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+CisjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvV2ViS2l0QXZhaWxhYmlsaXR5Lmg+CiAKICNpZiBKU0NfT0JKQ19B
UElfRU5BQkxFRAogCkBAIC02Niw2ICs2NywxMSBAQCBPQkpDX1ZJU0lCTEUKIC8vIGEgY2FsbGJh
Y2sgZnJvbSBKYXZhU2NyaXB0IHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIG5pbC4KICsgKEpTQ29u
dGV4dCAqKWN1cnJlbnRDb250ZXh0OwogLy8gVGhpcyBtZXRob2QgbWF5IGJlIGNhbGxlZCBmcm9t
IHdpdGhpbiBhbiBPYmplY3RpdmUtQyBibG9jayBvciBtZXRob2QgaW52b2tlZAorLy8gYXMgYSBj
YWxsYmFjayBmcm9tIEphdmFTY3JpcHQgdG8gcmV0cmlldmUgdGhlIEpTVmFsdWUgZm9yIHRoZSBj
dXJyZW50bHkgCisvLyBleGVjdXRpbmcgY2FsbGJhY2suIE91dHNpZGUgb2YgYSBjYWxsYmFjayBm
cm9tIEphdmFTY3JpcHQgdGhpcyBtZXRob2Qgd2lsbCAKKy8vIHJldHVybiBuaWwuCisrIChKU1Zh
bHVlICopY3VycmVudENhbGxlZSBOU19BVkFJTEFCTEUoMTBfMTAsIE5BKTsKKy8vIFRoaXMgbWV0
aG9kIG1heSBiZSBjYWxsZWQgZnJvbSB3aXRoaW4gYW4gT2JqZWN0aXZlLUMgYmxvY2sgb3IgbWV0
aG9kIGludm9rZWQKIC8vIGFzIGEgY2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0IHRvIHJldHJpZXZl
IHRoZSBjYWxsYmFjaydzIHRoaXMgdmFsdWUuIE91dHNpZGUKIC8vIG9mIGEgY2FsbGJhY2sgZnJv
bSBKYXZhU2NyaXB0IHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIG5pbC4KICsgKEpTVmFsdWUgKilj
dXJyZW50VGhpczsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0Lm1tCShy
ZXZpc2lvbiAxNTc0NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29udGV4dC5t
bQkod29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSwxNSBAQCArIChKU1ZhbHVlICopY3VycmVu
dFRoaXMKICAgICByZXR1cm4gW0pTVmFsdWUgdmFsdWVXaXRoSlNWYWx1ZVJlZjplbnRyeS0+dGhp
c1ZhbHVlIGluQ29udGV4dDpbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0XV07CiB9CiAKKysgKEpT
VmFsdWUgKiljdXJyZW50Q2FsbGVlCit7CisgICAgV1RGVGhyZWFkRGF0YSYgdGhyZWFkRGF0YSA9
IHd0ZlRocmVhZERhdGEoKTsKKyAgICBDYWxsYmFja0RhdGEgKmVudHJ5ID0gKENhbGxiYWNrRGF0
YSAqKXRocmVhZERhdGEubV9hcGlEYXRhOworICAgIGlmICghZW50cnkpCisgICAgICAgIHJldHVy
biBuaWw7CisgICAgcmV0dXJuIFtKU1ZhbHVlIHZhbHVlV2l0aEpTVmFsdWVSZWY6ZW50cnktPmNh
bGxlZVZhbHVlIGluQ29udGV4dDpbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0XV07Cit9CisKICsg
KE5TQXJyYXkgKiljdXJyZW50QXJndW1lbnRzCiB7CiAgICAgV1RGVGhyZWFkRGF0YSYgdGhyZWFk
RGF0YSA9IHd0ZlRocmVhZERhdGEoKTsKQEAgLTIyMiwxMiArMjMxLDEyIEBAIC0gKEJPT0wpYm9v
bEZyb21Ob3RpZnlFeGNlcHRpb246KEpTVmFsdWUKICAgICByZXR1cm4gTk87CiB9CiAKLS0gKHZv
aWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxsYmFja0RhdGEgdGhp
c1ZhbHVlOihKU1ZhbHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50OihzaXplX3QpYXJndW1l
bnRDb3VudCBhcmd1bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVudHMKKy0gKHZvaWQp
YmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxsYmFja0RhdGEgY2FsbGVl
VmFsdWU6KEpTVmFsdWVSZWYpY2FsbGVlVmFsdWUgdGhpc1ZhbHVlOihKU1ZhbHVlUmVmKXRoaXNW
YWx1ZSBhcmd1bWVudENvdW50OihzaXplX3QpYXJndW1lbnRDb3VudCBhcmd1bWVudHM6KGNvbnN0
IEpTVmFsdWVSZWYgKilhcmd1bWVudHMKIHsKICAgICBXVEZUaHJlYWREYXRhJiB0aHJlYWREYXRh
ID0gd3RmVGhyZWFkRGF0YSgpOwogICAgIFtzZWxmIHJldGFpbl07CiAgICAgQ2FsbGJhY2tEYXRh
ICpwcmV2U3RhY2sgPSAoQ2FsbGJhY2tEYXRhICopdGhyZWFkRGF0YS5tX2FwaURhdGE7Ci0gICAg
KmNhbGxiYWNrRGF0YSA9IChDYWxsYmFja0RhdGEpeyBwcmV2U3RhY2ssIHNlbGYsIFtzZWxmLmV4
Y2VwdGlvbiByZXRhaW5dLCB0aGlzVmFsdWUsIGFyZ3VtZW50Q291bnQsIGFyZ3VtZW50cywgbmls
IH07CisgICAgKmNhbGxiYWNrRGF0YSA9IChDYWxsYmFja0RhdGEpeyBwcmV2U3RhY2ssIHNlbGYs
IFtzZWxmLmV4Y2VwdGlvbiByZXRhaW5dLCBjYWxsZWVWYWx1ZSwgdGhpc1ZhbHVlLCBhcmd1bWVu
dENvdW50LCBhcmd1bWVudHMsIG5pbCB9OwogICAgIHRocmVhZERhdGEubV9hcGlEYXRhID0gY2Fs
bGJhY2tEYXRhOwogICAgIHNlbGYuZXhjZXB0aW9uID0gbmlsOwogfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRJbnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0SW50ZXJuYWwuaAkocmV2aXNpb24gMTU3NDcw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRJbnRlcm5hbC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIHN0cnVjdCBDYWxsYmFja0RhdGEgewogICAgIENh
bGxiYWNrRGF0YSAqbmV4dDsKICAgICBKU0NvbnRleHQgKmNvbnRleHQ7CiAgICAgSlNWYWx1ZSAq
cHJlc2VydmVkRXhjZXB0aW9uOworICAgIEpTVmFsdWVSZWYgY2FsbGVlVmFsdWU7CiAgICAgSlNW
YWx1ZVJlZiB0aGlzVmFsdWU7CiAgICAgc2l6ZV90IGFyZ3VtZW50Q291bnQ7CiAgICAgY29uc3Qg
SlNWYWx1ZVJlZiAqYXJndW1lbnRzOwpAQCAtNjQsNyArNjUsNyBAQCBwcml2YXRlOgogLSAoSlNW
YWx1ZSAqKXZhbHVlRnJvbU5vdGlmeUV4Y2VwdGlvbjooSlNWYWx1ZVJlZilleGNlcHRpb247CiAt
IChCT09MKWJvb2xGcm9tTm90aWZ5RXhjZXB0aW9uOihKU1ZhbHVlUmVmKWV4Y2VwdGlvbjsKIAot
LSAodm9pZCliZWdpbkNhbGxiYWNrV2l0aERhdGE6KENhbGxiYWNrRGF0YSAqKWNhbGxiYWNrRGF0
YSB0aGlzVmFsdWU6KEpTVmFsdWVSZWYpdGhpc1ZhbHVlIGFyZ3VtZW50Q291bnQ6KHNpemVfdClh
cmd1bWVudENvdW50IGFyZ3VtZW50czooY29uc3QgSlNWYWx1ZVJlZiAqKWFyZ3VtZW50czsKKy0g
KHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxsYmFja0RhdGEg
Y2FsbGVlVmFsdWU6KEpTVmFsdWVSZWYpY2FsbGVlVmFsdWUgdGhpc1ZhbHVlOihKU1ZhbHVlUmVm
KXRoaXNWYWx1ZSBhcmd1bWVudENvdW50OihzaXplX3QpYXJndW1lbnRDb3VudCBhcmd1bWVudHM6
KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVudHM7CiAtICh2b2lkKWVuZENhbGxiYWNrV2l0aERh
dGE6KENhbGxiYWNrRGF0YSAqKWNhbGxiYWNrRGF0YTsKIAogLSAoSlNWYWx1ZSAqKXdyYXBwZXJG
b3JPYmpDT2JqZWN0OihpZClvYmplY3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L09iakNDYWxsYmFja0Z1bmN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24ubW0JKHJldmlzaW9uIDE1NzQ3MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24ubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTQzOSw3ICs0MzksNyBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBvYmpDQ2FsbGJhY2tG
dW5jdGlvbkNhCiAgICAgQ2FsbGJhY2tEYXRhIGNhbGxiYWNrRGF0YTsKICAgICBKU1ZhbHVlUmVm
IHJlc3VsdDsKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgW2NvbnRleHQgYmVnaW5D
YWxsYmFja1dpdGhEYXRhOiZjYWxsYmFja0RhdGEgdGhpc1ZhbHVlOnRoaXNPYmplY3QgYXJndW1l
bnRDb3VudDphcmd1bWVudENvdW50IGFyZ3VtZW50czphcmd1bWVudHNdOworICAgICAgICBbY29u
dGV4dCBiZWdpbkNhbGxiYWNrV2l0aERhdGE6JmNhbGxiYWNrRGF0YSBjYWxsZWVWYWx1ZTpmdW5j
dGlvbiB0aGlzVmFsdWU6dGhpc09iamVjdCBhcmd1bWVudENvdW50OmFyZ3VtZW50Q291bnQgYXJn
dW1lbnRzOmFyZ3VtZW50c107CiAgICAgICAgIHJlc3VsdCA9IGltcGwtPmNhbGwoY29udGV4dCwg
dGhpc09iamVjdCwgYXJndW1lbnRDb3VudCwgYXJndW1lbnRzLCBleGNlcHRpb24pOwogICAgICAg
ICBpZiAoY29udGV4dC5leGNlcHRpb24pCiAgICAgICAgICAgICAqZXhjZXB0aW9uID0gdmFsdWVJ
bnRlcm5hbFZhbHVlKGNvbnRleHQuZXhjZXB0aW9uKTsKQEAgLTQ1OSw3ICs0NTksNyBAQCBzdGF0
aWMgSlNPYmplY3RSZWYgb2JqQ0NhbGxiYWNrRnVuY3Rpb25DCiAgICAgQ2FsbGJhY2tEYXRhIGNh
bGxiYWNrRGF0YTsKICAgICBKU1ZhbHVlUmVmIHJlc3VsdDsKICAgICBAYXV0b3JlbGVhc2Vwb29s
IHsKLSAgICAgICAgW2NvbnRleHQgYmVnaW5DYWxsYmFja1dpdGhEYXRhOiZjYWxsYmFja0RhdGEg
dGhpc1ZhbHVlOm5pbCBhcmd1bWVudENvdW50OmFyZ3VtZW50Q291bnQgYXJndW1lbnRzOmFyZ3Vt
ZW50c107CisgICAgICAgIFtjb250ZXh0IGJlZ2luQ2FsbGJhY2tXaXRoRGF0YTomY2FsbGJhY2tE
YXRhIGNhbGxlZVZhbHVlOmNvbnN0cnVjdG9yIHRoaXNWYWx1ZTpuaWwgYXJndW1lbnRDb3VudDph
cmd1bWVudENvdW50IGFyZ3VtZW50czphcmd1bWVudHNdOwogICAgICAgICByZXN1bHQgPSBpbXBs
LT5jYWxsKGNvbnRleHQsIE5VTEwsIGFyZ3VtZW50Q291bnQsIGFyZ3VtZW50cywgZXhjZXB0aW9u
KTsKICAgICAgICAgaWYgKGNvbnRleHQuZXhjZXB0aW9uKQogICAgICAgICAgICAgKmV4Y2VwdGlv
biA9IHZhbHVlSW50ZXJuYWxWYWx1ZShjb250ZXh0LmV4Y2VwdGlvbik7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL1dlYktpdEF2YWlsYWJpbGl0eS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvV2ViS2l0QXZhaWxhYmlsaXR5LmgJKHJldmlzaW9uIDE1
NzQ3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvV2ViS2l0QXZhaWxhYmlsaXR5LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQ0LDggKzQ0LDMzIEBACiAjaWZkZWYgX19BUFBMRV9fCiAjaW5j
bHVkZSA8QXZhaWxhYmlsaXR5TWFjcm9zLmg+CiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29y
ZUZvdW5kYXRpb24uaD4KKworLyoKKyAqIERlZmluZSBzeW1ib2xzIGZvciBvbGRlciB2ZXJzaW9u
cyBvZiBPUyBYCisgKi8KKyNpZm5kZWYgX19OU2lfMTBfMTAKKyNkZWZpbmUgX19OU2lfMTBfMTAg
aW50cm9kdWNlZD0xMC4xMAorI2VuZGlmCisKKy8qCisgKiBUcnkgb3VyIGJlc3QgdG8gaGF2ZSBm
dW5jdGlvbmFsIGF2YWlsYWJpbGl0eSBtYWNyb3MuCisgKi8KKyNpZiAhZGVmaW5lZChOU19BVkFJ
TEFCTEUpICYmICFkZWZpbmVkKENGX0FWQUlMQUJMRSkKKyNkZWZpbmUgTlNfQVZBSUxBQkxFKF9t
YWMsIF9pb3MpCisjZGVmaW5lIENGX0FWQUlMQUJMRShfbWFjLCBfaW9zKQorI2VuZGlmCisKKyNp
ZiBkZWZpbmVkKE5TX0FWQUlMQUJMRSkgJiYgIWRlZmluZWQoQ0ZfQVZBSUxBQkxFKQorI2RlZmlu
ZSBDRl9BVkFJTEFCTEUoX21hYywgX2lvcykgTlNfQVZBSUxBQkxFKF9tYWMsIF9pb3MpCisjZW5k
aWYKKworI2lmICFkZWZpbmVkKE5TX0FWQUlMQUJMRSkgJiYgZGVmaW5lZChDRl9BVkFJTEFCTEUp
CisjZGVmaW5lIE5TX0FWQUlMQUJMRShfbWFjLCBfaW9zKSBDRl9BVkFJTEFCTEUoX21hYywgX2lv
cykKKyNlbmRpZgorCiAjZWxzZQogI2RlZmluZSBDRl9BVkFJTEFCTEUoX21hYywgX2lvcykKKyNk
ZWZpbmUgTlNfQVZBSUxBQkxFKF9tYWMsIF9pb3MpCiAvKgogICogRm9yIG5vbi1NYWMgcGxhdGZv
cm1zLCByZXF1aXJlIHRoZSBuZXdlc3QgdmVyc2lvbi4KICAqLwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQkocmV2aXNpb24gMTU3NDcwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC05NjIsNiArOTYyLDI4IEBAIHZvaWQgdGVzdE9iamVjdGl2ZUNBUEkoKQogICAgIEBhdXRvcmVs
ZWFzZXBvb2wgewogICAgICAgICBjaGVja1Jlc3VsdChAIltKU0NvbnRleHQgY3VycmVudFRoaXNd
ID09IG5pbCBvdXRzaWRlIG9mIGNhbGxiYWNrIiwgIVtKU0NvbnRleHQgY3VycmVudFRoaXNdKTsK
ICAgICAgICAgY2hlY2tSZXN1bHQoQCJbSlNDb250ZXh0IGN1cnJlbnRBcmd1bWVudHNdID09IG5p
bCBvdXRzaWRlIG9mIGNhbGxiYWNrIiwgIVtKU0NvbnRleHQgY3VycmVudEFyZ3VtZW50c10pOwor
ICAgICAgICBpZiAoW0pTQ29udGV4dCBjdXJyZW50Q2FsbGVlXSkKKyAgICAgICAgICAgIGNoZWNr
UmVzdWx0KEAiW0pTQ29udGV4dCBjdXJyZW50Q2FsbGVlXSA9PSBuaWwgb3V0c2lkZSBvZiBjYWxs
YmFjayIsICFbSlNDb250ZXh0IGN1cnJlbnRDYWxsZWVdKTsKKyAgICB9CisKKyAgICBpZiAoW0pT
Q29udGV4dCBjdXJyZW50Q2FsbGVlXSkgeworICAgICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKKyAg
ICAgICAgICAgIEpTQ29udGV4dCAqY29udGV4dCA9IFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XTsK
KyAgICAgICAgICAgIGNvbnRleHRbQCJ0ZXN0RnVuY3Rpb24iXSA9IF57CisgICAgICAgICAgICAg
ICAgY2hlY2tSZXN1bHQoQCJ0ZXN0RnVuY3Rpb24uZm9vID09PSA0MiIsIFtbSlNDb250ZXh0IGN1
cnJlbnRDYWxsZWVdW0AiZm9vIl0gdG9JbnQzMl0gPT0gNDIpOworICAgICAgICAgICAgfTsKKyAg
ICAgICAgICAgIGNvbnRleHRbQCJ0ZXN0RnVuY3Rpb24iXVtAImZvbyJdID0gQDQyOworICAgICAg
ICAgICAgW2NvbnRleHRbQCJ0ZXN0RnVuY3Rpb24iXSBjYWxsV2l0aEFyZ3VtZW50czpuaWxdOwor
CisgICAgICAgICAgICBjb250ZXh0W0AiVGVzdENvbnN0cnVjdG9yIl0gPSBeeworICAgICAgICAg
ICAgICAgIEpTVmFsdWUgKm5ld1RoaXMgPSBbSlNWYWx1ZSB2YWx1ZVdpdGhOZXdPYmplY3RJbkNv
bnRleHQ6W0pTQ29udGV4dCBjdXJyZW50Q29udGV4dF1dOworICAgICAgICAgICAgICAgIEpTR2xv
YmFsQ29udGV4dFJlZiBjb250ZXh0UmVmID0gW1tKU0NvbnRleHQgY3VycmVudENvbnRleHRdIEpT
R2xvYmFsQ29udGV4dFJlZl07CisgICAgICAgICAgICAgICAgSlNPYmplY3RSZWYgbmV3VGhpc1Jl
ZiA9IEpTVmFsdWVUb09iamVjdChjb250ZXh0UmVmLCBbbmV3VGhpcyBKU1ZhbHVlUmVmXSwgTlVM
TCk7CisgICAgICAgICAgICAgICAgSlNPYmplY3RTZXRQcm90b3R5cGUoY29udGV4dFJlZiwgbmV3
VGhpc1JlZiwgW1tKU0NvbnRleHQgY3VycmVudENhbGxlZV1bQCJwcm90b3R5cGUiXSBKU1ZhbHVl
UmVmXSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5ld1RoaXM7CisgICAgICAgICAgICB9Owor
ICAgICAgICAgICAgY2hlY2tSZXN1bHQoQCIobmV3IFRlc3RDb25zdHJ1Y3RvcikgaW5zdGFuY2Vv
ZiBUZXN0Q29uc3RydWN0b3IiLCBbY29udGV4dCBldmFsdWF0ZVNjcmlwdDpAIihuZXcgVGVzdENv
bnN0cnVjdG9yKSBpbnN0YW5jZW9mIFRlc3RDb25zdHJ1Y3RvciJdKTsKKyAgICAgICAgfQogICAg
IH0KIAogICAgIGN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0ZXJUZXN0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223403</attachid>
            <date>2014-02-06 16:36:13 -0800</date>
            <delta_ts>2014-02-06 17:18:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122621-20140206163601.patch</filename>
            <type>text/plain</type>
            <size>8820</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzNTc1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE0LTAyLTA2ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgK1tKU0NvbnRleHQgY3VycmVudENhbGxlZV0gc2hvdWxkIHJldHVybiB0aGUgY3Vy
cmVudGx5IGV4ZWN1dGluZyBKUyBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNjIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSXQgd291bGQgYmUgdXNlZnVsIGlmIHRoZXJlIHdhcyBhICtb
SlNDb250ZXh0IGN1cnJlbnRPYmplY3RdIEFQSSB3aGljaCB3YXMgCisgICAgICAgIGNhbGxhYmxl
IGZyb20gT2JqQyBBUEkgY2FsbGJhY2tzLiBJdHMgcHVycG9zZSB3b3VsZCBiZSB0byBhbGxvdyBj
b252ZW5pZW50IAorICAgICAgICBhY2Nlc3MgdG8gdGhlIEpTVmFsdWUgd3JhcHBlciBmb3IgdGhl
IGN1cnJlbnRseS1leGVjdXRpbmcgYmxvY2sgY2FsbGJhY2suCisKKyAgICAgICAgKiBBUEkvSlND
b250ZXh0Lmg6CisgICAgICAgICogQVBJL0pTQ29udGV4dC5tbToKKyAgICAgICAgKCtbSlNDb250
ZXh0IGN1cnJlbnRDYWxsZWVdKToKKyAgICAgICAgKC1bSlNDb250ZXh0IGJlZ2luQ2FsbGJhY2tX
aXRoRGF0YTpjYWxsZWVWYWx1ZTp0aGlzVmFsdWU6YXJndW1lbnRDb3VudDphcmd1bWVudHM6XSk6
CisgICAgICAgICogQVBJL0pTQ29udGV4dEludGVybmFsLmg6CisgICAgICAgICogQVBJL09iakND
YWxsYmFja0Z1bmN0aW9uLm1tOgorICAgICAgICAoSlNDOjpvYmpDQ2FsbGJhY2tGdW5jdGlvbkNh
bGxBc0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6b2JqQ0NhbGxiYWNrRnVuY3Rpb25DYWxsQXND
b25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL3Rlc3RzL3Rlc3RhcGkubW06CisKIDIwMTQtMDIt
MDYgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBK
U01hbmFnZWRWYWx1ZSBzaG91bGQgYXV0b21hdGljYWxseSBjYWxsIHJlbW92ZU1hbmFnZWRSZWZl
cmVuY2U6d2l0aE93bmVyOiB1cG9uIGRlYWxsb2MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0NvbnRleHQuaAkocmV2aXNpb24gMTYzNTc0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2RlZmlu
ZSBKU0NvbnRleHRfaAogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdC5oPgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1dlYktpdEF2YWlsYWJpbGl0eS5oPgogCiAjaWYgSlND
X09CSkNfQVBJX0VOQUJMRUQKIApAQCAtOTQsNiArOTUsMjQgQEAgT0JKQ19WSVNJQkxFCiAKIC8q
IQogQG1ldGhvZAorQGFic3RyYWN0IEdldCB0aGUgSmF2YVNjcmlwdCBmdW5jdGlvbiB0aGF0IGlz
IGN1cnJlbnRseSBleGVjdXRpbmcuCitAZGlzY3Vzc2lvbiBUaGlzIG1ldGhvZCBtYXkgYmUgY2Fs
bGVkIGZyb20gd2l0aGluIGFuIE9iamVjdGl2ZS1DIGJsb2NrIG9yIG1ldGhvZCBpbnZva2VkCisg
YXMgYSBjYWxsYmFjayBmcm9tIEphdmFTY3JpcHQgdG8gcmV0cmlldmUgdGhlIGNhbGxiYWNrJ3Mg
Y29udGV4dC4gT3V0c2lkZSBvZgorIGEgY2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0IHRoaXMgbWV0
aG9kIHdpbGwgcmV0dXJuIG5pbC4KK0ByZXN1bHQgVGhlIGN1cnJlbnRseSBleGVjdXRpbmcgSmF2
YVNjcmlwdCBmdW5jdGlvbiBvciBuaWwgaWYgdGhlcmUgaXNuJ3Qgb25lLgorKi8KKyNpZiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKKysgKEpTVmFsdWUgKiljdXJyZW50
Q2FsbGVlIE5TX0FWQUlMQUJMRSgxMF8xMCwgOF8wKTsKKyNlbHNlCisjaWYgKFRBUkdFVF9PU19N
QUMgJiYgIShUQVJHRVRfT1NfRU1CRURERUQgfHwgVEFSR0VUX09TX0lQSE9ORSkpCisrIChKU1Zh
bHVlICopY3VycmVudENhbGxlZSBfX2F0dHJpYnV0ZV9fKChhdmFpbGFiaWxpdHkobWFjb3N4LF9f
TlNpXzEwXzEwKSkpOworI2Vsc2UKKysgKEpTVmFsdWUgKiljdXJyZW50Q2FsbGVlIF9fYXR0cmli
dXRlX18oKGF2YWlsYWJpbGl0eShpb3MsX19OU2lfOF8wKSkpOworI2VuZGlmCisjZW5kaWYgLy8g
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCisKKy8qIQorQG1ldGhvZAog
QGFic3RyYWN0IEdldCB0aGUgPGNvZGU+dGhpczwvY29kZT4gdmFsdWUgb2YgdGhlIGN1cnJlbnRs
eSBleGVjdXRpbmcgbWV0aG9kLgogQGRpc2N1c3Npb24gVGhpcyBtZXRob2QgbWF5IGJlIGNhbGxl
ZCBmcm9tIHdpdGhpbiBhbiBPYmplY3RpdmUtQyBibG9jayBvciBtZXRob2QgaW52b2tlZAogIGFz
IGEgY2FsbGJhY2sgZnJvbSBKYXZhU2NyaXB0IHRvIHJldHJpZXZlIHRoZSBjYWxsYmFjaydzIHRo
aXMgdmFsdWUuIE91dHNpZGUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250
ZXh0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0
Lm1tCShyZXZpc2lvbiAxNjM1NzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29u
dGV4dC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSwxNSBAQCArIChKU1ZhbHVlICop
Y3VycmVudFRoaXMKICAgICByZXR1cm4gW0pTVmFsdWUgdmFsdWVXaXRoSlNWYWx1ZVJlZjplbnRy
eS0+dGhpc1ZhbHVlIGluQ29udGV4dDpbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0XV07CiB9CiAK
KysgKEpTVmFsdWUgKiljdXJyZW50Q2FsbGVlCit7CisgICAgV1RGVGhyZWFkRGF0YSYgdGhyZWFk
RGF0YSA9IHd0ZlRocmVhZERhdGEoKTsKKyAgICBDYWxsYmFja0RhdGEgKmVudHJ5ID0gKENhbGxi
YWNrRGF0YSAqKXRocmVhZERhdGEubV9hcGlEYXRhOworICAgIGlmICghZW50cnkpCisgICAgICAg
IHJldHVybiBuaWw7CisgICAgcmV0dXJuIFtKU1ZhbHVlIHZhbHVlV2l0aEpTVmFsdWVSZWY6ZW50
cnktPmNhbGxlZVZhbHVlIGluQ29udGV4dDpbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0XV07Cit9
CisKICsgKE5TQXJyYXkgKiljdXJyZW50QXJndW1lbnRzCiB7CiAgICAgV1RGVGhyZWFkRGF0YSYg
dGhyZWFkRGF0YSA9IHd0ZlRocmVhZERhdGEoKTsKQEAgLTIzOCwxMiArMjQ3LDEyIEBAIC0gKEJP
T0wpYm9vbEZyb21Ob3RpZnlFeGNlcHRpb246KEpTVmFsdWUKICAgICByZXR1cm4gTk87CiB9CiAK
LS0gKHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxsYmFja0Rh
dGEgdGhpc1ZhbHVlOihKU1ZhbHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50OihzaXplX3Qp
YXJndW1lbnRDb3VudCBhcmd1bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVudHMKKy0g
KHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxsYmFja0RhdGEg
Y2FsbGVlVmFsdWU6KEpTVmFsdWVSZWYpY2FsbGVlVmFsdWUgdGhpc1ZhbHVlOihKU1ZhbHVlUmVm
KXRoaXNWYWx1ZSBhcmd1bWVudENvdW50OihzaXplX3QpYXJndW1lbnRDb3VudCBhcmd1bWVudHM6
KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVudHMKIHsKICAgICBXVEZUaHJlYWREYXRhJiB0aHJl
YWREYXRhID0gd3RmVGhyZWFkRGF0YSgpOwogICAgIFtzZWxmIHJldGFpbl07CiAgICAgQ2FsbGJh
Y2tEYXRhICpwcmV2U3RhY2sgPSAoQ2FsbGJhY2tEYXRhICopdGhyZWFkRGF0YS5tX2FwaURhdGE7
Ci0gICAgKmNhbGxiYWNrRGF0YSA9IChDYWxsYmFja0RhdGEpeyBwcmV2U3RhY2ssIHNlbGYsIFtz
ZWxmLmV4Y2VwdGlvbiByZXRhaW5dLCB0aGlzVmFsdWUsIGFyZ3VtZW50Q291bnQsIGFyZ3VtZW50
cywgbmlsIH07CisgICAgKmNhbGxiYWNrRGF0YSA9IChDYWxsYmFja0RhdGEpeyBwcmV2U3RhY2ss
IHNlbGYsIFtzZWxmLmV4Y2VwdGlvbiByZXRhaW5dLCBjYWxsZWVWYWx1ZSwgdGhpc1ZhbHVlLCBh
cmd1bWVudENvdW50LCBhcmd1bWVudHMsIG5pbCB9OwogICAgIHRocmVhZERhdGEubV9hcGlEYXRh
ID0gY2FsbGJhY2tEYXRhOwogICAgIHNlbGYuZXhjZXB0aW9uID0gbmlsOwogfQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRJbnRlcm5hbC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0SW50ZXJuYWwuaAkocmV2aXNpb24g
MTYzNTc0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRJbnRlcm5hbC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIHN0cnVjdCBDYWxsYmFja0RhdGEgewog
ICAgIENhbGxiYWNrRGF0YSAqbmV4dDsKICAgICBKU0NvbnRleHQgKmNvbnRleHQ7CiAgICAgSlNW
YWx1ZSAqcHJlc2VydmVkRXhjZXB0aW9uOworICAgIEpTVmFsdWVSZWYgY2FsbGVlVmFsdWU7CiAg
ICAgSlNWYWx1ZVJlZiB0aGlzVmFsdWU7CiAgICAgc2l6ZV90IGFyZ3VtZW50Q291bnQ7CiAgICAg
Y29uc3QgSlNWYWx1ZVJlZiAqYXJndW1lbnRzOwpAQCAtNjQsNyArNjUsNyBAQCBwcml2YXRlOgog
LSAoSlNWYWx1ZSAqKXZhbHVlRnJvbU5vdGlmeUV4Y2VwdGlvbjooSlNWYWx1ZVJlZilleGNlcHRp
b247CiAtIChCT09MKWJvb2xGcm9tTm90aWZ5RXhjZXB0aW9uOihKU1ZhbHVlUmVmKWV4Y2VwdGlv
bjsKIAotLSAodm9pZCliZWdpbkNhbGxiYWNrV2l0aERhdGE6KENhbGxiYWNrRGF0YSAqKWNhbGxi
YWNrRGF0YSB0aGlzVmFsdWU6KEpTVmFsdWVSZWYpdGhpc1ZhbHVlIGFyZ3VtZW50Q291bnQ6KHNp
emVfdClhcmd1bWVudENvdW50IGFyZ3VtZW50czooY29uc3QgSlNWYWx1ZVJlZiAqKWFyZ3VtZW50
czsKKy0gKHZvaWQpYmVnaW5DYWxsYmFja1dpdGhEYXRhOihDYWxsYmFja0RhdGEgKiljYWxsYmFj
a0RhdGEgY2FsbGVlVmFsdWU6KEpTVmFsdWVSZWYpY2FsbGVlVmFsdWUgdGhpc1ZhbHVlOihKU1Zh
bHVlUmVmKXRoaXNWYWx1ZSBhcmd1bWVudENvdW50OihzaXplX3QpYXJndW1lbnRDb3VudCBhcmd1
bWVudHM6KGNvbnN0IEpTVmFsdWVSZWYgKilhcmd1bWVudHM7CiAtICh2b2lkKWVuZENhbGxiYWNr
V2l0aERhdGE6KENhbGxiYWNrRGF0YSAqKWNhbGxiYWNrRGF0YTsKIAogLSAoSlNWYWx1ZSAqKXdy
YXBwZXJGb3JPYmpDT2JqZWN0OihpZClvYmplY3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL09iakNDYWxsYmFja0Z1bmN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24ubW0JKHJldmlzaW9uIDE2MzU3NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24ubW0JKHdv
cmtpbmcgY29weSkKQEAgLTQ2NCw3ICs0NjQsNyBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBvYmpDQ2Fs
bGJhY2tGdW5jdGlvbkNhCiAgICAgQ2FsbGJhY2tEYXRhIGNhbGxiYWNrRGF0YTsKICAgICBKU1Zh
bHVlUmVmIHJlc3VsdDsKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgW2NvbnRleHQg
YmVnaW5DYWxsYmFja1dpdGhEYXRhOiZjYWxsYmFja0RhdGEgdGhpc1ZhbHVlOnRoaXNPYmplY3Qg
YXJndW1lbnRDb3VudDphcmd1bWVudENvdW50IGFyZ3VtZW50czphcmd1bWVudHNdOworICAgICAg
ICBbY29udGV4dCBiZWdpbkNhbGxiYWNrV2l0aERhdGE6JmNhbGxiYWNrRGF0YSBjYWxsZWVWYWx1
ZTpmdW5jdGlvbiB0aGlzVmFsdWU6dGhpc09iamVjdCBhcmd1bWVudENvdW50OmFyZ3VtZW50Q291
bnQgYXJndW1lbnRzOmFyZ3VtZW50c107CiAgICAgICAgIHJlc3VsdCA9IGltcGwtPmNhbGwoY29u
dGV4dCwgdGhpc09iamVjdCwgYXJndW1lbnRDb3VudCwgYXJndW1lbnRzLCBleGNlcHRpb24pOwog
ICAgICAgICBpZiAoY29udGV4dC5leGNlcHRpb24pCiAgICAgICAgICAgICAqZXhjZXB0aW9uID0g
dmFsdWVJbnRlcm5hbFZhbHVlKGNvbnRleHQuZXhjZXB0aW9uKTsKQEAgLTQ4NCw3ICs0ODQsNyBA
QCBzdGF0aWMgSlNPYmplY3RSZWYgb2JqQ0NhbGxiYWNrRnVuY3Rpb25DCiAgICAgQ2FsbGJhY2tE
YXRhIGNhbGxiYWNrRGF0YTsKICAgICBKU1ZhbHVlUmVmIHJlc3VsdDsKICAgICBAYXV0b3JlbGVh
c2Vwb29sIHsKLSAgICAgICAgW2NvbnRleHQgYmVnaW5DYWxsYmFja1dpdGhEYXRhOiZjYWxsYmFj
a0RhdGEgdGhpc1ZhbHVlOm5pbCBhcmd1bWVudENvdW50OmFyZ3VtZW50Q291bnQgYXJndW1lbnRz
OmFyZ3VtZW50c107CisgICAgICAgIFtjb250ZXh0IGJlZ2luQ2FsbGJhY2tXaXRoRGF0YTomY2Fs
bGJhY2tEYXRhIGNhbGxlZVZhbHVlOmNvbnN0cnVjdG9yIHRoaXNWYWx1ZTpuaWwgYXJndW1lbnRD
b3VudDphcmd1bWVudENvdW50IGFyZ3VtZW50czphcmd1bWVudHNdOwogICAgICAgICByZXN1bHQg
PSBpbXBsLT5jYWxsKGNvbnRleHQsIE5VTEwsIGFyZ3VtZW50Q291bnQsIGFyZ3VtZW50cywgZXhj
ZXB0aW9uKTsKICAgICAgICAgaWYgKGNvbnRleHQuZXhjZXB0aW9uKQogICAgICAgICAgICAgKmV4
Y2VwdGlvbiA9IHZhbHVlSW50ZXJuYWxWYWx1ZShjb250ZXh0LmV4Y2VwdGlvbik7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCShyZXZpc2lvbiAxNjM1
NzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkubW0JKHdvcmtp
bmcgY29weSkKQEAgLTExNDEsNiArMTE0MSwyOCBAQCB2b2lkIHRlc3RPYmplY3RpdmVDQVBJKCkK
ICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAgICAgICAgY2hlY2tSZXN1bHQoQCJbSlNDb250ZXh0
IGN1cnJlbnRUaGlzXSA9PSBuaWwgb3V0c2lkZSBvZiBjYWxsYmFjayIsICFbSlNDb250ZXh0IGN1
cnJlbnRUaGlzXSk7CiAgICAgICAgIGNoZWNrUmVzdWx0KEAiW0pTQ29udGV4dCBjdXJyZW50QXJn
dW1lbnRzXSA9PSBuaWwgb3V0c2lkZSBvZiBjYWxsYmFjayIsICFbSlNDb250ZXh0IGN1cnJlbnRB
cmd1bWVudHNdKTsKKyAgICAgICAgaWYgKFtKU0NvbnRleHQgY3VycmVudENhbGxlZV0pCisgICAg
ICAgICAgICBjaGVja1Jlc3VsdChAIltKU0NvbnRleHQgY3VycmVudENhbGxlZV0gPT0gbmlsIG91
dHNpZGUgb2YgY2FsbGJhY2siLCAhW0pTQ29udGV4dCBjdXJyZW50Q2FsbGVlXSk7CisgICAgfQor
CisgICAgaWYgKFtKU0NvbnRleHQgY3VycmVudENhbGxlZV0pIHsKKyAgICAgICAgQGF1dG9yZWxl
YXNlcG9vbCB7CisgICAgICAgICAgICBKU0NvbnRleHQgKmNvbnRleHQgPSBbW0pTQ29udGV4dCBh
bGxvY10gaW5pdF07CisgICAgICAgICAgICBjb250ZXh0W0AidGVzdEZ1bmN0aW9uIl0gPSBeewor
ICAgICAgICAgICAgICAgIGNoZWNrUmVzdWx0KEAidGVzdEZ1bmN0aW9uLmZvbyA9PT0gNDIiLCBb
W0pTQ29udGV4dCBjdXJyZW50Q2FsbGVlXVtAImZvbyJdIHRvSW50MzJdID09IDQyKTsKKyAgICAg
ICAgICAgIH07CisgICAgICAgICAgICBjb250ZXh0W0AidGVzdEZ1bmN0aW9uIl1bQCJmb28iXSA9
IEA0MjsKKyAgICAgICAgICAgIFtjb250ZXh0W0AidGVzdEZ1bmN0aW9uIl0gY2FsbFdpdGhBcmd1
bWVudHM6bmlsXTsKKworICAgICAgICAgICAgY29udGV4dFtAIlRlc3RDb25zdHJ1Y3RvciJdID0g
XnsKKyAgICAgICAgICAgICAgICBKU1ZhbHVlICpuZXdUaGlzID0gW0pTVmFsdWUgdmFsdWVXaXRo
TmV3T2JqZWN0SW5Db250ZXh0OltKU0NvbnRleHQgY3VycmVudENvbnRleHRdXTsKKyAgICAgICAg
ICAgICAgICBKU0dsb2JhbENvbnRleHRSZWYgY29udGV4dFJlZiA9IFtbSlNDb250ZXh0IGN1cnJl
bnRDb250ZXh0XSBKU0dsb2JhbENvbnRleHRSZWZdOworICAgICAgICAgICAgICAgIEpTT2JqZWN0
UmVmIG5ld1RoaXNSZWYgPSBKU1ZhbHVlVG9PYmplY3QoY29udGV4dFJlZiwgW25ld1RoaXMgSlNW
YWx1ZVJlZl0sIE5VTEwpOworICAgICAgICAgICAgICAgIEpTT2JqZWN0U2V0UHJvdG90eXBlKGNv
bnRleHRSZWYsIG5ld1RoaXNSZWYsIFtbSlNDb250ZXh0IGN1cnJlbnRDYWxsZWVdW0AicHJvdG90
eXBlIl0gSlNWYWx1ZVJlZl0pOworICAgICAgICAgICAgICAgIHJldHVybiBuZXdUaGlzOworICAg
ICAgICAgICAgfTsKKyAgICAgICAgICAgIGNoZWNrUmVzdWx0KEAiKG5ldyBUZXN0Q29uc3RydWN0
b3IpIGluc3RhbmNlb2YgVGVzdENvbnN0cnVjdG9yIiwgW2NvbnRleHQgZXZhbHVhdGVTY3JpcHQ6
QCIobmV3IFRlc3RDb25zdHJ1Y3RvcikgaW5zdGFuY2VvZiBUZXN0Q29uc3RydWN0b3IiXSk7Cisg
ICAgICAgIH0KICAgICB9CiAKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsK
</data>
<flag name="review"
          id="247414"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>