<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -2,7 +2,7 @@
 
 * bug fixes:
   * Added forgotten public/images/flags to generator file.
-  
+
 == 0.1.5  2008-04-25
 
 * 1 major enhancement:
@@ -10,7 +10,7 @@
 
 * 1 minor enhancement:
   * flags to indicate found language
-  
+
 * bug fixes:
   * No more (or just less?) index lock errors
 
@@ -36,7 +36,7 @@
   * cache &#224; la Google
 
 * minor enhancements:
-  * easier configuration. Every picolena specific conf files in config/custom 
+  * easier configuration. Every picolena specific conf files in config/custom
   * lots of refactoring
 
 * bug fixes</diff>
      <filename>History.txt</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,7 @@
 Picolena is a lightweight ferret-powered documents search engine written in Ruby on rails:
 
    1. Just let Ferret index any directory you want.
-   2. Enter queries on your browser to get corresponding documents in a few milliseconds. 
+   2. Enter queries on your browser to get corresponding documents in a few milliseconds.
 
 == FEATURES:
 
@@ -33,7 +33,7 @@ web-server just like you would with any Rails application.
     picolena ~/shared_documents /media/literature
     cd picolena
     ruby script/server
-    
+
 This would create the picolena file structure, index every file inside ~/shared_documents and /media/literature, and launch a web-server available at http://localhost:3000
 
 == REQUIREMENTS:</diff>
      <filename>README.txt</filename>
    </modified>
    <modified>
      <diff>@@ -14,7 +14,7 @@ end
 action= ARGV.include?(&quot;--spec-only&quot;) ? &quot;testing&quot; : &quot;installing&quot;
 
 require 'rubigen/scripts/generate'
-source = RubiGen::PathSource.new(:application, 
+source = RubiGen::PathSource.new(:application,
   File.join(File.dirname(__FILE__), &quot;../lib&quot;))
 RubiGen::Base.reset_sources
 RubiGen::Base.append_sources source</diff>
      <filename>bin/picolena</filename>
    </modified>
    <modified>
      <diff>@@ -28,21 +28,21 @@ Run 'rubyforge setup' to prepare your env for access to Rubyforge
 end
 
 
-REV = nil 
-# UNCOMMENT IF REQUIRED: 
+REV = nil
+# UNCOMMENT IF REQUIRED:
 # REV = `svn info`.each {|line| if line =~ /^Revision:/ then k,v = line.split(': '); break v.chomp; else next; end} rescue nil
 VERS = Picolena::VERSION::STRING + (REV ? &quot;.#{REV}&quot; : &quot;&quot;)
 RDOC_OPTS = ['--quiet', '--title', 'picolena documentation',
     &quot;--opname&quot;, &quot;index.html&quot;,
-    &quot;--line-numbers&quot;, 
+    &quot;--line-numbers&quot;,
     &quot;--main&quot;, &quot;README&quot;,
     &quot;--inline-source&quot;]
 
 class Hoe
-  def extra_deps 
-    @extra_deps.reject! { |x| Array(x).first == 'hoe' } 
+  def extra_deps
+    @extra_deps.reject! { |x| Array(x).first == 'hoe' }
     @extra_deps
-  end 
+  end
 end
 
 # Generate all the Rake tasks
@@ -54,10 +54,10 @@ hoe = Hoe.new(GEM_NAME, VERS) do |p|
   p.url = HOMEPATH
   p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
   p.test_globs = [&quot;spec/picolena_spec.rb&quot;]
-  
+
   files_to_clean = File.readlines(File.join(File.dirname(__FILE__),'files_to_clean')).collect{|line| line.chomp}
   p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store']+files_to_clean  #An array of file patterns to delete on clean.
-  
+
   # == Optional
   p.changes = p.paragraphs_of(&quot;History.txt&quot;, 0..1).join(&quot;\n\n&quot;)
   p.extra_deps = [ ['rails', '&gt;= 2.0.2'],
@@ -70,9 +70,9 @@ hoe = Hoe.new(GEM_NAME, VERS) do |p|
                    ['paginator', '&gt;= 1.1.0'],
                    ['rspec', '&gt;= 1.1.3']
                  ]
-  
+
   #p.spec_extras = {}    # A hash of extra values to set in the gemspec.
-  
+
   p.rdoc_pattern = /txt$/
 end
 </diff>
      <filename>config/hoe.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@ Example:
     picolena ~/shared_documents /media/literature
     cd picolena
     ruby script/server
-    
+
     This would create the picolena file structure, index every file
     inside ~/shared_documents and /media/literature, and launch a
     web-server available at http://localhost:3000
\ No newline at end of file</diff>
      <filename>lib/picolena/USAGE</filename>
    </modified>
    <modified>
      <diff>@@ -2,16 +2,16 @@ module Picolena
   # Specify indexes path.
   # Storage should be sufficient in order to store all indexed data.
   IndexesSavePath=File.join(RAILS_ROOT, 'tmp/ferret_indexes/')
-  
-  
+
+
   # Which language should be used?
   # English (:en), German (:de), French (:fr) and Spanish (:es) are currently supported
   # English is chosen by default.
   # If you'd like to use another language, you can find templates in #{RAILS_ROOT}/lang/ui,
   # then add your own language in this directory, and modify this line:
   Globalite.language = :en
-  
-  
+
+
   # Is more than one language used in indexed documents?
   # Picolena can try to recognise the language used, and save it in the index.
   # It is then possible to look for documents according to their language.
@@ -19,15 +19,15 @@ module Picolena
   # If every document is written in the same language, turning UseLanguageRecognition to false
   # will speed up the indexing process
   UseLanguageRecognition = true
-  
+
   # Specify which locale should be used by Ferret
   Ferret.locale = &quot;en_US.UTF-8&quot;
-  
-  
+
+
   # Results per page
   ResultsPerPage = 10
-  
-  
+
+
   # Length of &quot;probably unique id&quot; 's
   # Those id's are used to characterize every document, thus allowing tiny URLs in Controllers
   #  HashLength = 10
@@ -37,8 +37,8 @@ module Picolena
   # The more documents you have, the bigger HashLength should be in order to avoid collisions.
   # It would not be wise (and specs won't pass) to specify HashLength smaller than 10.
   HashLength = 10
-  
-  
+
+
   # Specify the default Levenshtein distance when using FuzzyQuery
   # see http://ferret.davebalmain.com/api/classes/Ferret/QueryParser.html for more information.
   Ferret::Search::FuzzyQuery.default_min_similarity=0.6</diff>
      <filename>lib/picolena/config/basic.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,14 +3,14 @@ require 'fileutils'
 require 'pathname'
 
 class PicolenaGenerator &lt; RubiGen::Base #:nodoc:
-  
+
   DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
                               Config::CONFIG['ruby_install_name'])
-  
+
   default_options :destination =&gt; 'picolena'
-  
+
   attr_reader :name
-  
+
   def initialize(runtime_args, runtime_options = {})
     super
     usage if args.empty? and !options[:spec_only]
@@ -20,17 +20,17 @@ class PicolenaGenerator &lt; RubiGen::Base #:nodoc:
       abs_dir=Pathname.new(relative_path).realpath.to_s
       &quot;\&quot;#{abs_dir}\&quot; : \&quot;#{abs_dir}\&quot;&quot;
     }.join(&quot;\n  &quot;)
-    
+
     extract_options
   end
 
   def manifest
     script_options     = { :chmod =&gt; 0755, :shebang =&gt; options[:shebang] == DEFAULT_SHEBANG ? nil : options[:shebang] }
-    
+
     record do |m|
       #Create base dir
       m.directory ''
-      
+
       # Picolena file structure, without any plugin.
       BASEDIRS.each { |path|
         # Ensure appropriate folder exists
@@ -38,7 +38,7 @@ class PicolenaGenerator &lt; RubiGen::Base #:nodoc:
         # Copy every file included in BASEDIRS
         m.folder path, path
       }
-      
+
       # Moved plugins away so they don't get parsed by rdoc/ri.
       RAILS_PLUGINS.each{ |path|
         plugin_source = '../../../rails_plugins/'+path
@@ -56,7 +56,7 @@ class PicolenaGenerator &lt; RubiGen::Base #:nodoc:
       %w( about breakpointer console destroy generate performance/benchmarker performance/profiler performance/request process/reaper process/spawner process/inspector runner server plugin spec spec_server).each do |file|
         m.file &quot;script/#{file}&quot;, &quot;script/#{file}&quot;, script_options
       end
-      
+
       # Picolena configuration files
       m.file '../config/white_list_ip.yml', 'config/custom/white_list_ip.yml'
       m.file '../config/basic.rb', 'config/custom/picolena.rb'
@@ -69,10 +69,10 @@ class PicolenaGenerator &lt; RubiGen::Base #:nodoc:
       m.file '../../../README.txt', 'README'
       m.file '../../../README.txt', 'doc/README_FOR_APP'
       m.file 'Rakefile', 'Rakefile'
-     
+
       unless options[:no_index]
         # Indexing documents for development environment
-        m.rake 'index:create' 
+        m.rake 'index:create'
         # Mirroring Ferret development index instead of indexing documents again for production.
         m.mirror 'tmp/ferret_indexes/development', 'tmp/ferret_indexes/production'
       end
@@ -109,10 +109,10 @@ EOS
       opts.on(nil, &quot;--spec-only&quot;, &quot;Test picolena framework without installing it.&quot;){
         options[:spec_only]=true
         options[:no_index]=true
-        options[:destination]=File.join(Dir::tmpdir,&quot;picolena_test_#{Time.now.to_i}&quot;) 
+        options[:destination]=File.join(Dir::tmpdir,&quot;picolena_test_#{Time.now.to_i}&quot;)
       }
     end
-    
+
     def extract_options
       # for each option, extract it into a local variable (and create an &quot;attr_reader :author&quot; at the top)
       # Templates can access these value via the attr_reader-generated methods, but not the
@@ -170,7 +170,7 @@ EOS
     tmp/sessions
     tmp/sockets
     )
-    
+
     RAILS_PLUGINS=%w(
     globalite
     globalite/data</diff>
      <filename>lib/picolena/picolena_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,23 +3,23 @@
 # The request is sent to DocumentsController only if the IP is included in the white list.
 # Otherwise, it returns &quot;Access denied&quot; 403.
 
-class ApplicationController &lt; ActionController::Base  
+class ApplicationController &lt; ActionController::Base
   session :disabled =&gt; true
   before_filter :should_only_be_available_for_white_list_IPs, :except=&gt; :access_denied
-  
+
   # Returns 403 status in case of an unknown remote IP address
   def access_denied
     render :text=&gt;&quot;Access denied&quot;, :status =&gt; 403
   end
-  
+
   # Redirects to documents_url in case route hasn't been recognised
   def unknown_request
     flash[:warning]=&quot;Unknown URL&quot;
     redirect_to documents_url
   end
-  
+
   private
-  
+
   # Tries to match remote IP address with the white list defined in config/custom/white_list_ip.yml
   # Redirects to :access_denied if the remote IP is not white listed.
   def should_only_be_available_for_white_list_IPs</diff>
      <filename>lib/picolena/templates/app/controllers/application.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,17 +6,17 @@
 #  - displays document content
 #  - displays cached content.
 
-class DocumentsController &lt; ApplicationController  
+class DocumentsController &lt; ApplicationController
   before_filter :check_if_valid_link, :only=&gt; [:download, :content, :cached]
-  
+
   # Actually doesn't check anything at all. Just a redirect to show_document(query)
   #
   # FIXME: remove this useless action, and go directly from submit button to GET :action =&gt; show
   def check_query
     redirect_to :action=&gt;'show', :id=&gt;params[:query]
   end
-  
-  
+
+
   # Show the matching documents for a given query
   def show
     start=Time.now
@@ -31,14 +31,14 @@ class DocumentsController &lt; ApplicationController
       @total_hits=finder.total_hits
     @time_needed=Time.now-start
   end
-  
-  
+
+
   # Download the file whose probably_unique_id is given.
   # If the checksum is incorrect, redirect to documents_url via no_valid_link
   def download
     send_file @document.complete_path
   end
-  
+
   # Returns the content of the document identified by probably_unique_id, as it is *now*.
   def content
   end
@@ -47,9 +47,9 @@ class DocumentsController &lt; ApplicationController
   # similar to Google cache.
   def cached
   end
-  
+
   private
-  
+
   # Returns corresponding document for any given &quot;probably unique id&quot;
   # Redirects to no_valid_link if:
   #  there are more than one matching document (hash collision)
@@ -58,7 +58,7 @@ class DocumentsController &lt; ApplicationController
     @probably_unique_id=params[:id]
     @document=Document.find_by_unique_id(@probably_unique_id) rescue no_valid_link
   end
-  
+
   # Flashes a warning and redirects to documents_url.
   def no_valid_link
     flash[:warning]=&quot;no valid link&quot;</diff>
      <filename>lib/picolena/templates/app/controllers/documents_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ module DocumentsHelper
   def nothing_found?
     @matching_documents.nil? or @matching_documents.entries.empty?
   end
-  
+
   # Very basic pagination.
   # Provides liks to Next, Prev and FirstPage when needed.
   def should_paginate(page,query)
@@ -11,7 +11,7 @@ module DocumentsHelper
      (link_to(&quot;&amp;larr;&quot;, :action =&gt; :show, :id =&gt; query, :page =&gt; page.prev.number) if page.prev?),
      (link_to(&quot;&amp;rarr;&quot;, :action =&gt; :show, :id =&gt; query, :page =&gt; page.next.number) if page.next?)].compact.join(&quot; | &quot;)
   end
-  
+
   # Returns a localized sentence like &quot;Results 1-10 of 12 for Zimbabwe (0.472s)&quot; or
   # &quot;R&#233;sultats 1-2 parmi 2 pour whatever (0.012s)&quot;
   def describe_results(page, total_hits, dt, query)
@@ -24,45 +24,45 @@ module DocumentsHelper
     show_time_needed(dt)
     ].join(' ')
   end
-  
+
   # Returns the time needed to treat the query and launch the search, with a ms precision : (0.472s)
   def show_time_needed(dt)
     content_tag(:small,'('&lt;&lt;number_with_precision(dt,3)&lt;&lt;'s)')
   end
-  
+
   # When possible, highlights content of the document that matches the query.
   def highlight_matching_content(document)
     content_tag(:ul,document.matching_content.collect{|sentence|
       content_tag(:li,h(sentence).gsub(/&amp;lt;&amp;lt;(.*?)&amp;gt;&amp;gt;/,'&lt;strong&gt;\1&lt;/strong&gt;').gsub(/\v|\f/,''))
     }) if document.matching_content
   end
-  
+
   def language_icon_for(document)
     (lang=document.language) &amp;&amp; link_to(image_tag(&quot;flags/#{lang}.png&quot;), document_url('lang:'&lt;&lt;lang))
   end
-  
+
   # Returns icon and filename for any given document.
   def icon_and_filename_for(document)
     [icon_for(document.extname),document.filename].join(&quot;&amp;nbsp;&quot;)
   end
-  
+
   # Returns the location (if avaible) of the filetype icon.
-  def icon_for(filetype)    
+  def icon_for(filetype)
     icon_symbol=FiletypeToIconSymbol[filetype.downcase.sub(/^\./,'')]
     image_tag(&quot;icons/#{icon_symbol}.png&quot;) if icon_symbol
   end
-  
+
   # Returns a link to a backup search engine that could maybe find more results for the same query.
   def link_to_backup_search_engine(query)
     link_to :backup_search_engine_name.l, :backup_search_engine_url.l&lt;&lt;query
   end
-  
+
   # For any indexed document, returns a link to its containing directory.
   def link_to_containing_directory(document)
     link_name=image_tag('icons/remote_folder.png')&lt;&lt;'&amp;nbsp;'&lt;&lt;content_tag(:small,document.alias_path)
     link_to link_name, document.alias_path, :target=&gt;'_blank'
   end
-  
+
   # For any indexed document, returns a link to show its content.
   def link_to_plain_text_content(document)
     link_name=image_tag('icons/plain_text_small.png')&lt;&lt;'&amp;nbsp;'&lt;&lt;content_tag(:small,:text_content.l)</diff>
      <filename>lib/picolena/templates/app/helpers/documents_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,14 +2,14 @@
 class Document
   attr_reader :complete_path
   attr_accessor :user, :score, :matching_content
-  
+
   def initialize(path)
     #To ensure @complete_path is an absolute direction.
     @complete_path=File.expand_path(path)
     validate_existence_of_file
     validate_in_indexed_directory
   end
-  
+
   #Delegating properties to File::method_name(complete_path)
   [:dirname, :basename, :extname, :size?, :file?, :read, :ext_as_sym].each{|method_name|
     define_method(method_name){File.send(method_name,complete_path)}
@@ -17,19 +17,19 @@ class Document
   alias_method :size, :size?
   alias_method :filename, :basename
   alias_method :to_s, :basename
-  
+
   # Returns filename without extension
   #   &quot;buildings.odt&quot; =&gt; &quot;buildings&quot;
   def basename
     filename.chomp(extname)
   end
-  
+
   # End users should not always know where documents are stored internally.
   # An alias path can be specified in config/indexed_directories.yml
-  # 
+  #
   # For example, with:
   #   &quot;/media/wiki_dump/&quot; : &quot;http://www.mycompany.com/wiki/&quot;
-  # 
+  #
   # The documents
   #   &quot;/media/wiki_dump/organigram.odp&quot;
   # will be displayed as being:
@@ -39,7 +39,7 @@ class Document
     alias_dir=Picolena::IndexedDirectories[original_dir]
     dirname.sub(original_dir,alias_dir)
   end
-  
+
   # Returns an id for this document.
   # This id will be used in Controllers in order to get tiny urls.
   # Since it's a base26 hash of the absolute filename, it can only be &quot;probably unique&quot;.
@@ -47,41 +47,41 @@ class Document
   def probably_unique_id
     @probably_unique_id||=complete_path.base26_hash
   end
-  
+
   # Returns true iff some PlainTextExtractor has been defined to convert it to plain text.
   #  Document.new(&quot;presentation.pdf&quot;).supported? =&gt; true
   #  Document.new(&quot;presentation.some_weird_extension&quot;).supported? =&gt; false
   def supported?
     PlainTextExtractor.supported_extensions.include?(self.ext_as_sym)
   end
-  
+
   # Retrieves content as it is *now*.
   def content
     PlainTextExtractor.extract_content_from(complete_path)
   end
-  
+
   # Cache &#224; la Google.
   # Returns content as it was at the time it was indexed.
   def cached
     from_index[:content]
   end
-  
+
   # FIXME: Not just date anymore.
   # Returns the last modification date before the document got indexed.
   # Useful to know how old a document is, and to which version the cache corresponds.
   def date
     from_index[:modified].sub(/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/,'\1-\2-\3 \4:\5:\6')
   end
-  
+
   def mtime
     from_index[:modified].to_i
   end
-  
+
   # Returns language.
   def language
     from_index[:language]
   end
-  
+
   # Fields that are shared between every document.
   def self.default_fields_for(complete_path)
     {
@@ -91,35 +91,35 @@ class Document
       :basename           =&gt; File.basename(complete_path, File.extname(complete_path)).gsub(/_/,' '),
       :filetype           =&gt; File.extname(complete_path),
       :modified           =&gt; File.mtime(complete_path).strftime(&quot;%Y%m%d%H%M%S&quot;)
-    }             
+    }
   end
-  
+
   private
-  
+
   # Retrieves the document from the index.
   # Useful to get meta-info about it.
   def from_index
     Indexer.index[probably_unique_id]
   end
-  
+
   def self.find_by_unique_id(probably_unique_id)
     new(Indexer.index[probably_unique_id][:complete_path])
   end
- 
+
   def in_indexed_directory?
     !indexed_directory.nil?
   end
-  
+
   def indexed_directory
     Picolena::IndexedDirectories.keys.find{|indexed_dir|
       dirname.starts_with?(indexed_dir)
-    }    
+    }
   end
-  
+
   def validate_existence_of_file
     raise Errno::ENOENT, @complete_path unless file?
   end
-  
+
   def validate_in_indexed_directory
     raise ArgumentError, &quot;required document is not in indexed directory&quot; unless in_indexed_directory?
   end</diff>
      <filename>lib/picolena/templates/app/models/document.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,10 @@
-class Finder  
+class Finder
   attr_reader :query
-  
+
   def index
     @@index ||= Indexer.index
   end
-  
+
   def initialize(raw_query,page=1,results_per_page=Picolena::ResultsPerPage)
     @query = Query.extract_from(raw_query)
     @raw_query= raw_query
@@ -13,7 +13,7 @@ class Finder
     @offset=(page.to_i-1)*results_per_page
     index_should_have_documents
   end
-  
+
   def execute!
     @matching_documents=[]
     start=Time.now
@@ -36,12 +36,12 @@ class Finder
       @time_needed=Time.now-start
       @total_hits=top_docs.total_hits
   end
-  
+
   # Returns true if it has been executed.
   def executed?
     @executed
   end
-  
+
   # To ensure that
   #  matching_documents
   #  total_hits
@@ -53,7 +53,7 @@ class Finder
       instance_variable_get(&quot;@#{attribute_name}&quot;)
     }
   }
-   
+
    # Returns matching document for any given query only if
    # exactly one document is found.
    # Raises otherwise.
@@ -71,9 +71,9 @@ class Finder
   def self.reload!
     @@index = nil
   end
-  
+
   private
-  
+
   def index_should_have_documents
     raise IndexError, &quot;no document found&quot; unless index.size &gt; 0
   end</diff>
      <filename>lib/picolena/templates/app/models/finder.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ class Indexer
   @@exclude          = /(Thumbs\.db)/
   # Number of threads that will be used during indexing process
   @@max_threads_number = 8
-  
+
   class &lt;&lt; self
     def index_every_directory(remove_first=false)
       clear! if remove_first
@@ -18,29 +18,29 @@ class Indexer
       index.optimize
       log :debug =&gt; &quot;Indexing done in #{Time.now-start} s.&quot;
     end
-    
+
     def index_directory_with_multithreads(dir)
       log :debug =&gt; &quot;Indexing #{dir}, #{@@max_threads_number} threads&quot;
-      
+
       indexing_list=Dir[File.join(dir,&quot;**/*&quot;)].select{|filename|
         File.file?(filename) &amp;&amp; filename !~ @@exclude
       }
-      
+
       indexing_list_chunks=indexing_list.in_transposed_slices(@@max_threads_number)
-      
+
       # It initializes the Index before launching multithreaded
       # indexing. Otherwise, two threads could try to instantiate
       # an IndexWriter at the same time, and get a
       #  Ferret::Store::Lock::LockError
       index
-      
+
       indexing_list_chunks.each_with_thread{|chunk|
         chunk.each{|filename|
           add_file(filename)
         }
       }
     end
-    
+
     def add_file(complete_path)
       default_fields = Document.default_fields_for(complete_path)
       begin
@@ -54,14 +54,14 @@ class Indexer
       end
       index &lt;&lt; document
     end
-    
+
     # Ensures index is closed, and removes every index file for RAILS_ENV.
     def clear!(all=false)
       close
       to_remove=all ? Picolena::IndexesSavePath : Picolena::IndexSavePath
       Dir.glob(File.join(to_remove,'**/*')).each{|f| FileUtils.rm(f) if File.file?(f)}
     end
-    
+
     # Closes the index and
     # ensures that a new Index is instantiated next time index is called.
     def close
@@ -69,28 +69,28 @@ class Indexer
       # Ferret will SEGFAULT otherwise.
       @@index = nil
     end
-    
+
     # Only one IndexWriter should be instantiated.
     # If one index already exists, returns it.
     # Creates it otherwise.
     def index
-      @@index ||= Ferret::Index::Index.new(default_index_params)  
+      @@index ||= Ferret::Index::Index.new(default_index_params)
     end
-    
+
     def ensure_index_existence
       index_every_directory(:remove_first) unless index_exists? or RAILS_ENV==&quot;production&quot;
     end
-    
+
     def doc_count
       index.writer.doc_count
     end
-    
+
     private
-    
+
     def index_exists?
       index_filename and File.exists?(index_filename)
     end
-    
+
     def index_filename
       Dir.glob(File.join(Picolena::IndexSavePath,'*.cfs')).first
     end
@@ -100,7 +100,7 @@ class Indexer
         IndexerLogger.send(level,message)
       }
     end
-    
+
     def default_index_params
       {
         :path        =&gt; Picolena::IndexSavePath,
@@ -110,7 +110,7 @@ class Indexer
         :key         =&gt; :probably_unique_id
         }
     end
-    
+
     def default_field_infos
       returning Ferret::Index::FieldInfos.new do |field_infos|
         field_infos.add_field(:complete_path,      :store =&gt; :yes, :index =&gt; :untokenized)</diff>
      <filename>lib/picolena/templates/app/models/indexer.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,52 +2,52 @@ require 'plain_text_extractor_DSL'
 
 class PlainTextExtractor
   include PlainTextExtractorDSL
-  class&lt;&lt;self 
+  class&lt;&lt;self
     # Returns every defined extractor
     def all
       Picolena::Extractors
     end
-    
+
     # Add an extractor to the extractors list
     def add(extractor)
       all&lt;&lt;extractor
     end
-    
+
     # Returns every required dependency for every defined extractor
     def dependencies
       @@dependencies||=all.collect{|extractor| extractor.dependencies}.flatten.compact.uniq.sort
     end
-    
+
     # Returns every supported file extensions
     def supported_extensions
       @@supported_exts||=all.collect{|extractor| extractor.exts}.flatten.compact.uniq
     end
-    
+
     # Finds which extractor should be used for a given file.
-    # Raises if the file is unsupported. 
+    # Raises if the file is unsupported.
     def find_by_filename(filename)
       ext=File.ext_as_sym(filename)
       returning find_by_extension(ext) do |found_extractor|
         found_extractor.source=filename
       end
     end
-    
+
     # Finds which extractor should be used for a given file, according to its extension
     # Raises if the file is unsupported.
     def find_by_extension(ext)
       all.find{|extractor| extractor.exts.include?(ext)} || raise(ArgumentError, &quot;no convertor for .#{ext}&quot;)
     end
-    
+
     # Launches extractor on given file and outputs plain text result
     def extract_content_from(source)
       find_by_filename(source).extract_content
     end
-    
+
     # Launches extractor on given file and outputs plain text result and language (if found)
     def extract_content_and_language_from(source)
       find_by_filename(source).extract_content_and_language
     end
-    
+
     # Returns which language guesser should be used by the system.
     # Returns nil if none is found.
     def language_guesser
@@ -56,7 +56,7 @@ class PlainTextExtractor
   end
 
   attr_accessor :source
-  
+
   # Parses command in order to know which programs are needed.
   # rspec will then check that every dependecy is installed on the system
   def dependencies
@@ -66,21 +66,21 @@ class PlainTextExtractor
       @dependencies
     end
   end
-  
+
   ## Conversion part
-  
+
   # destination method can be used by some conversion command that cannot output to stdout (example?)
   # a file containing plain text result will first be written by command, and then be read by extract_content.
   def destination
     require 'tmpdir'
     @@temp_file_as_destination ||= File.join(Dir::tmpdir,&quot;ferret_#{Time.now.to_i}&quot;)
   end
-  
+
   # Replaces generic command with specific source and destination (if specified) files
   def specific_command
     command.sub('SOURCE','&quot;'&lt;&lt;source&lt;&lt;'&quot;').sub('DESTINATION','&quot;'&lt;&lt;destination&lt;&lt;'&quot;')
   end
-  
+
   # Returns plain text content of source file
   def extract_content
     if command.is_a?(String) then
@@ -102,7 +102,7 @@ class PlainTextExtractor
       command.call(source)
     end
   end
-  
+
   # Returns plain text content and language of source file,
   # using mguesser to guess used language.
   # This method only returns probable language if the content is bigger than 500 chars</diff>
      <filename>lib/picolena/templates/app/models/plain_text_extractor.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,10 +4,10 @@ class Query
     def extract_from(raw_query)
       parser.parse(convert_to_english(raw_query))
     end
-    
+
     private
-    
-    # Converts query keywords to english so they can be parsed by Ferret.    
+
+    # Converts query keywords to english so they can be parsed by Ferret.
     def convert_to_english(raw_query)
       to_en={
        /\b#{:AND.l}\b/=&gt;'AND',
@@ -22,9 +22,9 @@ class Query
       }
       to_en.inject(raw_query){|mem,non_english_to_english_keyword|
         mem.gsub(*non_english_to_english_keyword)
-      }      
+      }
     end
-    
+
     # Instantiates a QueryParser once, and keeps it in cache.
     def parser
       @@parser ||= Ferret::QueryParser.new(:fields =&gt; [:content, :filename, :basename, :filetype, :modified], :or_default =&gt; false, :analyzer=&gt;Picolena::Analyzer)</diff>
      <filename>lib/picolena/templates/app/models/query.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@ IndexerLogger=Logger.new($stdout)
 # Bootstrap the Rails environment, frameworks, and default configuration
 require File.join(File.dirname(__FILE__), 'boot')
 
-Rails::Initializer.run do |config|  
+Rails::Initializer.run do |config|
   # We don't need no stinkin' AR!
   # Ferret backs us up.
   config.frameworks -= [ :active_record ]</diff>
      <filename>lib/picolena/templates/config/environment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 locale_name: Espa&#241;ol
-page_title: Buscador Picolena 
+page_title: Buscador Picolena
 help: Ayuda
 help_file: /help/PicolenaHowTo-es.pdf
 type_your_query_here: teclee por favor su b&#250;squeda</diff>
      <filename>lib/picolena/templates/lang/ui/es.yml</filename>
    </modified>
    <modified>
      <diff>@@ -3,13 +3,13 @@ class MimeType
   def self.all
     @@all
   end
-  
+
   def self.add(exts,mime_name)
     all&lt;&lt;new(exts,mime_name)
   end
-  
+
   attr_reader :exts, :name
-  
+
   def initialize(exts,mime_name)
     @exts,@name=exts,mime_name
   end
@@ -61,17 +61,17 @@ class File
   def self.ext_as_sym(filename)
     File.extname(filename).sub(/^\./,'').downcase.to_sym rescue :no_extension
   end
-  
+
   def self.mime(filename)
     ext=ext_as_sym(filename)
     m=MimeType.all.find{|m| m.exts.include?(ext)}
     m ? m.name : 'application/octet-stream'
   end
-  
+
   def self.encoding(source)
     parse_for_charset=&quot;grep -io charset=[a-z0-9\\-]* | sed 's/charset=//i'&quot;
     if File.extname(source)[0,4]==&quot;.htm&quot; then
-      enc=%x{head -n20 \&quot;#{source}\&quot; | #{parse_for_charset}}.chomp      
+      enc=%x{head -n20 \&quot;#{source}\&quot; | #{parse_for_charset}}.chomp
     else
       enc=%x{file -i \&quot;#{source}\&quot;  | #{parse_for_charset}}.chomp
     end
@@ -85,7 +85,7 @@ class File
        enc
      end
   end
-  
+
   def self.read_and_remove(filename)
     content=read(filename)
     FileUtils.rm filename, :force=&gt;true</diff>
      <filename>lib/picolena/templates/lib/core_exts.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,45 +11,45 @@
 
 module PlainTextExtractorDSL
   attr_reader :exts, :mime_name, :description, :command, :content_and_file_examples
-  
+
   def initialize(&amp;block)
     @content_and_file_examples=[]
     self.instance_eval(&amp;block)
     PlainTextExtractor.add(self)
     MimeType.add(self.exts,self.mime_name)
   end
-  
+
   def every(*exts)
     @exts=exts
   end
-  
+
   def as(mime_name)
     @mime_name=mime_name
   end
-  
+
   def aka(description)
     @description=description
   end
-  
+
   def which_requires(*dependencies)
     @dependencies=dependencies
   end
-  
+
   #used by rspec to test extractors:
   #  which_should_for_example_extract 'in a pdf file', :from =&gt; 'basic.pdf'
   #  or_extract 'some other stuff inside another pdf file', :from =&gt; 'yet_another.pdf'
   #
   #this spec will pass if 'basic.pdf' and 'yet_another.pdf' are included in an indexed directory, if every dependency is installed,
-  #and if plain text output from the extractor applied to 'basic.pdf' and 'yet_another.pdf' respectively include 'in a pdf file' and 'some other stuff inside another pdf file' 
+  #and if plain text output from the extractor applied to 'basic.pdf' and 'yet_another.pdf' respectively include 'in a pdf file' and 'some other stuff inside another pdf file'
   def which_should_for_example_extract(content, file)
     @content_and_file_examples &lt;&lt; [content,file[:from]]
   end
-  
+
   #it allows to define specs in this way:
   #  which_should_for_example_extract 'Hello world!', :from =&gt; 'hello.rb'
   #  or_extract 'text inside!', :from =&gt; 'crossed.txt'
   alias_method :or_extract, :which_should_for_example_extract
-  
+
   def with(command_as_hash_or_string=nil,&amp;block)
     #TODO: Find a better way to manage platforms, and include OS X, Vista, BSD...
     platform=case RUBY_PLATFORM
@@ -71,7 +71,7 @@ module PlainTextExtractorDSL
       # On linux and mac_os platforms, it returns &quot;pdftotext -enc UTF-8 SOURCE -&quot;,
       # on windows, it returns &quot;some other command&quot;
       #
-      # If commands for linux &amp; mac os were different : 
+      # If commands for linux &amp; mac os were different :
       #     with &quot;some command&quot;        =&gt; :on_linux,
       #          &quot;another command&quot;     =&gt; :on_mac_os,
       #          &quot;yet another command&quot; =&gt; :on_windows</diff>
      <filename>lib/picolena/templates/lib/plain_text_extractor_DSL.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,7 +21,7 @@ PlainTextExtractor.new {
       text_cells=zipfile.read(&quot;xl/sharedStrings.xml&quot;).split(/&lt;/).grep(/^t/).collect{|l|
         l.sub(/^[^&gt;]+&gt;/,'')
       }
-      
+
       sheet_names=zipfile.read(&quot;xl/workbook.xml&quot;).split(/&lt;/).grep(/^sheet /).collect{|l|
         l.scan(/name=&quot;([^&quot;]*)&quot;/)
       }</diff>
      <filename>lib/picolena/templates/lib/plain_text_extractors/ms.excel.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,7 @@ PlainTextExtractor.new {
   }
   # for dependencies spec
   which_requires 'iconv'
-  
+
   # to check if the extractor is working with basic plain text files
   which_should_for_example_extract 'Hello world!', :from =&gt; 'hello.rb'
   or_extract 'text inside!', :from =&gt; 'crossed.txt'
@@ -25,7 +25,7 @@ PlainTextExtractor.new {
   or_extract 'This program calculates greatest common divisors', :from=&gt;'gcd.c'
   or_extract 'p 3 square.dat', :from =&gt; 'square.ins'
   or_extract 'Do loop (global)', :from =&gt; 'xor.vee'
-  
+
   # to check if other charsets are supported
   or_extract 'p&#252;&#246;&#252;&#246;k&#228;&#246;&#223;&#223; AND &#223;kl&#252;&#246;&#252;', :from =&gt; 'utf-8.txt'
   or_extract 'Themenliste f&#252;r Adsorptionsk&#228;lte', :from =&gt; 'iso-8859-1.txt'</diff>
      <filename>lib/picolena/templates/lib/plain_text_extractors/plain_text.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,10 @@
 desc 'Ferret index maintenance tasks'
-namespace :index do  
+namespace :index do
   desc 'Clear indexes'
   task :clear =&gt; :environment do
     Indexer.clear! :all
   end
-  
+
   desc 'Create index'
   task :create =&gt; :environment do
     Indexer.index_every_directory(remove_first=true)
@@ -14,7 +14,12 @@ namespace :index do
   task :update =&gt; :environment do
     Indexer.index_every_directory
   end
-  
+
+  desc 'Returns the number of indexed documents'
+  task :size =&gt; :environment do
+    puts &quot;#{Indexer.doc_count} documents are currently indexed in #{Picolena::IndexSavePath}&quot;
+  end
+
   # Search index with query &quot;some query&quot; :
   # rake index:search query=&quot;some query&quot;
   desc 'Search index'</diff>
      <filename>lib/picolena/templates/lib/tasks/index.rake</filename>
    </modified>
    <modified>
      <diff>@@ -14,14 +14,14 @@ namespace :install_dependencies do
   # odt2txt package not available on previous versions
   desc 'Install required packages on Ubuntu'
   task :on_ubuntu =&gt; :on_debian
-  
+
   desc 'Install required gems and programs on Windows'
   task :on_windows_xp do
     #NOTE: Long way to go before it runs on XP.
     $stderr.puts &quot;Implement me!&quot;
   end
 
-  desc 'Install required gems and packages on Mac Os'  
+  desc 'Install required gems and packages on Mac Os'
   task :on_mac_os do
     $stderr.puts &quot;Implement me!&quot;
   end</diff>
      <filename>lib/picolena/templates/lib/tasks/install_dependencies.rake</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 desc 'Ferret index maintenance tasks'
 
-namespace :log do  
+namespace :log do
   desc 'Parse log files for queries'
   task :queries do
     show_action_regexp=/Processing DocumentsController#show \(for ([\d\.]+) at ([\d\- :]+)\) \[GET\]/</diff>
      <filename>lib/picolena/templates/lib/tasks/log.rake</filename>
    </modified>
    <modified>
      <diff>@@ -5,14 +5,14 @@ Options +FollowSymLinks +ExecCGI
 
 # If you don't want Rails to look in certain directories,
 # use the following rewrite rules so that Apache won't rewrite certain requests
-# 
+#
 # Example:
 #   RewriteCond %{REQUEST_URI} ^/notrails.*
 #   RewriteRule .* - [L]
 
 # Redirect all requests not available on the filesystem to Rails
 # By default the cgi dispatcher is used which is very slow
-# 
+#
 # For better performance replace the dispatcher with the fastcgi one
 #
 # Example:
@@ -33,7 +33,7 @@ RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
 
 # In case Rails experiences terminal errors
 # Instead of displaying this message you can supply a file here which will be rendered instead
-# 
+#
 # Example:
 #   ErrorDocument 500 /500.html
 </diff>
      <filename>lib/picolena/templates/public/.htaccess</filename>
    </modified>
    <modified>
      <diff>@@ -96,14 +96,14 @@ h1, h2, h3, h4, h5, h6, p, form {
    border-left-color:#696;
    border-right-color:#363;
    border-bottom-color:#363;}
-   
+
 #mainimg input.btn:hover{
    color:#EE8907;}
 
 #mainimg input.text_field{
     border: 2px solid #88b000;
     background: #fff;
-	margin-right: 5px; 
+	margin-right: 5px;
 }
 
 #contentarea hr {</diff>
      <filename>lib/picolena/templates/public/stylesheets/style.css</filename>
    </modified>
    <modified>
      <diff>@@ -23,7 +23,7 @@ module Spec
               active_connections.delete(name)
             end
           end
-        end        
+        end
 
         if ActionController.const_defined?(:Dispatcher)
           dispatcher = ::ActionController::Dispatcher.new($stdout)</diff>
      <filename>lib/picolena/templates/script/spec_server</filename>
    </modified>
    <modified>
      <diff>@@ -5,12 +5,12 @@ describe ApplicationController do
     get 'access_denied'
     response.headers[&quot;Status&quot;].should == &quot;403 Forbidden&quot;
   end
-  
+
   it &quot;should render 'Access denied' text when denying access&quot; do
     get 'access_denied'
     response.body.should == 'Access denied'
   end
-  
+
   it &quot;should flash a warning if given a wrong request&quot; do
     get 'unknown_request'
     response.should be_redirect</diff>
      <filename>lib/picolena/templates/spec/controllers/application_controller_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,11 +2,11 @@ require File.dirname(__FILE__) + '/../spec_helper'
 
 describe &quot;DocumentsController called from unknown IP&quot; do
   controller_name &quot;documents&quot;
-  
+
   before(:all) do
     @backup=Picolena::WhiteListIPs
   end
-  
+
   it &quot;should deny access&quot; do
     # Displays a warning otherwise
     Picolena.send(:remove_const, :WhiteListIPs) &amp;&amp; Picolena::WhiteListIPs=/Something that won't match/
@@ -23,75 +23,75 @@ describe &quot;DocumentsController called from unknown IP&quot; do
   end
 end
 
-describe DocumentsController do  
+describe DocumentsController do
   it &quot;GET 'index' should be succesful&quot; do
     get 'index'
     response.should be_success
   end
-  
+
   it &quot;POST 'check_query' should check query and redirect to show&quot; do
     post 'check_query', {:query =&gt; 'basic test'}
     response.should be_redirect
-    response.should redirect_to(document_url('basic test')) 
+    response.should redirect_to(document_url('basic test'))
   end
-  
+
   it &quot;POST 'check_query' should accept . and redirect to show&quot; do
     post 'check_query', {:query =&gt; 'basic.test'}
     response.should be_redirect
     response.should redirect_to(:action=&gt;'show', :id=&gt;'basic.test')
   end
-  
+
   it &quot;POST 'check_query' should accept ? and redirect to show&quot; do
     post 'check_query', {:query =&gt; '?ric'}
     response.should be_redirect
-    response.should redirect_to(:action=&gt;'show', :id=&gt;'?ric') 
+    response.should redirect_to(:action=&gt;'show', :id=&gt;'?ric')
   end
-  
+
   it &quot;POST 'check_query' should accept empty query but should redirect to index&quot; do
     post 'check_query', {:query =&gt; ''}
     response.should be_redirect
     response.should redirect_to(:action=&gt;'index')
   end
-  
+
   it &quot;GET 'show' should find corresponding docs&quot; do
     get 'show', :id=&gt;'forschung an fachhochschulen nachhaltige energietechnik'
     response.should be_success
     assigns[:matching_documents].any?{|doc| doc.filename==&quot;zafh.net.html&quot;}.should be_true
   end
-  
+
   it &quot;GET 'show' should accept * in queries&quot; do
     lambda{get 'show', :id=&gt;'*ric'}.should_not raise_error
     response.should be_success
     assigns[:matching_documents].entries.should_not be_empty
     assigns[:matching_documents].any?{|doc| doc.matching_content.join.starts_with?(&quot;&lt;&lt;&#201;ric&gt;&gt;&#160;M&#246;&#223;er\n\n\f&quot;)}.should be_true
   end
-  
+
   it &quot;GET 'show' should accept ? in queries&quot; do
     lambda{get 'show', :id=&gt;'?ric'}.should_not raise_error(ActionController::RoutingError)
     response.should be_success
     assigns[:matching_documents].entries.should_not be_empty
     assigns[:matching_documents].any?{|doc| doc.filename==&quot;basic.tex&quot;}.should be_true
   end
-    
+
   it &quot;GET 'show' should accept . in queries&quot; do
     lambda{get 'show', :id=&gt;'basic.pdf'}.should_not raise_error(ActionController::RoutingError)
     response.should be_success
     assigns[:matching_documents].entries.should_not be_empty
     assigns[:matching_documents].any?{|doc| doc.matching_content.join.starts_with?(&quot;just another content test in a pdf file&quot;)}.should be_true
   end
-  
+
   it &quot;GET 'show' should accept combined queries&quot; do
     get 'show', :id=&gt;'test filetype:pdf'
     response.should be_success
     assigns[:matching_documents].entries.should_not be_empty
   end
-  
+
   it &quot;GET 'show' should accept empty query but should redirect to index&quot; do
     lambda{get 'show', :id=&gt;''}.should_not raise_error
     response.should be_success
     assigns[:matching_documents].entries.should be_empty
   end
-  
+
   it &quot;GET 'download' should be successful with correct ID&quot; do
     get 'show', :id=&gt;'basic.pdf'
     response.should be_success
@@ -101,7 +101,7 @@ describe DocumentsController do
     assigns[:document].complete_path == d.complete_path
     response.should be_success
   end
-  
+
   it &quot;GET 'download' should redirect if wrong id&quot; do
     probably_unique_id=&quot;Not a document&quot;.base26_hash
     get 'download', :id=&gt;probably_unique_id</diff>
      <filename>lib/picolena/templates/spec/controllers/documents_controller_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,11 @@
 require File.dirname(__FILE__) + '/../spec_helper'
 
 describe ApplicationHelper do
-  
+
   #Delete this example and add some real ones or delete this file
   it &quot;should include the ApplicationHelper&quot; do
     included_modules = self.metaclass.send :included_modules
     included_modules.should include(ApplicationHelper)
   end
-  
+
 end</diff>
      <filename>lib/picolena/templates/spec/helpers/application_helper_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,10 @@
 require File.dirname(__FILE__) + '/../spec_helper'
 
-describe DocumentsHelper do  
+describe DocumentsHelper do
   it &quot;shouldn't raise if matching not in content field&quot;
 
   PlainTextExtractor.supported_extensions.each{|ext|
-    it &quot;should have an icon for .#{ext} filetype&quot; do 
+    it &quot;should have an icon for .#{ext} filetype&quot; do
       icon_for(ext.to_s).should_not be_nil
     end
   }</diff>
      <filename>lib/picolena/templates/spec/helpers/documents_helper_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,24 +8,24 @@ describe &quot;Finder without index on disk&quot; do
     @new_index_path=File.join(Dir::tmpdir,'ferret_tst')
     Picolena::IndexSavePath.replace(@new_index_path)
   end
-  
+
   before(:each) do
     Indexer.clear!
   end
-  
+
   it &quot;should create index&quot; do
     Picolena::IndexedDirectories.replace({'spec/test_dirs/indexed/just_one_doc'=&gt;'//justonedoc/'})
     lambda {@finder_with_new_index=Finder.new(&quot;test moi&quot;)}.should change(Indexer, :index_exists?).from(false).to(true)
     File.exists?(File.join(@new_index_path,'_0.cfs')).should be_true
     Indexer.index.size.should &gt;0
   end
-  
+
   it &quot;should raise if index is still empty after trying to create it&quot; do
     Picolena::IndexedDirectories.replace({'spec/test_dirs/empty_folder'=&gt;'//empty_folder/'})
     lambda {Finder.new(&quot;doesn't matter anyway&quot;)}.should raise_error(IndexError, &quot;no document found&quot;)
     File.exists?(File.join(@new_index_path,'_0.cfs')).should be_false
   end
-  
+
   after(:all) do
     Picolena::IndexedDirectories.replace(@original_indexed_dirs)
     Picolena::IndexSavePath.replace(@original_index_path)
@@ -45,11 +45,11 @@ fields={
   :language           =&gt; :language
 }
 
-describe &quot;Basic Finder&quot; do  
+describe &quot;Basic Finder&quot; do
   before(:all) do
     Indexer.index_every_directory(remove_first=true)
   end
-  
+
   it &quot;should accept one parameter as query, and 2 optionals for paginating&quot; do
     lambda {Finder.new}.should raise_error(ArgumentError, &quot;wrong number of arguments (0 for 1)&quot;)
     # show first page with 10 results per page
@@ -65,37 +65,37 @@ describe &quot;Basic Finder&quot; do
   it &quot;should return matching documents if executed successfully&quot; do
     finder_with_valid_query=Finder.new(&quot;district heating&quot;)
     finder_with_valid_query.should respond_to(:matching_documents)
-    
+
     matching_documents=finder_with_valid_query.matching_documents
     matching_documents.should_not be_empty
-    
+
     matching_documents_filenames=matching_documents.collect{|d| d.filename}
     matching_documents_filenames.should include(&quot;Simulation of district heating systems for evaluation of real-time control strategies.pdf&quot;)
     matching_documents_filenames.should include(&quot;Types of malfunction in DH substations.doc&quot;)
   end
-  
+
   it &quot;should know if it has been executed&quot; do
     @finder=Finder.new(&quot;some query&quot;)
     lambda {@finder.execute!}.should change(@finder, :executed?).from(false).to(true)
   end
-    
+
   it &quot;should not warn anything if index is up to date&quot;
-  
+
   it &quot;should warn if index is not up to date&quot;
-  
+
   fields.each_pair do |description,field_name|
     it &quot;should index #{description} as :#{field_name}&quot; do
       Indexer.index.field_infos[field_name].should be_an_instance_of(Ferret::Index::FieldInfo)
     end
   end
-  
+
   it &quot;should know how much time was needed for execution&quot; do
     finder=Finder.new(&quot;yet another stupid query&quot;)
     finder.executed?.should be_nil
     finder.time_needed.should &gt; 0
     finder.executed?.should be_true
   end
-  
+
   it &quot;should not need more than 100ms to find documents&quot; do
     finder=Finder.new(&quot;district heating&quot;)
     finder.execute!</diff>
      <filename>lib/picolena/templates/spec/models/basic_finder_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,18 +13,18 @@ describe Document do
   before(:each) do
     @valid_random_doc=Document.find(:random) rescue Document.new(&quot;spec/test_dirs/indexed/basic/basic.pdf&quot;)
   end
-  
+
   it &quot;should be an existing file&quot; do
     lambda {Document.new(&quot;/patapouf.txt&quot;)}.should raise_error(Errno::ENOENT)
     lambda {@valid_random_doc}.should_not raise_error
     lambda {Document.new(&quot;spec/test_dirs/not_indexed/Rakefile&quot;)}.should_not raise_error(Errno::ENOENT)
   end
-  
+
   it &quot;should belong to an indexed directory&quot; do
     lambda {@valid_random_doc}.should_not raise_error
     lambda {Document.new(&quot;spec/test_dirs/not_indexed/Rakefile&quot;)}.should raise_error(ArgumentError, &quot;required document is not in indexed directory&quot;)
   end
-  
+
   basic_pdf_attribute.each{|attribute,expected_value|
     it &quot;should know its #{attribute}&quot; do
       @valid_random_doc.should respond_to(attribute)
@@ -32,31 +32,31 @@ describe Document do
       @basic_pdf.send(attribute).should == expected_value
     end
   }
-  
+
   it &quot;should know which user it belongs to, if specified&quot; do
     @valid_random_doc.should respond_to(:user)
     @valid_random_doc.user.should be_nil
     @valid_random_doc.user=&quot;eric&quot;
     @valid_random_doc.user.should == &quot;eric&quot;
   end
-  
+
   it &quot;should know its content&quot; do
     another_doc=Document.new(&quot;spec/test_dirs/indexed/basic/plain.txt&quot;)
     another_doc.content.should == &quot;just a content test\nin a txt file&quot;
   end
- 
+
   it &quot;should know its alias_path&quot; do
     @valid_random_doc.should respond_to(:alias_path)
     @valid_random_doc.alias_path.starts_with?(&quot;http://picolena.devjavu.com/browser/trunk/lib/picolena/templates/spec/test_dirs/indexed&quot;).should be_true
   end
-  
+
   it &quot;should let finder specify its score&quot; do
     @valid_random_doc.should respond_to(:score)
     @valid_random_doc.score.should be_nil
     @valid_random_doc.score=25
     @valid_random_doc.score.should == 25
   end
-  
+
   it &quot;should let finder specify its matching content&quot; do
     @valid_random_doc.should respond_to(:matching_content)
     @valid_random_doc.matching_content.should be_nil</diff>
      <filename>lib/picolena/templates/spec/models/document_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../spec_helper'
 def revert_changes!(file,content)
   File.open(file,'w'){|might_have_been_modified|
     might_have_been_modified.write content
-  }  
+  }
 end
 
 describe Finder do
@@ -13,7 +13,7 @@ describe Finder do
 
     # To be sure this file has the right content
     revert_changes!(&quot;spec/test_dirs/indexed/others/placeholder.txt&quot;,&quot;Absorption and Adsorption cooling machines!!!&quot;)
-    
+
     once_upon_a_time=Time.local(1982,2,16,20,42)
     a_bit_later=Time.local(1983,12,9,9)
     nineties=Time.local(1990)
@@ -23,41 +23,41 @@ describe Finder do
     File.utime(0, nineties, 'spec/test_dirs/indexed/others/placeholder.txt')
     Indexer.index_every_directory(remove_first=true)
   end
-  
+
   it &quot;should find documents according to their basename when specified with basename:query&quot; do
     matching_documents_filename=Finder.new(&quot;basename:crossed&quot;).matching_documents.collect{|d| d.filename}
     matching_documents_filename.should include(&quot;crossed.txt&quot;)
     matching_documents_filename.should include(&quot;crossed.text&quot;)
   end
-  
+
   it &quot;should find documents according to their filename when specified with file:query or filename:query&quot; do
     Finder.new(&quot;filename:crossed.text&quot;).matching_documents.collect{|d| d.content}.should include(&quot;txt inside!&quot;)
     Finder.new(&quot;file:crossed.txt&quot;).matching_documents.collect{|d| d.content}.should include(&quot;text inside!&quot;)
   end
-  
+
   it &quot;should find documents according to their extension when specified with filetype:query&quot; do
     Finder.new(&quot;filetype:odt&quot;).matching_documents.should_not be_empty
     Finder.new(&quot;filetype:pdf&quot;).matching_documents.should_not be_empty
   end
-  
+
   it &quot;should find documents according to their filename/basename/filetype even when unspecified&quot; do
     Finder.new(&quot;crossed.text&quot;).matching_documents.should_not be_empty
     Finder.new(&quot;html&quot;).matching_documents.collect{|d| d.filename}.should include(&quot;zafh.net.html&quot;)
     Finder.new(&quot;crossed&quot;).total_hits.should &gt;= 2
   end
-  
+
   it &quot;should give a boost to basename, filename and filetype in index&quot; do
     index=Indexer.index
     index.field_infos[:basename].boost.should &gt; 1.0
     index.field_infos[:filename].boost.should &gt; 1.0
     index.field_infos[:filetype].boost.should &gt; 1.0
   end
-  
+
   it &quot;should also index unreadable files with known mimetypes&quot; do
     Finder.new(&quot;unreadable.pdf&quot;).matching_documents.should_not be_empty
     Finder.new(&quot;too_small.doc&quot;).matching_documents.should_not be_empty
   end
-  
+
   it &quot;should also index files with unknown mimetypes&quot; do
     Finder.new(&quot;filetype:xyz&quot;).matching_document.basename.should == &quot;ghjopdfg&quot;
     Finder.new(&quot;filetype:abc&quot;).matching_document.filename.should == &quot;asfg.abc&quot;
@@ -65,30 +65,30 @@ describe Finder do
     #Support for xls has been added meanwhile. The test is still valid though.
     Finder.new(&quot;table.xls&quot;).matching_document.size.should == 8704
   end
-  
+
   it &quot;should also index files with upper/mixed case extension&quot; do
     Finder.new(&quot;filetype:pdf&quot;).matching_documents.entries.find{|doc| doc.filename==&quot;other_basic.PDF&quot;}.should_not be_nil
     Finder.new(&quot;filetype:doc&quot;).matching_documents.entries.find{|doc| doc.filename==&quot;other_too_small.dOc&quot;}.should_not be_nil
   end
-  
+
   it &quot;should also index content of files with upper/mixed case extension&quot; do
     Finder.new(&quot;'just another content test\nin a pdf file'&quot;).matching_documents.entries.find{|doc| doc.filename==&quot;other_basic.PDF&quot;}.should_not be_nil
   end
-  
+
   it &quot;should also accept utf8 queries&quot; do
     lambda{Finder.new(&quot;&#201;ric M&#246;&#223;er&quot;)}.should_not raise_error
   end
-  
+
   it &quot;should find documents according to their utf8 content&quot; do
     Finder.new(&quot;&#201;ric M&#246;&#223;er ext:pdf&quot;).matching_document.basename.should == &quot;utf8&quot;
     Finder.new(&quot;no me hace da&#241;o&quot;).matching_document.size.should == 30
     Finder.new(&quot;&#201;ric M&#246;&#223;er filetype:pdf&quot;).matching_document.filename.should == &quot;utf8.pdf&quot;
   end
-  
+
   it &quot;should find documents according to their utf8 filenames&quot; do
     Finder.new(&quot;b&#228;&#241;&#252;&#223;&#233;&quot;).matching_document.content.should == &quot;just to know if files are indexed with utf8 filenames&quot;
   end
-  
+
   it &quot;should find documents according to their modification date&quot; do
     Finder.new(&quot;date:&lt;1982&quot;).matching_documents.should be_empty
     Finder.new(&quot;19831209*&quot;).matching_document.basename.should == &quot;office2003-word-template&quot;
@@ -99,7 +99,7 @@ describe Finder do
   it &quot;should not concatenate cells from xls file&quot; do
     Finder.new(&quot;content:ABC&quot;).matching_documents.select{|doc| doc.extname==&quot;.xls&quot;}.should be_empty
   end
-  
+
   it &quot;should not raise if an indexed document has been moved/deleted, but just ignore it&quot; do
     @basic_dir='spec/test_dirs/indexed/basic/'
     @from=File.join(@basic_dir,'another_plain.text')
@@ -113,29 +113,29 @@ describe Finder do
       File.rename(@to,@from) if File.exists?(@to)
     end
   end
-  
+
   it &quot;should not index content of binary files&quot;
-  
+
   # Ferret sometimes SEGFAULT crashed with '*.pdf' queries
   it &quot;should not crash while looking for *.pdf&quot; do
     @finder=Finder.new(&quot;some query&quot;)
     lambda{@finder=Finder.new(&quot;*.pdf&quot;)}.should_not raise_error
     @finder.matching_documents.should_not be_empty
   end
-  
+
   it &quot;should use ? as placeholder&quot; do
     Finder.new(&quot;A?sorption machines&quot;).matching_document.matching_content.should include(&quot;&lt;&lt;Absorption&gt;&gt; and &lt;&lt;Adsorption&gt;&gt; cooling &lt;&lt;machines&gt;&gt;!!!&quot;)
   end
-  
+
   it &quot;should use * as placeholder&quot; do
     results=Finder.new(&quot;A*ption machines&quot;).matching_document.matching_content.should include(&quot;&lt;&lt;Absorption&gt;&gt; and &lt;&lt;Adsorption&gt;&gt; cooling &lt;&lt;machines&gt;&gt;!!!&quot;)
   end
-  
+
   it &quot;should not index those stupid Thumbs.db files&quot; do
     Finder.new(&quot;Thumbs.db&quot;).matching_documents.should be_empty
     Finder.new(&quot;filetype:db&quot;).matching_documents.should_not be_empty
   end
-  
+
   it &quot;should keep content cached&quot; do
     filename = &quot;spec/test_dirs/indexed/others/placeholder.txt&quot;
     content_before = &quot;Absorption and Adsorption cooling machines!!!&quot;
@@ -147,7 +147,7 @@ describe Finder do
     some_doc.content.should_not == content_before
     some_doc.cached.should == content_before
   end
-  
+
   after(:all) do
     revert_changes!(&quot;spec/test_dirs/indexed/others/placeholder.txt&quot;,&quot;Absorption and Adsorption cooling machines!!!&quot;)
   end</diff>
      <filename>lib/picolena/templates/spec/models/finder_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,19 +6,19 @@ describe &quot;Host indexing system&quot; do
        IO.popen(&quot;which #{dependency}&quot;){|i| i.read.should_not be_empty}
     end
   end
-  
+
   it &quot;should have a language guesser installed&quot; do
     PlainTextExtractor.language_guesser.should_not be_nil
   end
-  
+
   it &quot;should know which IP addresses are allowed (config/custom/white_list_ip.yml)&quot; do
     File.should be_readable('config/custom/white_list_ip.yml')
   end
-  
+
   it &quot;should know which directories are to be indexed (config/custom/indexed_directories.yml)&quot; do
     File.should be_readable('config/custom/indexed_directories.yml')
   end
-  
+
   it &quot;should be able to calculate base26 hash from strings&quot; do
     &quot;test_dirs/indexed/010/decrepito.pdf&quot;.base26_hash(5).should == &quot;rails&quot;
     &quot;test_dirs/indexed/migrations/000_restreins.rb&quot;.base26_hash(5).should == &quot;ricou&quot;
@@ -26,7 +26,7 @@ describe &quot;Host indexing system&quot; do
     &quot;test_dirs/indexed/1148/plots.odt&quot;.base26_hash(8).should == &quot;picolehn&quot;
     &quot;whatever.pdf&quot;.base26_hash(10).should == &quot;bbuxhynait&quot;
   end
-  
+
   it &quot;should not use too small a hash for Document#probably_unique_id&quot; do
     Picolena::HashLength.should_not &lt; 10
   end</diff>
      <filename>lib/picolena/templates/spec/models/host_indexing_system_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,11 +4,11 @@ describe &quot;IndexedDirectories&quot; do
   it &quot;should be defined&quot; do
     lambda {Picolena::IndexedDirectories}.should_not raise_error(NameError)
   end
-  
+
   it &quot;should not be empty&quot; do
     Picolena::IndexedDirectories.should_not be_empty
   end
-  
+
   it &quot;should only contain existing directories&quot; do
     Picolena::IndexedDirectories.keys.all?{|dir|
       File.should be_directory(dir)</diff>
      <filename>lib/picolena/templates/spec/models/index_directories_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,8 +3,8 @@ require File.dirname(__FILE__) + '/../spec_helper'
 describe &quot;PlainTextExtractors&quot; do
   before(:all) do
     Indexer.ensure_index_existence
-  end  
-  
+  end
+
   PlainTextExtractor.all.each{|extractor|
     extractor.exts.each{|ext|
       should_extract= &quot;should be able to extract content from #{extractor.description} (.#{ext})&quot;
@@ -27,14 +27,14 @@ describe &quot;PlainTextExtractors&quot; do
       end
     }
   }
-  
+
   it &quot;should guess language when enough content is available&quot; do
     Document.new(&quot;spec/test_dirs/indexed/lang/goethe&quot;).language.should == &quot;de&quot;
     Document.new(&quot;spec/test_dirs/indexed/lang/shakespeare&quot;).language.should == &quot;en&quot;
     Document.new(&quot;spec/test_dirs/indexed/lang/lorca&quot;).language.should == &quot;es&quot;
     Document.new(&quot;spec/test_dirs/indexed/lang/hugo&quot;).language.should == &quot;fr&quot;
   end if Picolena::UseLanguageRecognition
-  
+
   it &quot;should not try to guess language when file is too small&quot; do
     Document.new(&quot;spec/test_dirs/indexed/basic/hello.rb&quot;).language.should be_nil
     Document.new(&quot;spec/test_dirs/indexed/README&quot;).language.should be_nil</diff>
      <filename>lib/picolena/templates/spec/models/plain_text_extractor_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,11 +11,11 @@ describe Query do
       :es=&gt;[&quot;COMO&quot;, &quot;NO&quot;, &quot;O&quot;, &quot;Y&quot;],
       :fr=&gt;[&quot;COMME&quot;,&quot;NON&quot;,&quot;OU&quot;,&quot;ET&quot;]
     }
-    
+
     english_query_with_like_and_not=Query.extract_from(&quot;LIKE something NOT something&quot;)
     english_query_with_or=Query.extract_from(&quot;test OR another&quot;)
     english_query_with_and=Query.extract_from(&quot;test AND another&quot;)
-    
+
     language_and_keywords.each_pair{|ln,keywords|
       Globalite.language = ln
       like_bool, not_bool, or_bool, and_bool = keywords
@@ -27,15 +27,15 @@ describe Query do
       Query.extract_from(raw_query_in_some_language_with_and).should == english_query_with_and
     }
   end
-  
+
   it &quot;should accept field terms in different languages&quot;
-  
+
   it &quot;should use AND as default boolean ops&quot; do
     query_without_and = Query.extract_from(&quot;one AND two&quot;)
     query_with_and    = Query.extract_from(&quot;one two&quot;)
     query_with_and.should == query_without_and
   end
-  
+
   it &quot;should convert foreign keywords to boolean operators only as whole-word&quot; do
     Globalite.language = :en
       english_query_with_french_words = Query.extract_from(&quot;CETTE AND MIETTE&quot;)
@@ -47,10 +47,10 @@ describe Query do
       Query.extract_from(&quot;CETTE ET MIETTE&quot;).should == english_query_with_french_words
       Query.extract_from(&quot;STRALSUND UND BRODERBUND&quot;).should_not == english_query_with_german_words
   end
-  
+
   it &quot;should not be case sensitive&quot; do
     Query.extract_from(&quot;test&quot;).should == Query.extract_from(&quot;TEst&quot;)
     Query.extract_from(&quot;test&quot;).should == Query.extract_from(&quot;tesT&quot;)
-    Query.extract_from(&quot;test&quot;).should_not == Query.extract_from(&quot;tesTe&quot;)    
+    Query.extract_from(&quot;test&quot;).should_not == Query.extract_from(&quot;tesTe&quot;)
   end
 end</diff>
      <filename>lib/picolena/templates/spec/models/query_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,2 @@
---exclude &quot;spec/*,gems/*&quot; 
+--exclude &quot;spec/*,gems/*&quot;
 --rails
\ No newline at end of file</diff>
      <filename>lib/picolena/templates/spec/rcov.opts</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 class myfirstjavaprog
-{  
+{
         public static void main(String args[])
         {
            System.out.println(&quot;Hello World!&quot;);</diff>
      <filename>lib/picolena/templates/spec/test_dirs/indexed/basic/myfirstjavaprog.java</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@
             LOGICAL POSSIBLE
             X=2
             Y=3
-            CALL NEW(BOARD) 
+            CALL NEW(BOARD)
             DO I=1,1
                 POSSIBLE=.FALSE.
                 X=4</diff>
      <filename>lib/picolena/templates/spec/test_dirs/indexed/basic/queens.for</filename>
    </modified>
    <modified>
      <diff>@@ -5,79 +5,79 @@ Depuis six mille ans la guerre
 
 
                        I
- 
-Depuis six mille ans la guerre 
-Pla&#238;t aux peuples querelleurs, 
-Et Dieu perd son temps &#224; faire 
-Les &#233;toiles et les fleurs. 
-
-Les conseils du ciel immense, 
-Du lys pur, du nid dor&#233;, 
-N'&#244;tent aucune d&#233;mence 
-Du coeur de l'homme effar&#233;. 
-
-Les carnages, les victoires, 
-Voil&#224; notre grand amour ; 
-Et les multitudes noires 
-Ont pour grelot le tambour. 
-
-La gloire, sous ses chim&#232;res 
-Et sous ses chars triomphants, 
-Met toutes les pauvres m&#232;res 
-Et tous les petits enfants. 
-
-Notre bonheur est farouche ; 
-C'est de dire : Allons ! mourons ! 
-Et c'est d'avoir &#224; la bouche 
-La salive des clairons. 
-
-L'acier luit, les bivouacs fument ; 
-P&#226;les, nous nous d&#233;cha&#238;nons ; 
-Les sombres &#226;mes s'allument 
-Aux lumi&#232;res des canons. 
-
-Et cela pour des altesses 
-Qui, vous &#224; peine enterr&#233;s, 
-Se feront des politesses 
-Pendant que vous pourrirez, 
-
-Et que, dans le champ funeste, 
-Les chacals et les oiseaux, 
-Hideux, iront voir s'il reste 
-De la chair apr&#232;s vos os ! 
-
-Aucun peuple ne tol&#232;re 
-Qu'un autre vive &#224; c&#244;t&#233; ; 
-Et l'on souffle la col&#232;re 
-Dans notre imb&#233;cillit&#233;. 
-
-C'est un Russe ! &#201;gorge, assomme. 
-Un Croate ! Feu roulant. 
-C'est juste. Pourquoi cet homme 
-Avait-il un habit blanc ? 
-
-Celui-ci, je le supprime 
-Et m'en vais, le coeur serein, 
-Puisqu'il a commis le crime 
-De na&#238;tre &#224; droite du Rhin. 
-
-Rosbach ! Waterloo ! Vengeance ! 
-L'homme, ivre d'un affreux bruit, 
-N'a plus d'autre intelligence 
-Que le massacre et la nuit. 
-
-On pourrait boire aux fontaines, 
-Prier dans l'ombre &#224; genoux, 
-Aimer, songer sous les ch&#234;nes ; 
-Tuer son fr&#232;re est plus doux. 
-
-On se hache, on se harponne, 
-On court par monts et par vaux ; 
-L'&#233;pouvante se cramponne 
-Du poing aux crins des chevaux. 
-
-Et l'aube est l&#224; sur la plaine ! 
-Oh ! j'admire, en v&#233;rit&#233;, 
-Qu'on puisse avoir de la haine 
+
+Depuis six mille ans la guerre
+Pla&#238;t aux peuples querelleurs,
+Et Dieu perd son temps &#224; faire
+Les &#233;toiles et les fleurs.
+
+Les conseils du ciel immense,
+Du lys pur, du nid dor&#233;,
+N'&#244;tent aucune d&#233;mence
+Du coeur de l'homme effar&#233;.
+
+Les carnages, les victoires,
+Voil&#224; notre grand amour ;
+Et les multitudes noires
+Ont pour grelot le tambour.
+
+La gloire, sous ses chim&#232;res
+Et sous ses chars triomphants,
+Met toutes les pauvres m&#232;res
+Et tous les petits enfants.
+
+Notre bonheur est farouche ;
+C'est de dire : Allons ! mourons !
+Et c'est d'avoir &#224; la bouche
+La salive des clairons.
+
+L'acier luit, les bivouacs fument ;
+P&#226;les, nous nous d&#233;cha&#238;nons ;
+Les sombres &#226;mes s'allument
+Aux lumi&#232;res des canons.
+
+Et cela pour des altesses
+Qui, vous &#224; peine enterr&#233;s,
+Se feront des politesses
+Pendant que vous pourrirez,
+
+Et que, dans le champ funeste,
+Les chacals et les oiseaux,
+Hideux, iront voir s'il reste
+De la chair apr&#232;s vos os !
+
+Aucun peuple ne tol&#232;re
+Qu'un autre vive &#224; c&#244;t&#233; ;
+Et l'on souffle la col&#232;re
+Dans notre imb&#233;cillit&#233;.
+
+C'est un Russe ! &#201;gorge, assomme.
+Un Croate ! Feu roulant.
+C'est juste. Pourquoi cet homme
+Avait-il un habit blanc ?
+
+Celui-ci, je le supprime
+Et m'en vais, le coeur serein,
+Puisqu'il a commis le crime
+De na&#238;tre &#224; droite du Rhin.
+
+Rosbach ! Waterloo ! Vengeance !
+L'homme, ivre d'un affreux bruit,
+N'a plus d'autre intelligence
+Que le massacre et la nuit.
+
+On pourrait boire aux fontaines,
+Prier dans l'ombre &#224; genoux,
+Aimer, songer sous les ch&#234;nes ;
+Tuer son fr&#232;re est plus doux.
+
+On se hache, on se harponne,
+On court par monts et par vaux ;
+L'&#233;pouvante se cramponne
+Du poing aux crins des chevaux.
+
+Et l'aube est l&#224; sur la plaine !
+Oh ! j'admire, en v&#233;rit&#233;,
+Qu'on puisse avoir de la haine
 Quand l'alouette a chant&#233;.
 </diff>
      <filename>lib/picolena/templates/spec/test_dirs/indexed/lang/hugo</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,26 @@
-Verde que te quiero verde. 
-Verde viento. Verdes ramas. 
-El barco sobre la mar 
-y el caballo en la monta&#241;a. 
-Con la sombra en la cintura 
-ella sue&#241;a en su baranda, 
-verde carne, pelo verde, 
-con ojos de fr&#237;a plata. 
-Verde que te quiero verde. 
+Verde que te quiero verde.
+Verde viento. Verdes ramas.
+El barco sobre la mar
+y el caballo en la monta&#241;a.
+Con la sombra en la cintura
+ella sue&#241;a en su baranda,
+verde carne, pelo verde,
+con ojos de fr&#237;a plata.
+Verde que te quiero verde.
 Bajo la luna gitana,
-las cosas la est&#225;n mirando 
+las cosas la est&#225;n mirando
 y ella no puede mirarlas.
-Verde que te quiero verde. 
-Grandes estrellas de escarcha 
-vienen con el pez de sombra 
-que abre el camino del alba. 
-La higuera frota su viento 
-con la lija de sus ramas, 
-y el monte, gato gardu&#241;o, 
+Verde que te quiero verde.
+Grandes estrellas de escarcha
+vienen con el pez de sombra
+que abre el camino del alba.
+La higuera frota su viento
+con la lija de sus ramas,
+y el monte, gato gardu&#241;o,
 eriza sus pitas agrias.
-&#191;Pero qui&#233;n vendra? &#191;Y por d&#243;nde...? 
-Ella sigue en su baranda, 
-Verde came, pelo verde, 
+&#191;Pero qui&#233;n vendra? &#191;Y por d&#243;nde...?
+Ella sigue en su baranda,
+Verde came, pelo verde,
 so&#241;ando en la mar amarga.
 --Compadre, quiero cambiar
 mi caballo por su casa,
@@ -28,59 +28,59 @@ mi montura por su espejo,
 mi cuchillo per su manta.
 Compadre, vengo sangrando,
 desde los puertos de Cabra.
---Si yo pudiera, mocito, 
-este trato se cerraba. 
-Pero yo ya no soy yo, 
+--Si yo pudiera, mocito,
+este trato se cerraba.
+Pero yo ya no soy yo,
 ni mi casa es ya mi casa.
---Compadre, quiero morir 
-decentemente en mi cama. 
-De acero, si puede ser, 
-con las s&#225;banas de holanda. 
-&#191;No ves la herida que tengo 
+--Compadre, quiero morir
+decentemente en mi cama.
+De acero, si puede ser,
+con las s&#225;banas de holanda.
+&#191;No ves la herida que tengo
 desde el pecho a la garganta?
 --Trescientas rosas morenas
-lleva tu pechera blanca. 
-Tu sangre rezuma y huele 
-alrededor de tu faja. 
+lleva tu pechera blanca.
+Tu sangre rezuma y huele
+alrededor de tu faja.
 Pero yo ya no soy yo,
 ni mi casa es ya mi casa.
---Dejadme subir al menos 
+--Dejadme subir al menos
 hasta las altas barandas;
-&#161;dejadme subir!, dejadme, 
-hasta las verdes barandas. 
-Barandales de la luna 
-por donde retumba el agua. 
-Ya suben los dos compadres 
-hacia las altas barandas. 
-Dejando un rastro de sangre. 
-Dejando un rastro de l&#225;grimas. 
+&#161;dejadme subir!, dejadme,
+hasta las verdes barandas.
+Barandales de la luna
+por donde retumba el agua.
+Ya suben los dos compadres
+hacia las altas barandas.
+Dejando un rastro de sangre.
+Dejando un rastro de l&#225;grimas.
 Temblaban en los tejados
-farolillos de hojalata. 
-Mil panderos de cristal 
+farolillos de hojalata.
+Mil panderos de cristal
 her&#237;an la madrugada.
 Verde que te quiero verde,
-verde viento, verdes ramas. 
+verde viento, verdes ramas.
 Los dos compadres subieron.
-El largo viento dejaba 
+El largo viento dejaba
 en la boca un raro gusto
 de hiel, de menta y de albahaca.
 &#161;Compadre! &#191;Donde est&#225;, d&#237;me?
-&#191;Donde est&#225; tu ni&#241;a amarga? 
+&#191;Donde est&#225; tu ni&#241;a amarga?
 &#161;Cu&#225;ntas veces te esper&#243;!
 &#161;Cu&#225;ntas veces te esperara,
-cara fresca, negro pelo, 
+cara fresca, negro pelo,
 en esta verde baranda!
 Sobre el rostro del aljibe
-se mec&#237;a la gitana. 
-Verde carne, pelo verde, 
+se mec&#237;a la gitana.
+Verde carne, pelo verde,
 con ojos de fr&#237;a plata.
-Un car&#225;mbano de luna 
+Un car&#225;mbano de luna
 la sostiene sobre el agua.
-La noche se puso &#237;ntima 
-como una peque&#241;a plaza. 
-Guardias civiles borrachos 
-en la puerta golpeaban. 
-Verde que te qinero verde. 
-Verde viento. Verdes ramas. 
-El barco sobre la mar. 
+La noche se puso &#237;ntima
+como una peque&#241;a plaza.
+Guardias civiles borrachos
+en la puerta golpeaban.
+Verde que te qinero verde.
+Verde viento. Verdes ramas.
+El barco sobre la mar.
 Y el caballo en la monta&#241;a.</diff>
      <filename>lib/picolena/templates/spec/test_dirs/indexed/lang/lorca</filename>
    </modified>
    <modified>
      <diff>@@ -18,7 +18,7 @@
       &lt;h1 class=&quot;firstHeading&quot;&gt;Pablo Picasso&lt;/h1&gt;
 	  &lt;div id=&quot;bodyContent&quot;&gt;
 	    &lt;div id=&quot;contentSub&quot;&gt;&lt;/div&gt;
-	    	    	    
+	    	    	
 &lt;p&gt;&lt;b&gt;Pablo Ruiz Picasso&lt;/b&gt; (October 25, 1881 &#8211; April 8, 1973) was a &lt;a href=&quot;../../art/f.html&quot; title=&quot;Spain&quot;&gt;Spanish&lt;/a&gt; painter and &lt;a href=&quot;../../art/t/n.html&quot; title=&quot;Sculpture&quot;&gt;sculptor&lt;/a&gt;. His full name is &lt;b&gt;Pablo Diego Jos&#233; Francisco de Paula Juan Nepomuceno Mar&#237;a de los Remedios Crisp&#237;n Crispiniano de la Sant&#237;sima Trinidad Ruiz y Picasso&lt;/b&gt;. One of the most recognized figures in 20th century &lt;a href=&quot;../../art/h/6.html&quot; title=&quot;Art&quot;&gt;art&lt;/a&gt;, he is best known as the co-founder, along with Georges Braque, of cubism. It has been estimated that Picasso produced about 13,500 paintings or designs, 100,000 prints or engravings, 34,000 book illustrations and 300 sculptures or ceramics.&lt;/p&gt;
 &lt;table id=&quot;toc&quot; class=&quot;toc&quot; summary=&quot;Contents&quot;&gt;
 &lt;tr&gt;
@@ -53,7 +53,7 @@
 &lt;/table&gt;
 &lt;script type=&quot;text/javascript&quot;&gt;
 //&lt;![CDATA[
- if (window.showTocToggle) { var tocShowText = &quot;show&quot;; var tocHideText = &quot;hide&quot;; showTocToggle(); } 
+ if (window.showTocToggle) { var tocShowText = &quot;show&quot;; var tocHideText = &quot;hide&quot;; showTocToggle(); }
 //]]&gt;
 &lt;/script&gt;
 &lt;div class=&quot;editsection&quot; style=&quot;float:right;margin-left:5px;&quot;&gt;[&lt;a href=&quot;../../art/4/7.html&quot; title=&quot;Edit section: Career&quot;&gt;edit&lt;/a&gt;]&lt;/div&gt;
@@ -262,7 +262,7 @@
 &lt;/tr&gt;
 &lt;/table&gt;
 
-&lt;!-- 
+&lt;!--
 Pre-expand include size: 8050 bytes
 Post-expand include size: 2326 bytes
 Template argument size: 1930 bytes
@@ -273,5 +273,5 @@ Retrieved from &quot;&lt;a href=&quot;http://localhost../../art/4/7.html&quot;&gt;http://localhost../
 	  &lt;/div&gt;
   &lt;/body&gt;
 &lt;/html&gt;
-&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&quot;boilerplate&quot; style=&quot;margin:0.5em auto;width:80%;background-color:#f7f8ff;border:2px solid #8888aa; padding:4px;font-size:85%;vertical-align:center&quot; &gt;This text comes from &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Pablo_Picasso&quot;&gt;Wikipedia&lt;/a&gt; the free encyclopedia. Permission is granted to copy, distribute and/or modify this document under the terms of the 
+&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&quot;boilerplate&quot; style=&quot;margin:0.5em auto;width:80%;background-color:#f7f8ff;border:2px solid #8888aa; padding:4px;font-size:85%;vertical-align:center&quot; &gt;This text comes from &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Pablo_Picasso&quot;&gt;Wikipedia&lt;/a&gt; the free encyclopedia. Permission is granted to copy, distribute and/or modify this document under the terms of the
 &lt;a href=&quot;license://gfdl/&quot;&gt;GNU Free Documentation License&lt;/a&gt;, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. For a complete list of contributors for a given article, visit the corresponding entry on the &lt;a href=&quot;http://en.wikipedia.org/&quot;&gt;English Wikipedia&lt;/a&gt; and click on &quot;History&quot; . For more details about the license of an image, visit the corresponding entry on the &lt;a href=&quot;http://en.wikipedia.org/&quot;&gt;English Wikipedia&lt;/a&gt; and click on the picture. &lt;/div&gt;&lt;/div&gt;
\ No newline at end of file</diff>
      <filename>lib/picolena/templates/spec/test_dirs/indexed/others/7.html</filename>
    </modified>
    <modified>
      <diff>@@ -19,9 +19,9 @@ static char buf[256];
 CMatrix::CMatrix(char *name1,char *job)
 {
   sprintf(buf,&quot;%s=%s;&quot;,name1,job);
-  if ( send_scilab_job(buf,strlen(buf)) != 0) 
+  if ( send_scilab_job(buf,strlen(buf)) != 0)
     throw SciError();
-  else 
+  else
     {
       int lp;
       C2F(cmatptr)(name1, &amp;m, &amp;n, &amp;lp,strlen(name1));
@@ -35,14 +35,14 @@ CMatrix::CMatrix(char *name1,char *job)
 void CMatrix::scijob(char *jobname)
 {
   sprintf(buf,jobname,name);
-  if ( send_scilab_job(buf,strlen(buf)) != 0) 
+  if ( send_scilab_job(buf,strlen(buf)) != 0)
     throw SciError();
 }
 
 CMatrix&amp; CMatrix::plus(CMatrix &amp;B)
 {
   sprintf(buf,&quot;%s=%s+%s&quot;,this-&gt;name,this-&gt;name,B.name);
-  if ( send_scilab_job(buf,strlen(buf)) != 0) 
+  if ( send_scilab_job(buf,strlen(buf)) != 0)
     throw SciError();
   int lp;
   C2F(cmatptr)(name, &amp;m, &amp;n, &amp;lp,strlen(name));
@@ -59,7 +59,7 @@ void CMatrix::print()
 void CMatrix::inv()
 {
   sprintf(buf,&quot;%s=inv(%s)&quot;,name,name);
-  if ( send_scilab_job(buf,strlen(buf)) != 0) 
+  if ( send_scilab_job(buf,strlen(buf)) != 0)
     throw SciError();
   int lp;
   C2F(cmatptr)(name, &amp;m, &amp;n, &amp;lp,strlen(name));
@@ -67,7 +67,7 @@ void CMatrix::inv()
 }
 
 
-void cc_test() 
+void cc_test()
 {
   CMatrix A(&quot;a&quot;,&quot;ones(2,2)&quot;);
   CMatrix B(&quot;b&quot;,&quot;8&quot;);</diff>
      <filename>lib/picolena/templates/spec/test_dirs/indexed/others/ccmatrix1.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -7,26 +7,26 @@
   &lt;title&gt;Le Monde.fr : A la une&lt;/title&gt;
   &lt;meta NAME=&quot;ROBOTS&quot; CONTENT=&quot;INDEX,FOLLOW,NOARCHIVE&quot;&gt;
   &lt;META HTTP-EQUIV=&quot;Content-Type&quot; CONTENT=&quot;text/html; charset=ISO-8859-1&quot;&gt;
-  &lt;meta name=&quot;DESCRIPTION&quot; content=&quot;LE MONDE, Journal Le Monde, quotidien d'information francophone / Le Monde, 
+  &lt;meta name=&quot;DESCRIPTION&quot; content=&quot;LE MONDE, Journal Le Monde, quotidien d'information francophone / Le Monde,
   the french quality newspaper of record&quot;&gt;
-  &lt;meta http-equiv=&quot;Refresh&quot; content=&quot;1802&quot;&gt;&lt;meta http-equiv=&quot;Expires&quot; content=&quot;0&quot;&gt;&lt;meta http-equiv=&quot;Pragma&quot; content=&quot;no-cache&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: A la Une&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3208,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Opinions&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3232,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: International&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3210,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Europe&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3214,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Soci&#233;t&#233;&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3224,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Economie&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3234,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: M&#233;dias&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3236,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Rendez-vous&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3238,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Sports&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3242,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Nature &amp; Sciences&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3244,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Culture&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3246,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Technologies&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-651865,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Cin&#233;ma&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3476,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Voyages&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3546,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Livres&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3260,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Examens&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3404,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Le Grenelle de l'environnement&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-959155,1-0,0.xml&quot;&gt;  &lt;meta name=&quot;KEYWORDS&quot; content=&quot;LE MONDE, INFORMATIONS, INFOS, QUOTIDIEN, DAILY NEWS, PRESSE, PRESS, NEWS, FRANCE, 
-  FRENCH, DOSSIERS, ECONOMIE, ECONOMY, CULTURE, INTERNATIONAL, BOURSE, CINEMA, MOVIES, LIVRES, BOOKS, 
-  MULTIMEDIA, EDUCATION, FORUMS, FORUM, SERVICES, ABONNEMENTS, BOUTIQUE, EMPLOI, EXPOSITIONS, FESTIVALS, 
-  SPORT, MAGAZINE, EUROPEEN, DIPLOMATIQUE, PARTENAIRES, PUBLICITE, LETTRES D'INFORMATIONS, NEWSLETTERS, 
-  JOURNAL EN LIGNE, LE MONDE ON LINE, VERSION PALM, VERSION MOBILES, MOBILE SERVICES, METEO, ARCHIVES, 
+  &lt;meta http-equiv=&quot;Refresh&quot; content=&quot;1802&quot;&gt;&lt;meta http-equiv=&quot;Expires&quot; content=&quot;0&quot;&gt;&lt;meta http-equiv=&quot;Pragma&quot; content=&quot;no-cache&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: A la Une&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3208,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Opinions&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3232,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: International&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3210,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Europe&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3214,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Soci&#239;&#191;&#189;t&#239;&#191;&#189;&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3224,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Economie&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3234,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: M&#239;&#191;&#189;dias&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3236,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Rendez-vous&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3238,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Sports&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3242,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Nature &amp; Sciences&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3244,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Culture&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3246,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Technologies&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-651865,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Cin&#239;&#191;&#189;ma&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3476,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Voyages&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3546,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Livres&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3260,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Examens&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-3404,1-0,0.xml&quot;&gt;&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;Le Monde.fr: Le Grenelle de l'environnement&quot; href=&quot;http://www.lemonde.fr/rss/sequence/0,2-959155,1-0,0.xml&quot;&gt;  &lt;meta name=&quot;KEYWORDS&quot; content=&quot;LE MONDE, INFORMATIONS, INFOS, QUOTIDIEN, DAILY NEWS, PRESSE, PRESS, NEWS, FRANCE,
+  FRENCH, DOSSIERS, ECONOMIE, ECONOMY, CULTURE, INTERNATIONAL, BOURSE, CINEMA, MOVIES, LIVRES, BOOKS,
+  MULTIMEDIA, EDUCATION, FORUMS, FORUM, SERVICES, ABONNEMENTS, BOUTIQUE, EMPLOI, EXPOSITIONS, FESTIVALS,
+  SPORT, MAGAZINE, EUROPEEN, DIPLOMATIQUE, PARTENAIRES, PUBLICITE, LETTRES D'INFORMATIONS, NEWSLETTERS,
+  JOURNAL EN LIGNE, LE MONDE ON LINE, VERSION PALM, VERSION MOBILES, MOBILE SERVICES, METEO, ARCHIVES,
   DOCUMENTATION, NOUVELLES TECHNOLOGIES, HIGH TECH, TRADUCTEUR, TRANSLATOR&quot;&gt;
   &lt;meta name=&quot;DC.format&quot; content=&quot;text/html&quot; /&gt;
   &lt;meta name=&quot;DC.language&quot; content=&quot;fr&quot; /&gt;
   &lt;meta name=&quot;DC.publisher&quot; content=&quot;Le Monde&quot; /&gt;
   &lt;meta name=&quot;DC.identifier&quot; content=&quot;ISSN 1950-6244&quot;/&gt;
-  
+
    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://medias.lemonde.fr/mmpub/css/commun.css&quot;&gt;
-   &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://medias.lemonde.fr/mmpub/css/commun-gr.css&quot;&gt;  
+   &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://medias.lemonde.fr/mmpub/css/commun-gr.css&quot;&gt;
    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://medias.lemonde.fr/mmpub/css/www.css&quot;&gt;
    &lt;link type=&quot;text/css&quot; rel=&quot;stylesheet&quot; href=&quot;http://medias.lemonde.fr/mmpub/css/une.css&quot;&gt;
               &lt;/head&gt;
  &lt;body bgcolor=FFFFFF leftmargin=&quot;0&quot; marginwidth=&quot;0&quot;  topmargin=&quot;0&quot; marginheight=&quot;0&quot; &gt;
- 
+
 &lt;script language=&quot;JavaScript&quot;&gt;
 &lt;!--
 
@@ -163,12 +163,12 @@ function OAS_AD(pos) {
 &lt;/SCRIPT&gt;&lt;!------ OAS SETUP end ------&gt;
 &lt;script src=&quot;http://medias.lemonde.fr/mmpub/js/wousdat.js&quot;&gt;&lt;/script&gt;&lt;script language=JavaScript&gt;OAS_AD('x10');&lt;/script&gt;
 &lt;script language=JavaScript&gt;OAS_AD('x01');&lt;/script&gt;
-&lt;!-- gab-sq-home.php --&gt;  
+&lt;!-- gab-sq-home.php --&gt;
 &lt;!-- gab-ssq-bandeau_haut_home.php --&gt;
 &lt;table width=&quot;1000&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot; class=tete&gt;
    &lt;tr&gt;
-      &lt;td width=340 align=center&gt;       
-       &lt;a href=/web/sequence/0,2-3208,1-0,0.html&gt;&lt;img src='http://medias.lemonde.fr/mmpub/img/lgo/lemondefr_grd.gif' alt='LeMonde.fr' border='0'&gt;&lt;/a&gt;&lt;br&gt;&lt;span class=tt-dt&gt;Mise &#224; jour &#224; &lt;font color=#990000&gt;&lt;b&gt;15 h 44 &lt;/b&gt;&lt;/font&gt; - Paris&lt;/span&gt;       
+      &lt;td width=340 align=center&gt;
+       &lt;a href=/web/sequence/0,2-3208,1-0,0.html&gt;&lt;img src='http://medias.lemonde.fr/mmpub/img/lgo/lemondefr_grd.gif' alt='LeMonde.fr' border='0'&gt;&lt;/a&gt;&lt;br&gt;&lt;span class=tt-dt&gt;Mise &#239;&#191;&#189; jour &#239;&#191;&#189; &lt;font color=#990000&gt;&lt;b&gt;15 h 44 &lt;/b&gt;&lt;/font&gt; - Paris&lt;/span&gt;
       &lt;/td&gt;
       &lt;td style=&quot;border-right: solid 1px white&quot; &gt;
          &lt;!--- gab-pv-barre_recherche_ref.php ---&gt;
@@ -177,21 +177,21 @@ function OAS_AD(pos) {
 
 function affAboJournal() {
    var contenu = &quot;&quot;;
-   contenu += &quot;&lt;a href=\&quot;http://eu.link.decdna.net/n/14763/31113/www.lemonde.fr/10av5o1;11;4;;690;;689zdb;;;;;1;/i/c?0&amp;pq=%2fabojournal%2f%3fxtor%3dAL%2d32280085\&quot; target=\&quot;_blank\&quot;&gt;&amp;raquo; Abonnez-vous au journal &#160;&lt;br /&gt;&lt;span style=\&quot;padding-left: 10px\&quot;&gt;&lt;i&gt;Le Monde&lt;/i&gt; : 16&#8364;/mois&lt;/span&gt;&lt;/a&gt;&quot;;
+   contenu += &quot;&lt;a href=\&quot;http://eu.link.decdna.net/n/14763/31113/www.lemonde.fr/10av5o1;11;4;;690;;689zdb;;;;;1;/i/c?0&amp;pq=%2fabojournal%2f%3fxtor%3dAL%2d32280085\&quot; target=\&quot;_blank\&quot;&gt;&amp;raquo; Abonnez-vous au journal &#239;&#191;&#189;&lt;br /&gt;&lt;span style=\&quot;padding-left: 10px\&quot;&gt;&lt;i&gt;Le Monde&lt;/i&gt; : 16&#239;&#191;&#189;/mois&lt;/span&gt;&lt;/a&gt;&quot;;
    document.write(contenu);
-   
+
 }
 
-function trim(chaine) { 
-    // espaces au debut 
-    while (chaine.substring(0,1) == ' ') 
+function trim(chaine) {
+    // espaces au debut
+    while (chaine.substring(0,1) == ' ')
         chaine = chaine.substring(1, chaine.length);
 
-    // espaces a la fin 
+    // espaces a la fin
     while (chaine.substring(chaine.length-1,chaine.length) == ' ')
         chaine = chaine.substring(0, chaine.length-1);
    return chaine;
-} 
+}
 
 function ValideRechercheSimple(leForm) {
 
@@ -199,7 +199,7 @@ function ValideRechercheSimple(leForm) {
 	var eAccentAigu = &quot;e&quot;;
 	var eAccentCirc = &quot;e&quot;;
 	var aAccentGrav = &quot;a&quot;;
-   
+
 		
 	//On teste si le javascript &gt;= 1.2
 	if ((String.fromCharCode(232))!=false &amp;&amp; (String.fromCharCode(232))!=null) {
@@ -231,11 +231,11 @@ function ValideRechercheSimple(leForm) {
    //   leForm.query.focus();
    //   return false;
    //}
-   
+
 return true;
 
 
-   
+
 }
 
 //fonction de masquage des element en fonction du click sur les bouton radio
@@ -243,21 +243,21 @@ function showHide(param) {
    var zoneSaisie = document.getElementById('query');
    var zoneListe  = document.getElementById('col_periode');
    switch (param) {
-      
+
       case 0:
-         
+
          zoneSaisie.setAttribute('size',34);
          zoneListe.style.visibility='';
          zoneListe.style.display=&quot;inline&quot;;
          document.getElementById('formrech').setAttribute('target','');
       break;
       case 1:
-         
+
          zoneSaisie.setAttribute('size',53);
          zoneListe.style.visibility =&quot;hidden&quot;;
          zoneListe.style.display=&quot;none&quot;;
          document.getElementById('formrech').setAttribute('target','_blank');
-         
+
       break;
    }
 }
@@ -265,25 +265,25 @@ function showHide(param) {
 &lt;/script&gt;
 
 &lt;form id=&quot;formrech&quot; method=&quot;get&quot; action=&quot;http://www.lemonde.fr/web/recherche_resultats/1,13-0,1-0,0.html&quot; name=&quot;recherche_simple&quot; onsubmit=&quot;return ValideRechercheSimple(this)&quot;&gt;
-    
+
     &lt;input type=&quot;hidden&quot; name=&quot;dans&quot; value=&quot;dansarticle&quot;&gt;
     &lt;input type=&quot;hidden&quot; name=&quot;num_page&quot; value=&quot;1&quot;&gt;
     &lt;input type=&quot;hidden&quot; name=&quot;booleen&quot; value=&quot;et&quot;&gt;
-    &lt;input type=&quot;hidden&quot; name=&quot;ordre&quot; value=&quot;pertinence&quot;&gt;           
+    &lt;input type=&quot;hidden&quot; name=&quot;ordre&quot; value=&quot;pertinence&quot;&gt;
 &lt;table cellpadding=0 width=310 cellspacing=3 border=0 class=tete3 &gt;
             &lt;tr valign=top&gt;
                &lt;td&gt;&lt;span class=&quot;rec&quot;&gt;&lt;b&gt;Recherchez&lt;/b&gt;&lt;/span&gt;&lt;br&gt;
     &lt;input type=&quot;text&quot; name=&quot;query&quot; value=&quot;&quot; size=&quot;34&quot; maxlength=&quot;40&quot; id=&quot;query&quot;&gt;&lt;/td&gt;
                &lt;td nowrap valign=&quot;bottom&quot;&gt;
                &lt;span  id=&quot;col_periode&quot;&gt;depuis&lt;br&gt;
-    &lt;select name=&quot;periode&quot;&gt; 
+    &lt;select name=&quot;periode&quot;&gt;
       &lt;option value=&quot;1&quot; &gt;aujourd'hui
       &lt;option value=&quot;7&quot; &gt;7 jours
       &lt;option value=&quot;30&quot; selected&gt;1 mois
       &lt;option value=&quot;365&quot; &gt;1 an
       &lt;option value=&quot;1987&quot; &gt;d&amp;eacute;tailler
     &lt;/select&gt;
-    &lt;/span&gt;   
+    &lt;/span&gt;
     &lt;input type=&quot;image&quot; src=&quot;http://medias.lemonde.fr/mmpub/img/bt/rech.gif&quot; alt=&quot;Valider&quot; align=&quot;absmiddle&quot;&gt;
 
                &lt;/td&gt;
@@ -291,15 +291,15 @@ function showHide(param) {
                &lt;tr&gt;
                &lt;td colspan=&quot;3&quot;&gt;
                   &lt;input name=&quot;sur&quot; type=&quot;radio&quot; value=&quot;LEMONDE&quot; checked=&quot;checked&quot; onclick=&quot;showHide(0);&quot;&gt;sur Le Monde.fr
-               
+
                   &lt;input name=&quot;sur&quot; type=&quot;radio&quot; value=&quot;YAHOO&quot; onclick=&quot;showHide(1);&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/lgo/yahoosearch-gratuit-182x17.gif&quot; alt=&quot;Yahoo!&quot; align=&quot;middle&quot;&gt;
-                  
-                  
-                  
+
+
+
                &lt;/td&gt;
             &lt;/tr&gt;
-            &lt;!--&lt;tr&gt;&lt;td colspan=2&gt;&lt;a href=&quot;http://www.lemonde.fr/web/recherche/0,13-0,1-0,0.html&quot;&gt;&amp;raquo; Acc&#233;dez aux archives du Monde&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;--&gt;
-         &lt;/table&gt;   
+            &lt;!--&lt;tr&gt;&lt;td colspan=2&gt;&lt;a href=&quot;http://www.lemonde.fr/web/recherche/0,13-0,1-0,0.html&quot;&gt;&amp;raquo; Acc&#239;&#191;&#189;dez aux archives du Monde&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;--&gt;
+         &lt;/table&gt;
          &lt;table cellpadding=&quot;0&quot; width=&quot;100%&quot; cellspacing=&quot;5&quot; border=&quot;0&quot; bgcolor=&quot;#CECECE&quot;&gt;  &lt;tr&gt;    &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;&lt;a href=&quot;http://www.lemonde.fr/web/inscription_newsletter/1,27-0,1-0,0.html&quot; onclick=&quot;xt_clic('N','Recevoir newsletters Home')&quot; style=&quot;color: #990000;&quot;&gt;&amp;raquo; Recevez les newsletters&lt;br /&gt;&lt;span style=&quot;padding-left: 10px&quot;&gt;gratuites&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;    &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;&lt;script language=&quot;javascript&quot;&gt;affAboJournal();&lt;/script&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;/table&gt;&lt;/form&gt;	
 &lt;!--- / gab-pv-barre_recherche_ref.php ---&gt;
 
@@ -310,12 +310,12 @@ function showHide(param) {
       &lt;td valign=middle width=140&gt;
          &lt;!-- gab-pv-barre_login_perso.php --&gt;
 &lt;script language=javascript src=http://www.lemonde.fr/web/barre_login/0,0-0,1-0,0.js&gt;&lt;/script&gt;&lt;!--/ gab-pv-barre_login_perso.php --&gt;
- 
+
       &lt;/td&gt;
 &lt;/tr&gt;&lt;/table&gt;
 &lt;!-- /gab-ssq-bandeau_haut_home.php --&gt;
 &lt;!-- gab-ssq-insert_page_partagee.php --&gt;
-&lt;!-- d&#233;but insertion page partagee http://www.lemonde.fr/web/page_partagee/0,15-8,1-0,0.html --&gt;&lt;!-- Rosae:: vendredi 2 novembre 2007 17:51:45.20561 4.354 terre --&gt;
+&lt;!-- d&#239;&#191;&#189;but insertion page partagee http://www.lemonde.fr/web/page_partagee/0,15-8,1-0,0.html --&gt;&lt;!-- Rosae:: vendredi 2 novembre 2007 17:51:45.20561 4.354 terre --&gt;
    &lt;script language=&quot;JavaScript1.1&quot;&gt;
 &lt;!--
 function xt_clic(typecl,page,url,nvlle)
@@ -346,85 +346,85 @@ else
 &lt;script language=&quot;javascript&quot; src=&quot;http://medias.lemonde.fr/mmpub/js/nav.js&quot;&gt;&lt;/script&gt;
 &lt;script language=&quot;JavaScript1.1&quot;&gt;
 &lt;!--
-var gl_Refitemid2annonceid = new Array(); 
-gl_Refitemid2annonceid[3208] = &quot;m_ann_1136&quot;; 
-gl_Refitemid2annonceid[3210] = &quot;m_ann_1129&quot;; 
-gl_Refitemid2annonceid[3214] = &quot;m_ann_1129&quot;; 
-gl_Refitemid2annonceid[823448] = &quot;m_ann_1129&quot;; 
-gl_Refitemid2annonceid[3224] = &quot;m_ann_1129&quot;; 
-gl_Refitemid2annonceid[3382] = &quot;m_ann_1129&quot;; 
-gl_Refitemid2annonceid[3234] = &quot;m_ann_1129&quot;; 
-gl_Refitemid2annonceid[3236] = &quot;m_ann_1129&quot;; 
-gl_Refitemid2annonceid[3238] = &quot;m_ann_1129&quot;; 
-gl_Refitemid2annonceid[3242] = &quot;m_ann_1129&quot;; 
-gl_Refitemid2annonceid[3244] = &quot;m_ann_1129&quot;; 
-gl_Refitemid2annonceid[3246] = &quot;m_ann_1138&quot;; 
-gl_Refitemid2annonceid[3232] = &quot;m_ann_1130&quot;; 
-gl_Refitemid2annonceid[3476] = &quot;m_ann_1138&quot;; 
-gl_Refitemid2annonceid[3260] = &quot;m_ann_1138&quot;; 
-gl_Refitemid2annonceid[3546] = &quot;m_ann_1138&quot;; 
-gl_Refitemid2annonceid[651865] = &quot;m_ann_1138&quot;; 
-gl_Refitemid2annonceid[3404] = &quot;m_ann_1138&quot;; 
-gl_Refitemid2annonceid[3328] = &quot;m_ann_1138&quot;; 
-gl_Refitemid2annonceid[3280] = &quot;m_ann_1138&quot;; 
-var gl_Label2annonceid = new Array(); 
-gl_Label2annonceid['les_videos'] = &quot;m_ann_1129&quot;; 
-gl_Label2annonceid['rss'] = &quot;m_ann_1129&quot;; 
-gl_Label2annonceid['blogs'] = &quot;m_ann_1130&quot;; 
-gl_Label2annonceid['chats'] = &quot;m_ann_1130&quot;; 
-gl_Label2annonceid['votreavis'] = &quot;m_ann_1130&quot;; 
-gl_Label2annonceid['meteo'] = &quot;m_ann_1138&quot;; 
-gl_Label2annonceid['traficidf'] = &quot;m_ann_1138&quot;; 
-gl_Label2annonceid['desk'] = &quot;m_ann_1140&quot;; 
-gl_Label2annonceid['actuimgs'] = &quot;m_ann_1140&quot;; 
-gl_Label2annonceid['depeches'] = &quot;m_ann_1140&quot;; 
-gl_Label2annonceid['videos'] = &quot;m_ann_1140&quot;; 
-gl_Label2annonceid['tstitres'] = &quot;m_ann_1140&quot;; 
-gl_Label2annonceid['une8'] = &quot;m_ann_1140&quot;; 
-gl_Label2annonceid['teaser'] = &quot;m_ann_1140&quot;; 
-gl_Label2annonceid['monde_pdf'] = &quot;m_ann_1141&quot;; 
-gl_Label2annonceid['kiosque_elpais'] = &quot;m_ann_1141&quot;; 
-gl_Label2annonceid['newsletter'] = &quot;m_ann_1142&quot;; 
-gl_Label2annonceid['multimedia'] = &quot;m_ann_1143&quot;; 
-gl_Label2annonceid['galerie'] = &quot;m_ann_1143&quot;; 
-gl_Label2annonceid['imgsdactu'] = &quot;m_ann_1143&quot;; 
-gl_Label2annonceid['sipa'] = &quot;m_ann_1143&quot;; 
-gl_Label2annonceid['bande_son'] = &quot;m_ann_1143&quot;; 
-gl_Label2annonceid['tld'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['tdm'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['tlr'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['cyberadresses'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['fichespays'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['education/bac_annales'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['education/bac_resultats'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['education/bac_corriges'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['elections'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['eco/etudes'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['liste_blogs'] = &quot;m_ann_1130&quot;; 
-gl_Label2annonceid['videos_n'] = &quot;m_ann_1140&quot;; 
-gl_Label2annonceid['videos_r'] = &quot;m_ann_1140&quot;; 
-gl_Label2annonceid['videos_w'] = &quot;m_ann_1140&quot;; 
-gl_Label2annonceid['article_dossier'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['dossier'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['article_theme'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['thematique'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['module_repere'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['article_fichespays'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['elections/liste_circ'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['elections/recherche'] = &quot;m_ann_1144&quot;; 
-gl_Label2annonceid['elections/resultat'] = &quot;m_ann_1144&quot;; 
-var gl_refitemidsubsequence2annonceid = new Array(); 
-gl_refitemidsubsequence2annonceid['3212'] = &quot;m_ann_1129&quot;; 
-gl_refitemidsubsequence2annonceid['3222'] = &quot;m_ann_1129&quot;; 
-gl_refitemidsubsequence2annonceid['3216'] = &quot;m_ann_1129&quot;; 
-gl_refitemidsubsequence2annonceid['3218'] = &quot;m_ann_1129&quot;; 
-gl_refitemidsubsequence2annonceid['3220'] = &quot;m_ann_1129&quot;; 
-gl_refitemidsubsequence2annonceid['3548'] = &quot;m_ann_1138&quot;; 
-gl_refitemidsubsequence2annonceid['3550'] = &quot;m_ann_1138&quot;; 
-gl_refitemidsubsequence2annonceid['3558'] = &quot;m_ann_1138&quot;; 
-gl_refitemidsubsequence2annonceid['3556'] = &quot;m_ann_1138&quot;; 
-gl_refitemidsubsequence2annonceid['3552'] = &quot;m_ann_1138&quot;; 
-gl_refitemidsubsequence2annonceid['3554'] = &quot;m_ann_1138&quot;; 
+var gl_Refitemid2annonceid = new Array();
+gl_Refitemid2annonceid[3208] = &quot;m_ann_1136&quot;;
+gl_Refitemid2annonceid[3210] = &quot;m_ann_1129&quot;;
+gl_Refitemid2annonceid[3214] = &quot;m_ann_1129&quot;;
+gl_Refitemid2annonceid[823448] = &quot;m_ann_1129&quot;;
+gl_Refitemid2annonceid[3224] = &quot;m_ann_1129&quot;;
+gl_Refitemid2annonceid[3382] = &quot;m_ann_1129&quot;;
+gl_Refitemid2annonceid[3234] = &quot;m_ann_1129&quot;;
+gl_Refitemid2annonceid[3236] = &quot;m_ann_1129&quot;;
+gl_Refitemid2annonceid[3238] = &quot;m_ann_1129&quot;;
+gl_Refitemid2annonceid[3242] = &quot;m_ann_1129&quot;;
+gl_Refitemid2annonceid[3244] = &quot;m_ann_1129&quot;;
+gl_Refitemid2annonceid[3246] = &quot;m_ann_1138&quot;;
+gl_Refitemid2annonceid[3232] = &quot;m_ann_1130&quot;;
+gl_Refitemid2annonceid[3476] = &quot;m_ann_1138&quot;;
+gl_Refitemid2annonceid[3260] = &quot;m_ann_1138&quot;;
+gl_Refitemid2annonceid[3546] = &quot;m_ann_1138&quot;;
+gl_Refitemid2annonceid[651865] = &quot;m_ann_1138&quot;;
+gl_Refitemid2annonceid[3404] = &quot;m_ann_1138&quot;;
+gl_Refitemid2annonceid[3328] = &quot;m_ann_1138&quot;;
+gl_Refitemid2annonceid[3280] = &quot;m_ann_1138&quot;;
+var gl_Label2annonceid = new Array();
+gl_Label2annonceid['les_videos'] = &quot;m_ann_1129&quot;;
+gl_Label2annonceid['rss'] = &quot;m_ann_1129&quot;;
+gl_Label2annonceid['blogs'] = &quot;m_ann_1130&quot;;
+gl_Label2annonceid['chats'] = &quot;m_ann_1130&quot;;
+gl_Label2annonceid['votreavis'] = &quot;m_ann_1130&quot;;
+gl_Label2annonceid['meteo'] = &quot;m_ann_1138&quot;;
+gl_Label2annonceid['traficidf'] = &quot;m_ann_1138&quot;;
+gl_Label2annonceid['desk'] = &quot;m_ann_1140&quot;;
+gl_Label2annonceid['actuimgs'] = &quot;m_ann_1140&quot;;
+gl_Label2annonceid['depeches'] = &quot;m_ann_1140&quot;;
+gl_Label2annonceid['videos'] = &quot;m_ann_1140&quot;;
+gl_Label2annonceid['tstitres'] = &quot;m_ann_1140&quot;;
+gl_Label2annonceid['une8'] = &quot;m_ann_1140&quot;;
+gl_Label2annonceid['teaser'] = &quot;m_ann_1140&quot;;
+gl_Label2annonceid['monde_pdf'] = &quot;m_ann_1141&quot;;
+gl_Label2annonceid['kiosque_elpais'] = &quot;m_ann_1141&quot;;
+gl_Label2annonceid['newsletter'] = &quot;m_ann_1142&quot;;
+gl_Label2annonceid['multimedia'] = &quot;m_ann_1143&quot;;
+gl_Label2annonceid['galerie'] = &quot;m_ann_1143&quot;;
+gl_Label2annonceid['imgsdactu'] = &quot;m_ann_1143&quot;;
+gl_Label2annonceid['sipa'] = &quot;m_ann_1143&quot;;
+gl_Label2annonceid['bande_son'] = &quot;m_ann_1143&quot;;
+gl_Label2annonceid['tld'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['tdm'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['tlr'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['cyberadresses'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['fichespays'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['education/bac_annales'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['education/bac_resultats'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['education/bac_corriges'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['elections'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['eco/etudes'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['liste_blogs'] = &quot;m_ann_1130&quot;;
+gl_Label2annonceid['videos_n'] = &quot;m_ann_1140&quot;;
+gl_Label2annonceid['videos_r'] = &quot;m_ann_1140&quot;;
+gl_Label2annonceid['videos_w'] = &quot;m_ann_1140&quot;;
+gl_Label2annonceid['article_dossier'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['dossier'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['article_theme'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['thematique'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['module_repere'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['article_fichespays'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['elections/liste_circ'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['elections/recherche'] = &quot;m_ann_1144&quot;;
+gl_Label2annonceid['elections/resultat'] = &quot;m_ann_1144&quot;;
+var gl_refitemidsubsequence2annonceid = new Array();
+gl_refitemidsubsequence2annonceid['3212'] = &quot;m_ann_1129&quot;;
+gl_refitemidsubsequence2annonceid['3222'] = &quot;m_ann_1129&quot;;
+gl_refitemidsubsequence2annonceid['3216'] = &quot;m_ann_1129&quot;;
+gl_refitemidsubsequence2annonceid['3218'] = &quot;m_ann_1129&quot;;
+gl_refitemidsubsequence2annonceid['3220'] = &quot;m_ann_1129&quot;;
+gl_refitemidsubsequence2annonceid['3548'] = &quot;m_ann_1138&quot;;
+gl_refitemidsubsequence2annonceid['3550'] = &quot;m_ann_1138&quot;;
+gl_refitemidsubsequence2annonceid['3558'] = &quot;m_ann_1138&quot;;
+gl_refitemidsubsequence2annonceid['3556'] = &quot;m_ann_1138&quot;;
+gl_refitemidsubsequence2annonceid['3552'] = &quot;m_ann_1138&quot;;
+gl_refitemidsubsequence2annonceid['3554'] = &quot;m_ann_1138&quot;;
 if (typeof highlight_menu != &quot;undefined&quot;)
 {
    if(navigator.appName == 'Microsoft Internet Explorer')
@@ -454,11 +454,11 @@ else
 
 &lt;div align=left&gt;&lt;table bgcolor=&quot;#132d46&quot; border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;723&quot;&gt;
                   &lt;tbody&gt;
-                  &lt;tr&gt;                    
+                  &lt;tr&gt;
                     &lt;td id=&quot;m_ann_1136&quot;&gt;&lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3208,1-0,0.html&quot; onclick=&quot;xt_clic('N','Home')&quot; onmouseover=&quot;showMenu('ann_1136');&quot; onmouseout=&quot;hideMenu('ann_1136');&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/nav-une.gif&quot;  alt=&quot;Home&quot; border=&quot;0&quot; height=&quot;27&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id=&quot;m_ann_1129&quot;&gt;&lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3208,1-0,0.html&quot; onclick=&quot;xt_clic('N','Actualites')&quot; onmouseover=&quot;showMenu('ann_1129');&quot; onmouseout=&quot;hideMenu('ann_1129');&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/nav-act.gif&quot;  alt=&quot;Actualit&amp;eacute;s&quot; border=&quot;0&quot; height=&quot;27&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id=&quot;m_ann_1130&quot;&gt;&lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3232,1-0,0.html&quot; onclick=&quot;xt_clic('N','Perspectives')&quot; onmouseover=&quot;showMenu('ann_1130');&quot; onmouseout=&quot;hideMenu('ann_1130');&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/nav-per.gif&quot;  alt=&quot;Perspectives&quot; border=&quot;0&quot; height=&quot;27&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id=&quot;m_ann_1138&quot;&gt;&lt;a href=&quot;http://www.lemonde.fr/web/meteo/0,31-0,42-0,0.html&quot; onclick=&quot;xt_clic('N','Pratique')&quot; onmouseover=&quot;showMenu('ann_1138');&quot; onmouseout=&quot;hideMenu('ann_1138');&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/nav-vie.gif&quot;  alt=&quot;Pratique&quot; border=&quot;0&quot; height=&quot;27&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id=&quot;m_ann_1139&quot;&gt;&lt;a href=&quot;http://www.talents.fr/web/sequence/0,2-3504,1-0,0.html&quot; onclick=&quot;xt_clic('S','Annonces')&quot; target=&quot;_blank&quot; onmouseover=&quot;showMenu('ann_1139');&quot; onmouseout=&quot;hideMenu('ann_1139');&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/nav-ann.gif&quot;  alt=&quot;Annonces&quot; border=&quot;0&quot; height=&quot;27&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id=&quot;m_ann_1140&quot;&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/desk/0,26-3424,1-0,0.html&quot; onclick=&quot;xt_clic('N','Le Desk')&quot; onmouseover=&quot;showMenu('ann_1140');&quot; onmouseout=&quot;hideMenu('ann_1140');&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/nav-desk.gif&quot;  alt=&quot;Le Desk&quot; border=&quot;0&quot; height=&quot;27&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id=&quot;m_ann_1141&quot;&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/monde_pdf/0,33-0,1-0,0.html&quot; onclick=&quot;xt_clic('N','Le Kiosque')&quot; onmouseover=&quot;showMenu('ann_1141');&quot; onmouseout=&quot;hideMenu('ann_1141');&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/nav-kio.gif&quot;  alt=&quot;Le Kiosque&quot; border=&quot;0&quot; height=&quot;27&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id=&quot;m_ann_1142&quot;&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-0@60-7@45-2,0.html&quot; onclick=&quot;xt_clic('N','Newsletters')&quot; onmouseover=&quot;showMenu('ann_1142');&quot; onmouseout=&quot;hideMenu('ann_1142');&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/nav-news.gif&quot;  alt=&quot;Newsletters&quot; border=&quot;0&quot; height=&quot;27&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id=&quot;m_ann_1143&quot;&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/multimedia/0,45-0,1-0,0.html&quot; onclick=&quot;xt_clic('N','Multimedia')&quot; onmouseover=&quot;showMenu('ann_1143');&quot; onmouseout=&quot;hideMenu('ann_1143');&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/nav-mul.gif&quot;  alt=&quot;Multim&amp;eacute;dia&quot; border=&quot;0&quot; height=&quot;27&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id=&quot;m_ann_1144&quot;&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/tld/0,3-0,14-0,0.html&quot; onclick=&quot;xt_clic('N','References')&quot; onmouseover=&quot;showMenu('ann_1144');&quot; onmouseout=&quot;hideMenu('ann_1144');&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/nav-ref.gif&quot;  alt=&quot;R&amp;eacute;f&amp;eacute;rences&quot; border=&quot;0&quot; height=&quot;27&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id=&quot;m_abogold1&quot; style=&quot;display:none&quot;&gt;&lt;a href=&quot;http://www.lemonde.fr/web/abonnement/&amp;clef=BOUTONABOGOLD1&quot; onclick=&quot;xt_clic('N','Abonnez-vous1')&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/bt-abogold1.gif&quot;  alt=&quot;Abonnez-vous&quot; border=&quot;0&quot; height=&quot;27&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id=&quot;m_abogold2&quot; style=&quot;display:none&quot;&gt;&lt;a href=&quot;http://www.lemonde.fr/web/abonnement/&amp;clef=BOUTONABOGOLD2&quot; onclick=&quot;xt_clic('N','Abonnez-vous2')&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/bt-abogold2.gif&quot;  alt=&quot;Abonnez-vous&quot; border=&quot;0&quot; height=&quot;27&quot;&gt;&lt;/a&gt;&lt;/td&gt;
                   &lt;/tr&gt;
                   &lt;/tbody&gt;
-               &lt;/table&gt;&lt;div id=&quot;mc_ann_1136&quot; class=&quot;nv-gr-2&quot; onmouseover=&quot;showMenu('ann_1136');&quot; onmouseout=&quot;hideMenu('ann_1136');&quot;&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1129&quot; class=&quot;nv-gr-2&quot; onmouseover=&quot;showMenu('ann_1129');&quot; onmouseout=&quot;hideMenu('ann_1129');&quot;&gt;&lt;div id=&quot;ann_1129_1131&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1131');&quot;  onmouseout=&quot;bgOff('ann_1129_1131');&quot; onclick=&quot;xt_clic('N','A la Une');window.location='http://www.lemonde.fr/web/sequence/0,2-3208,1-0,0.html'&quot;&gt;A la Une&lt;/div&gt;&lt;div id=&quot;ann_1129_1132&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1129_1132');&quot;  onmouseout=&quot;bgOff('ann_1129_1132');&quot; onclick=&quot;xt_clic('N','Le Desk');window.location='http://abonnes.lemonde.fr/web/desk/0,26-3424,1-0,0.html'&quot;&gt;Le Desk&lt;/div&gt;&lt;div id=&quot;ann_1129_845873&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_845873');&quot;  onmouseout=&quot;bgOff('ann_1129_845873');&quot; onclick=&quot;xt_clic('N','Videos');window.location='http://www.lemonde.fr/web/les_videos/0,59-0,64-882644,0.html'&quot;&gt;Vid&#233;os&lt;/div&gt;&lt;div id=&quot;ann_1129_1133&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1133');&quot;  onmouseout=&quot;bgOff('ann_1129_1133');&quot; onclick=&quot;xt_clic('N','International');window.location='http://www.lemonde.fr/web/sequence/0,2-3210,1-0,0.html'&quot;&gt;International&lt;/div&gt;&lt;div id=&quot;ann_1129_1224&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1224');&quot;  onmouseout=&quot;bgOff('ann_1129_1224');&quot; onclick=&quot;xt_clic('N','Europe');window.location='http://www.lemonde.fr/web/sequence/0,2-3214,1-0,0.html'&quot;&gt;Europe&lt;/div&gt;&lt;div id=&quot;ann_1129_961459&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_961459');&quot;  onmouseout=&quot;bgOff('ann_1129_961459');&quot; onclick=&quot;xt_clic('N','Politique');window.location='http://www.lemonde.fr/web/sequence/0,2-823448,1-0,0.html'&quot;&gt;Politique&lt;/div&gt;&lt;div id=&quot;ann_1129_1226&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1226');&quot;  onmouseout=&quot;bgOff('ann_1129_1226');&quot; onclick=&quot;xt_clic('N','Societe');window.location='http://www.lemonde.fr/web/sequence/0,2-3224,1-0,0.html'&quot;&gt;Soci&#233;t&#233;&lt;/div&gt;&lt;div id=&quot;ann_1129_629295&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_629295');&quot;  onmouseout=&quot;bgOff('ann_1129_629295');&quot; onclick=&quot;xt_clic('N','Carnet');window.location='http://www.lemonde.fr/web/sequence/0,2-3382,1-0,0.html'&quot;&gt;Carnet&lt;/div&gt;&lt;div id=&quot;ann_1129_1228&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1228');&quot;  onmouseout=&quot;bgOff('ann_1129_1228');&quot; onclick=&quot;xt_clic('N','Economie');window.location='http://www.lemonde.fr/web/sequence/0,2-3234,1-0,0.html'&quot;&gt;Economie&lt;/div&gt;&lt;div id=&quot;ann_1129_1229&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1229');&quot;  onmouseout=&quot;bgOff('ann_1129_1229');&quot; onclick=&quot;xt_clic('N','Medias');window.location='http://www.lemonde.fr/web/sequence/0,2-3236,1-0,0.html'&quot;&gt;M&#233;dias&lt;/div&gt;&lt;div id=&quot;ann_1129_1235&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1235');&quot;  onmouseout=&quot;bgOff('ann_1129_1235');&quot; onclick=&quot;xt_clic('N','Meteo');window.location='http://www.lemonde.fr/web/meteo/0,31-0,42-0,0.html'&quot;&gt;M&#233;t&#233;o&lt;/div&gt;&lt;div id=&quot;ann_1129_1230&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1230');&quot;  onmouseout=&quot;bgOff('ann_1129_1230');&quot; onclick=&quot;xt_clic('N','Rendez-vous');window.location='http://www.lemonde.fr/web/sequence/0,2-3238,1-0,0.html'&quot;&gt;Rendez-vous&lt;/div&gt;&lt;div id=&quot;ann_1129_1231&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1231');&quot;  onmouseout=&quot;bgOff('ann_1129_1231');&quot; onclick=&quot;xt_clic('N','Sports');window.location='http://www.lemonde.fr/web/sequence/0,2-3242,1-0,0.html'&quot;&gt;Sports&lt;/div&gt;&lt;div id=&quot;ann_1129_1233&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1233');&quot;  onmouseout=&quot;bgOff('ann_1129_1233');&quot; onclick=&quot;xt_clic('N','Environnement, Sciences');window.location='http://www.lemonde.fr/web/sequence/0,2-3244,1-0,0.html'&quot;&gt;Environnement, Sciences&lt;/div&gt;&lt;div id=&quot;ann_1129_743034&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_743034');&quot;  onmouseout=&quot;bgOff('ann_1129_743034');&quot; onclick=&quot;xt_clic('N','Technologies');window.location='http://www.lemonde.fr/web/sequence/0,2-651865,1-0,0.html'&quot;&gt;Technologies&lt;/div&gt;&lt;div id=&quot;ann_1129_1232&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1232');&quot;  onmouseout=&quot;bgOff('ann_1129_1232');&quot; onclick=&quot;xt_clic('N','Culture');window.location='http://www.lemonde.fr/web/sequence/0,2-3246,1-0,0.html'&quot;&gt;Culture&lt;/div&gt;&lt;div id=&quot;ann_1129_944555&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_944555');&quot;  onmouseout=&quot;bgOff('ann_1129_944555');&quot; onclick=&quot;xt_clic('N','RSS');window.location='http://www.lemonde.fr/web/rss/0,48-0,1-0,0.html'&quot;&gt;RSS&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1130&quot; class=&quot;nv-gr-2&quot; onmouseover=&quot;showMenu('ann_1130');&quot; onmouseout=&quot;hideMenu('ann_1130');&quot;&gt;&lt;div id=&quot;ann_1130_1134&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1130_1134');&quot;  onmouseout=&quot;bgOff('ann_1130_1134');&quot; onclick=&quot;xt_clic('N','Opinions');window.location='http://www.lemonde.fr/web/sequence/0,2-3232,1-0,0.html'&quot;&gt;Opinions&lt;/div&gt;&lt;div id=&quot;ann_1130_1236&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1130_1236');&quot;  onmouseout=&quot;bgOff('ann_1130_1236');&quot; onclick=&quot;xt_clic('N','Blogs');window.location='http://www.lemonde.fr/web/blogs/0,39-0,48-0,0.html'&quot;&gt;Blogs&lt;/div&gt;&lt;div id=&quot;ann_1130_1135&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1130_1135');&quot;  onmouseout=&quot;bgOff('ann_1130_1135');&quot; onclick=&quot;xt_clic('S','Forums');window.open('http://forums.lemonde.fr')&quot;&gt;Forums&lt;/div&gt;&lt;div id=&quot;ann_1130_1201&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1130_1201');&quot;  onmouseout=&quot;bgOff('ann_1130_1201');&quot; onclick=&quot;xt_clic('N','Chats');window.location='http://www.lemonde.fr/web/chats/0,46-0,55-0,0.html'&quot;&gt;Chats&lt;/div&gt;&lt;div id=&quot;ann_1130_1237&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1130_1237');&quot;  onmouseout=&quot;bgOff('ann_1130_1237');&quot; onclick=&quot;xt_clic('N','Sondages');window.location='http://www.lemonde.fr/web/votreavis/0,25-0@2-3208,1-0,0.html'&quot;&gt;Sondages&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1138&quot; class=&quot;nv-gr-2&quot; onmouseover=&quot;showMenu('ann_1138');&quot; onmouseout=&quot;hideMenu('ann_1138');&quot;&gt;&lt;div id=&quot;ann_1138_1242&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_1242');&quot;  onmouseout=&quot;bgOff('ann_1138_1242');&quot; onclick=&quot;xt_clic('N','Meteo');window.location='http://www.lemonde.fr/web/meteo/0,31-0,42-0,0.html'&quot;&gt;M&#233;t&#233;o&lt;/div&gt;&lt;div id=&quot;ann_1138_1239&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_1239');&quot;  onmouseout=&quot;bgOff('ann_1138_1239');&quot; onclick=&quot;xt_clic('N','Cinema');window.location='http://www.lemonde.fr/web/sequence/0,2-3476,1-0,0.html'&quot;&gt;Cin&#233;ma&lt;/div&gt;&lt;div id=&quot;ann_1138_1240&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_1240');&quot;  onmouseout=&quot;bgOff('ann_1138_1240');&quot; onclick=&quot;xt_clic('N','Livres');window.location='http://www.lemonde.fr/web/sequence/0,2-3260,1-0,0.html'&quot;&gt;Livres&lt;/div&gt;&lt;div id=&quot;ann_1138_1243&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_1243');&quot;  onmouseout=&quot;bgOff('ann_1138_1243');&quot; onclick=&quot;xt_clic('N','Voyages');window.location='http://www.lemonde.fr/web/sequence/0,2-3546,1-0,0.html'&quot;&gt;Voyages&lt;/div&gt;&lt;div id=&quot;ann_1138_700364&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_700364');&quot;  onmouseout=&quot;bgOff('ann_1138_700364');&quot; onclick=&quot;xt_clic('N','Technologies');window.location='http://www.lemonde.fr/web/sequence/0,2-651865,1-0,0.html'&quot;&gt;Technologies&lt;/div&gt;&lt;div id=&quot;ann_1138_737426&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_737426');&quot;  onmouseout=&quot;bgOff('ann_1138_737426');&quot; onclick=&quot;xt_clic('N','Trafic IDF');window.location='http://www.lemonde.fr/web/traficidf/0,53-0,1-0,0.html'&quot;&gt;Trafic IDF&lt;/div&gt;&lt;div id=&quot;ann_1138_625729&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_625729');&quot;  onmouseout=&quot;bgOff('ann_1138_625729');&quot; onclick=&quot;xt_clic('N','Examens 2007');window.location='http://www.lemonde.fr/web/sequence/0,2-3404,1-0,0.html'&quot;&gt;Examens 2007&lt;/div&gt;&lt;div id=&quot;ann_1138_1244&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_1244');&quot;  onmouseout=&quot;bgOff('ann_1138_1244');&quot; onclick=&quot;xt_clic('N','Savoirs');window.location='http://www.lemonde.fr/web/sequence/0,2-3328,1-0,0.html'&quot;&gt;Savoirs&lt;/div&gt;&lt;div id=&quot;ann_1138_1246&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_1246');&quot;  onmouseout=&quot;bgOff('ann_1138_1246');&quot; onclick=&quot;xt_clic('N','Jeux');window.location='http://www.lemonde.fr/web/sequence/0,2-3280,1-0,0.html'&quot;&gt;Jeux&lt;/div&gt;&lt;div id=&quot;ann_1138_761079&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_761079');&quot;  onmouseout=&quot;bgOff('ann_1138_761079');&quot; onclick=&quot;xt_clic('S','Shopping');window.open('http://shop.lemonde.fr')&quot;&gt;Shopping&lt;/div&gt;&lt;div id=&quot;ann_1138_928320&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_928320');&quot;  onmouseout=&quot;bgOff('ann_1138_928320');&quot; onclick=&quot;xt_clic('S','Le Monde');window.open('http://eu.link.decdna.net/n/14763/31113/www.lemonde.fr/1mpqoym;11;4;;690;;689z4l;;;;;1;/i/c?0&amp;pq=%2fabojournal%2f%3fxtor%3dAL%2d32280084')&quot;&gt;Abonnement journal &lt;i&gt;Le Monde&lt;/i&gt;&lt;/div&gt;&lt;div id=&quot;ann_1138_956735&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_956735');&quot;  onmouseout=&quot;bgOff('ann_1138_956735');&quot; onclick=&quot;xt_clic('S','Monde');window.open('http://boutique.lemonde.fr/boutique/')&quot;&gt;Boutique du &lt;i&gt;Monde&lt;/i&gt;&lt;/div&gt;&lt;div id=&quot;ann_1138_625730&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_625730');&quot;  onmouseout=&quot;bgOff('ann_1138_625730');&quot; onclick=&quot;xt_clic('N','Aide');window.location='http://www.lemonde.fr/web/articleinteractif/0,41-0@2-3388,49-625731,0.html'&quot;&gt;Aide&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1139&quot; class=&quot;nv-gr-2&quot; onmouseover=&quot;showMenu('ann_1139');&quot; onmouseout=&quot;hideMenu('ann_1139');&quot;&gt;&lt;div id=&quot;ann_1139_1247&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1139_1247');&quot;  onmouseout=&quot;bgOff('ann_1139_1247');&quot; onclick=&quot;xt_clic('S','Emploi');window.open('http://www.talents.fr/web/sequence/0,2-3504,1-0,0.html')&quot;&gt;Emploi&lt;/div&gt;&lt;div id=&quot;ann_1139_676409&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1139_676409');&quot;  onmouseout=&quot;bgOff('ann_1139_676409');&quot; onclick=&quot;xt_clic('S','Formation');window.open('http://formation.talents.fr')&quot;&gt;Formation&lt;/div&gt;&lt;div id=&quot;ann_1139_726179&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1139_726179');&quot;  onmouseout=&quot;bgOff('ann_1139_726179');&quot; onclick=&quot;xt_clic('S','Rencontres');window.open('http://rencontres.lemonde.fr/?source=nav')&quot;&gt;Rencontres&lt;/div&gt;&lt;div id=&quot;ann_1139_1248&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1139_1248');&quot;  onmouseout=&quot;bgOff('ann_1139_1248');&quot; onclick=&quot;xt_clic('S','Immobilier');window.open('http://lemonde.immostreet.com')&quot;&gt;Immobilier&lt;/div&gt;&lt;div id=&quot;ann_1139_930635&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1139_930635');&quot;  onmouseout=&quot;bgOff('ann_1139_930635');&quot; onclick=&quot;xt_clic('S','Faire-part');window.open('http://fairepart.lemonde.fr/faire-part/accueil.html')&quot;&gt;Faire-part&lt;/div&gt;&lt;div id=&quot;ann_1139_631389&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1139_631389');&quot;  onmouseout=&quot;bgOff('ann_1139_631389');&quot; onclick=&quot;xt_clic('S','Nautisme');window.open('http://nautisme.lemonde.fr/')&quot;&gt;Nautisme&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1140&quot; class=&quot;nv-ab-2&quot; onmouseover=&quot;showMenu('ann_1140');&quot; onmouseout=&quot;hideMenu('ann_1140');&quot;&gt;&lt;div id=&quot;ann_1140_1202&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_1202');&quot;  onmouseout=&quot;bgOff('ann_1140_1202');&quot; onclick=&quot;xt_clic('N','Le Desk');window.location='http://abonnes.lemonde.fr/web/desk/0,26-3424,1-0,0.html'&quot;&gt;Le Desk&lt;/div&gt;&lt;div id=&quot;ann_1140_1207&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_1207');&quot;  onmouseout=&quot;bgOff('ann_1140_1207');&quot; onclick=&quot;xt_clic('N','Les images');window.location='http://abonnes.lemonde.fr/web/actuimgs/0,14-0,1-0,0.html'&quot;&gt;Les images&lt;/div&gt;&lt;div id=&quot;ann_1140_1208&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_1208');&quot;  onmouseout=&quot;bgOff('ann_1140_1208');&quot; onclick=&quot;xt_clic('N','Les depeches');window.location='http://abonnes.lemonde.fr/web/depeches/0,14-0,7-0,0.html'&quot;&gt;Les d&#233;p&#234;ches&lt;/div&gt;&lt;div id=&quot;ann_1140_1253&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_1253');&quot;  onmouseout=&quot;bgOff('ann_1140_1253');&quot; onclick=&quot;xt_clic('N','Les videos');window.location='http://abonnes.lemonde.fr/web/videos/0,26-0,59-0,0.html'&quot;&gt;Les vid&#233;os&lt;/div&gt;&lt;div id=&quot;ann_1140_1209&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_1209');&quot;  onmouseout=&quot;bgOff('ann_1140_1209');&quot; onclick=&quot;xt_clic('N','Monde');window.location='http://abonnes.lemonde.fr/web/tstitres/0,26-0,45-0,0.html'&quot;&gt;Le &lt;i&gt;Monde&lt;/i&gt; en html&lt;/div&gt;&lt;div id=&quot;ann_1140_1210&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_1210');&quot;  onmouseout=&quot;bgOff('ann_1140_1210');&quot; onclick=&quot;xt_clic('N','La Une en 8 clics');window.location='http://abonnes.lemonde.fr/web/une8/0,26-0,1-0,0.html'&quot;&gt;La Une en 8 clics&lt;/div&gt;&lt;div id=&quot;ann_1140_755961&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_755961');&quot;  onmouseout=&quot;bgOff('ann_1140_755961');&quot; onclick=&quot;xt_clic('N','Decouvrez');window.location='http://abonnes.lemonde.fr/web/teaser/1,22-0,1-0,0.html'&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;D&#233;couvrez&lt;br/&gt;l'&#233;dition abonn&#233;s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1141&quot; class=&quot;nv-ab-2&quot; onmouseover=&quot;showMenu('ann_1141');&quot; onmouseout=&quot;hideMenu('ann_1141');&quot;&gt;&lt;div id=&quot;ann_1141_1203&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1141_1203');&quot;  onmouseout=&quot;bgOff('ann_1141_1203');&quot; onclick=&quot;xt_clic('N','Monde');window.location='http://abonnes.lemonde.fr/web/tstitres/0,26-0,45-0,0.html'&quot;&gt;Le &lt;i&gt;Monde&lt;/i&gt; en html&lt;/div&gt;&lt;div id=&quot;ann_1141_688060&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1141_688060');&quot;  onmouseout=&quot;bgOff('ann_1141_688060');&quot; onclick=&quot;xt_clic('N','ELPAISplus');window.location='http://abonnes.lemonde.fr/web/kiosque_elpais/0,50-0,1-0,0.html'&quot;&gt;ELPAISplus&lt;/div&gt;&lt;div id=&quot;ann_1141_755962&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1141_755962');&quot;  onmouseout=&quot;bgOff('ann_1141_755962');&quot; onclick=&quot;xt_clic('N','Decouvrez');window.location='http://abonnes.lemonde.fr/web/teaser/1,22-0,1-0,0.html'&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;D&#233;couvrez&lt;br/&gt;l'&#233;dition abonn&#233;s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1142&quot; class=&quot;nv-ab-2&quot; onmouseover=&quot;showMenu('ann_1142');&quot; onmouseout=&quot;hideMenu('ann_1142');&quot;&gt;&lt;div id=&quot;ann_1142_1223&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1142_1223');&quot;  onmouseout=&quot;bgOff('ann_1142_1223');&quot; onclick=&quot;xt_clic('N','Check-list');window.location='http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-0@60-7@45-2,0.html'&quot;&gt;Check-list&lt;/div&gt;&lt;div id=&quot;ann_1142_1250&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1142_1250');&quot;  onmouseout=&quot;bgOff('ann_1142_1250');&quot; onclick=&quot;xt_clic('N','Que dit Le Monde&amp;nbsp;?');window.location='http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-0@60-20@45-2,0.html'&quot;&gt;Que dit Le Monde&amp;nbsp;?&lt;/div&gt;&lt;div id=&quot;ann_1142_1251&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1142_1251');&quot;  onmouseout=&quot;bgOff('ann_1142_1251');&quot; onclick=&quot;xt_clic('N','La 12:15');window.location='http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-0@60-22@45-2,0.html'&quot;&gt;La 12:15&lt;/div&gt;&lt;div id=&quot;ann_1142_1252&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1142_1252');&quot;  onmouseout=&quot;bgOff('ann_1142_1252');&quot; onclick=&quot;xt_clic('N','Les titres du jour');window.location='http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-0@60-5@45-2,0.html'&quot;&gt;Les titres du jour&lt;/div&gt;&lt;div id=&quot;ann_1142_845966&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1142_845966');&quot;  onmouseout=&quot;bgOff('ann_1142_845966');&quot; onclick=&quot;xt_clic('N','Examens 2007');window.location='http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-0@60-6@45-2,0.html'&quot;&gt;Examens 2007&lt;/div&gt;&lt;div id=&quot;ann_1142_755963&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1142_755963');&quot;  onmouseout=&quot;bgOff('ann_1142_755963');&quot; onclick=&quot;xt_clic('N','Decouvrez');window.location='http://abonnes.lemonde.fr/web/teaser/1,22-0,1-0,0.html'&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;D&#233;couvrez&lt;br/&gt;l'&#233;dition abonn&#233;s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1143&quot; class=&quot;nv-ab-2&quot; onmouseover=&quot;showMenu('ann_1143');&quot; onmouseout=&quot;hideMenu('ann_1143');&quot;&gt;&lt;div id=&quot;ann_1143_1211&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1143_1211');&quot;  onmouseout=&quot;bgOff('ann_1143_1211');&quot; onclick=&quot;xt_clic('N','Multimedia');window.location='http://abonnes.lemonde.fr/web/multimedia/0,45-0,1-0,0.html'&quot;&gt;Multim&#233;dia&lt;/div&gt;&lt;div id=&quot;ann_1143_1212&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1143_1212');&quot;  onmouseout=&quot;bgOff('ann_1143_1212');&quot; onclick=&quot;xt_clic('N','Dessins');window.location='http://abonnes.lemonde.fr/web/galerie/0,29-0,31-0,0.html'&quot;&gt;Dessins&lt;/div&gt;&lt;div id=&quot;ann_1143_1213&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1143_1213');&quot;  onmouseout=&quot;bgOff('ann_1143_1213');&quot; onclick=&quot;xt_clic('N','Images du jour');window.location='http://abonnes.lemonde.fr/web/imgsdactu/0,29-0,31-0,0.html'&quot;&gt;Images du jour&lt;/div&gt;&lt;div id=&quot;ann_1143_934459&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1143_934459');&quot;  onmouseout=&quot;bgOff('ann_1143_934459');&quot; onclick=&quot;xt_clic('N','Galerie SIPA');window.location='http://abonnes.lemonde.fr/web/sipa/0,29-0,31-0,0.html'&quot;&gt;Galerie SIPA&lt;/div&gt;&lt;div id=&quot;ann_1143_1245&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1143_1245');&quot;  onmouseout=&quot;bgOff('ann_1143_1245');&quot; onclick=&quot;xt_clic('N','Bande-son');window.location='http://abonnes.lemonde.fr/web/bande_son/0,34-0,1-0,0.html'&quot;&gt;Bande-son&lt;/div&gt;&lt;div id=&quot;ann_1143_755964&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1143_755964');&quot;  onmouseout=&quot;bgOff('ann_1143_755964');&quot; onclick=&quot;xt_clic('N','Decouvrez');window.location='http://abonnes.lemonde.fr/web/teaser/1,22-0,1-0,0.html'&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;D&#233;couvrez&lt;br/&gt;l'&#233;dition abonn&#233;s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1144&quot; class=&quot;nv-ab-2&quot; onmouseover=&quot;showMenu('ann_1144');&quot; onmouseout=&quot;hideMenu('ann_1144');&quot;&gt;&lt;div id=&quot;ann_1144_1216&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1216');&quot;  onmouseout=&quot;bgOff('ann_1144_1216');&quot; onclick=&quot;xt_clic('N','Dossiers');window.location='http://abonnes.lemonde.fr/web/tld/0,3-0,14-0,0.html'&quot;&gt;Dossiers&lt;/div&gt;&lt;div id=&quot;ann_1144_1217&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1217');&quot;  onmouseout=&quot;bgOff('ann_1144_1217');&quot; onclick=&quot;xt_clic('N','Thematiques');window.location='http://abonnes.lemonde.fr/web/tdm/0,42-0,53-0,0.html'&quot;&gt;Th&#233;matiques&lt;/div&gt;&lt;div id=&quot;ann_1144_1218&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1218');&quot;  onmouseout=&quot;bgOff('ann_1144_1218');&quot; onclick=&quot;xt_clic('N','Reperes');window.location='http://abonnes.lemonde.fr/web/tlr/0,11-0,32-0,0.html'&quot;&gt;Rep&#232;res&lt;/div&gt;&lt;div id=&quot;ann_1144_1219&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1219');&quot;  onmouseout=&quot;bgOff('ann_1144_1219');&quot; onclick=&quot;xt_clic('N','Cyberadresses');window.location='http://abonnes.lemonde.fr/web/cyberadresses/0,44-0,36-625738,0.html'&quot;&gt;Cyberadresses&lt;/div&gt;&lt;div id=&quot;ann_1144_1222&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1222');&quot;  onmouseout=&quot;bgOff('ann_1144_1222');&quot; onclick=&quot;xt_clic('N','Fiches pays');window.location='http://abonnes.lemonde.fr/web/fichespays/0,43-0,36-0,0.html'&quot;&gt;Fiches pays&lt;/div&gt;&lt;div id=&quot;ann_1144_1220&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1220');&quot;  onmouseout=&quot;bgOff('ann_1144_1220');&quot; onclick=&quot;xt_clic('N','Annales du bac');window.location='http://abonnes.lemonde.fr/web/education/bac_annales/0,36-0,45-0@45-0,0.html'&quot;&gt;Annales du bac&lt;/div&gt;&lt;div id=&quot;ann_1144_788948&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_788948');&quot;  onmouseout=&quot;bgOff('ann_1144_788948');&quot; onclick=&quot;xt_clic('N','Les resultats du bac 2007');window.location='http://abonnes.lemonde.fr/web/education/bac_resultats/0,38-0,45-0@45-0,0.html '&quot;&gt;Les r&#233;sultats du bac 2007&lt;/div&gt;&lt;div id=&quot;ann_1144_920849&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_920849');&quot;  onmouseout=&quot;bgOff('ann_1144_920849');&quot; onclick=&quot;xt_clic('N','Corriges du bac');window.location='http://abonnes.lemonde.fr/web/education/bac_corriges/0,35-0,45-0@45-0,0.html'&quot;&gt;Corrig&#233;s du bac&lt;/div&gt;&lt;div id=&quot;ann_1144_1221&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1221');&quot;  onmouseout=&quot;bgOff('ann_1144_1221');&quot; onclick=&quot;xt_clic('N','Base elections');window.location='http://abonnes.lemonde.fr/web/elections/0,37-0,47-0,0.html'&quot;&gt;Base &#233;lections&lt;/div&gt;&lt;div id=&quot;ann_1144_876036&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_876036');&quot;  onmouseout=&quot;bgOff('ann_1144_876036');&quot; onclick=&quot;xt_clic('N','Etudes');window.location='http://abonnes.lemonde.fr/web/eco/etudes/0,61-0@2-3234,1-0,0.html?NAV1=ETU&amp;NAV2=NONE'&quot;&gt;Etudes&lt;/div&gt;&lt;div id=&quot;ann_1144_755965&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_755965');&quot;  onmouseout=&quot;bgOff('ann_1144_755965');&quot; onclick=&quot;xt_clic('N','Decouvrez');window.location='http://abonnes.lemonde.fr/web/teaser/1,22-0,1-0,0.html'&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;D&#233;couvrez&lt;br/&gt;l'&#233;dition abonn&#233;s&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_755967&quot; class=&quot;nv-gr-2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;script language=javascript&gt;
+               &lt;/table&gt;&lt;div id=&quot;mc_ann_1136&quot; class=&quot;nv-gr-2&quot; onmouseover=&quot;showMenu('ann_1136');&quot; onmouseout=&quot;hideMenu('ann_1136');&quot;&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1129&quot; class=&quot;nv-gr-2&quot; onmouseover=&quot;showMenu('ann_1129');&quot; onmouseout=&quot;hideMenu('ann_1129');&quot;&gt;&lt;div id=&quot;ann_1129_1131&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1131');&quot;  onmouseout=&quot;bgOff('ann_1129_1131');&quot; onclick=&quot;xt_clic('N','A la Une');window.location='http://www.lemonde.fr/web/sequence/0,2-3208,1-0,0.html'&quot;&gt;A la Une&lt;/div&gt;&lt;div id=&quot;ann_1129_1132&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1129_1132');&quot;  onmouseout=&quot;bgOff('ann_1129_1132');&quot; onclick=&quot;xt_clic('N','Le Desk');window.location='http://abonnes.lemonde.fr/web/desk/0,26-3424,1-0,0.html'&quot;&gt;Le Desk&lt;/div&gt;&lt;div id=&quot;ann_1129_845873&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_845873');&quot;  onmouseout=&quot;bgOff('ann_1129_845873');&quot; onclick=&quot;xt_clic('N','Videos');window.location='http://www.lemonde.fr/web/les_videos/0,59-0,64-882644,0.html'&quot;&gt;Vid&#239;&#191;&#189;os&lt;/div&gt;&lt;div id=&quot;ann_1129_1133&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1133');&quot;  onmouseout=&quot;bgOff('ann_1129_1133');&quot; onclick=&quot;xt_clic('N','International');window.location='http://www.lemonde.fr/web/sequence/0,2-3210,1-0,0.html'&quot;&gt;International&lt;/div&gt;&lt;div id=&quot;ann_1129_1224&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1224');&quot;  onmouseout=&quot;bgOff('ann_1129_1224');&quot; onclick=&quot;xt_clic('N','Europe');window.location='http://www.lemonde.fr/web/sequence/0,2-3214,1-0,0.html'&quot;&gt;Europe&lt;/div&gt;&lt;div id=&quot;ann_1129_961459&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_961459');&quot;  onmouseout=&quot;bgOff('ann_1129_961459');&quot; onclick=&quot;xt_clic('N','Politique');window.location='http://www.lemonde.fr/web/sequence/0,2-823448,1-0,0.html'&quot;&gt;Politique&lt;/div&gt;&lt;div id=&quot;ann_1129_1226&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1226');&quot;  onmouseout=&quot;bgOff('ann_1129_1226');&quot; onclick=&quot;xt_clic('N','Societe');window.location='http://www.lemonde.fr/web/sequence/0,2-3224,1-0,0.html'&quot;&gt;Soci&#239;&#191;&#189;t&#239;&#191;&#189;&lt;/div&gt;&lt;div id=&quot;ann_1129_629295&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_629295');&quot;  onmouseout=&quot;bgOff('ann_1129_629295');&quot; onclick=&quot;xt_clic('N','Carnet');window.location='http://www.lemonde.fr/web/sequence/0,2-3382,1-0,0.html'&quot;&gt;Carnet&lt;/div&gt;&lt;div id=&quot;ann_1129_1228&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1228');&quot;  onmouseout=&quot;bgOff('ann_1129_1228');&quot; onclick=&quot;xt_clic('N','Economie');window.location='http://www.lemonde.fr/web/sequence/0,2-3234,1-0,0.html'&quot;&gt;Economie&lt;/div&gt;&lt;div id=&quot;ann_1129_1229&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1229');&quot;  onmouseout=&quot;bgOff('ann_1129_1229');&quot; onclick=&quot;xt_clic('N','Medias');window.location='http://www.lemonde.fr/web/sequence/0,2-3236,1-0,0.html'&quot;&gt;M&#239;&#191;&#189;dias&lt;/div&gt;&lt;div id=&quot;ann_1129_1235&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1235');&quot;  onmouseout=&quot;bgOff('ann_1129_1235');&quot; onclick=&quot;xt_clic('N','Meteo');window.location='http://www.lemonde.fr/web/meteo/0,31-0,42-0,0.html'&quot;&gt;M&#239;&#191;&#189;t&#239;&#191;&#189;o&lt;/div&gt;&lt;div id=&quot;ann_1129_1230&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1230');&quot;  onmouseout=&quot;bgOff('ann_1129_1230');&quot; onclick=&quot;xt_clic('N','Rendez-vous');window.location='http://www.lemonde.fr/web/sequence/0,2-3238,1-0,0.html'&quot;&gt;Rendez-vous&lt;/div&gt;&lt;div id=&quot;ann_1129_1231&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1231');&quot;  onmouseout=&quot;bgOff('ann_1129_1231');&quot; onclick=&quot;xt_clic('N','Sports');window.location='http://www.lemonde.fr/web/sequence/0,2-3242,1-0,0.html'&quot;&gt;Sports&lt;/div&gt;&lt;div id=&quot;ann_1129_1233&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1233');&quot;  onmouseout=&quot;bgOff('ann_1129_1233');&quot; onclick=&quot;xt_clic('N','Environnement, Sciences');window.location='http://www.lemonde.fr/web/sequence/0,2-3244,1-0,0.html'&quot;&gt;Environnement, Sciences&lt;/div&gt;&lt;div id=&quot;ann_1129_743034&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_743034');&quot;  onmouseout=&quot;bgOff('ann_1129_743034');&quot; onclick=&quot;xt_clic('N','Technologies');window.location='http://www.lemonde.fr/web/sequence/0,2-651865,1-0,0.html'&quot;&gt;Technologies&lt;/div&gt;&lt;div id=&quot;ann_1129_1232&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_1232');&quot;  onmouseout=&quot;bgOff('ann_1129_1232');&quot; onclick=&quot;xt_clic('N','Culture');window.location='http://www.lemonde.fr/web/sequence/0,2-3246,1-0,0.html'&quot;&gt;Culture&lt;/div&gt;&lt;div id=&quot;ann_1129_944555&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1129_944555');&quot;  onmouseout=&quot;bgOff('ann_1129_944555');&quot; onclick=&quot;xt_clic('N','RSS');window.location='http://www.lemonde.fr/web/rss/0,48-0,1-0,0.html'&quot;&gt;RSS&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1130&quot; class=&quot;nv-gr-2&quot; onmouseover=&quot;showMenu('ann_1130');&quot; onmouseout=&quot;hideMenu('ann_1130');&quot;&gt;&lt;div id=&quot;ann_1130_1134&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1130_1134');&quot;  onmouseout=&quot;bgOff('ann_1130_1134');&quot; onclick=&quot;xt_clic('N','Opinions');window.location='http://www.lemonde.fr/web/sequence/0,2-3232,1-0,0.html'&quot;&gt;Opinions&lt;/div&gt;&lt;div id=&quot;ann_1130_1236&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1130_1236');&quot;  onmouseout=&quot;bgOff('ann_1130_1236');&quot; onclick=&quot;xt_clic('N','Blogs');window.location='http://www.lemonde.fr/web/blogs/0,39-0,48-0,0.html'&quot;&gt;Blogs&lt;/div&gt;&lt;div id=&quot;ann_1130_1135&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1130_1135');&quot;  onmouseout=&quot;bgOff('ann_1130_1135');&quot; onclick=&quot;xt_clic('S','Forums');window.open('http://forums.lemonde.fr')&quot;&gt;Forums&lt;/div&gt;&lt;div id=&quot;ann_1130_1201&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1130_1201');&quot;  onmouseout=&quot;bgOff('ann_1130_1201');&quot; onclick=&quot;xt_clic('N','Chats');window.location='http://www.lemonde.fr/web/chats/0,46-0,55-0,0.html'&quot;&gt;Chats&lt;/div&gt;&lt;div id=&quot;ann_1130_1237&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1130_1237');&quot;  onmouseout=&quot;bgOff('ann_1130_1237');&quot; onclick=&quot;xt_clic('N','Sondages');window.location='http://www.lemonde.fr/web/votreavis/0,25-0@2-3208,1-0,0.html'&quot;&gt;Sondages&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1138&quot; class=&quot;nv-gr-2&quot; onmouseover=&quot;showMenu('ann_1138');&quot; onmouseout=&quot;hideMenu('ann_1138');&quot;&gt;&lt;div id=&quot;ann_1138_1242&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_1242');&quot;  onmouseout=&quot;bgOff('ann_1138_1242');&quot; onclick=&quot;xt_clic('N','Meteo');window.location='http://www.lemonde.fr/web/meteo/0,31-0,42-0,0.html'&quot;&gt;M&#239;&#191;&#189;t&#239;&#191;&#189;o&lt;/div&gt;&lt;div id=&quot;ann_1138_1239&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_1239');&quot;  onmouseout=&quot;bgOff('ann_1138_1239');&quot; onclick=&quot;xt_clic('N','Cinema');window.location='http://www.lemonde.fr/web/sequence/0,2-3476,1-0,0.html'&quot;&gt;Cin&#239;&#191;&#189;ma&lt;/div&gt;&lt;div id=&quot;ann_1138_1240&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_1240');&quot;  onmouseout=&quot;bgOff('ann_1138_1240');&quot; onclick=&quot;xt_clic('N','Livres');window.location='http://www.lemonde.fr/web/sequence/0,2-3260,1-0,0.html'&quot;&gt;Livres&lt;/div&gt;&lt;div id=&quot;ann_1138_1243&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_1243');&quot;  onmouseout=&quot;bgOff('ann_1138_1243');&quot; onclick=&quot;xt_clic('N','Voyages');window.location='http://www.lemonde.fr/web/sequence/0,2-3546,1-0,0.html'&quot;&gt;Voyages&lt;/div&gt;&lt;div id=&quot;ann_1138_700364&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_700364');&quot;  onmouseout=&quot;bgOff('ann_1138_700364');&quot; onclick=&quot;xt_clic('N','Technologies');window.location='http://www.lemonde.fr/web/sequence/0,2-651865,1-0,0.html'&quot;&gt;Technologies&lt;/div&gt;&lt;div id=&quot;ann_1138_737426&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_737426');&quot;  onmouseout=&quot;bgOff('ann_1138_737426');&quot; onclick=&quot;xt_clic('N','Trafic IDF');window.location='http://www.lemonde.fr/web/traficidf/0,53-0,1-0,0.html'&quot;&gt;Trafic IDF&lt;/div&gt;&lt;div id=&quot;ann_1138_625729&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_625729');&quot;  onmouseout=&quot;bgOff('ann_1138_625729');&quot; onclick=&quot;xt_clic('N','Examens 2007');window.location='http://www.lemonde.fr/web/sequence/0,2-3404,1-0,0.html'&quot;&gt;Examens 2007&lt;/div&gt;&lt;div id=&quot;ann_1138_1244&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_1244');&quot;  onmouseout=&quot;bgOff('ann_1138_1244');&quot; onclick=&quot;xt_clic('N','Savoirs');window.location='http://www.lemonde.fr/web/sequence/0,2-3328,1-0,0.html'&quot;&gt;Savoirs&lt;/div&gt;&lt;div id=&quot;ann_1138_1246&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_1246');&quot;  onmouseout=&quot;bgOff('ann_1138_1246');&quot; onclick=&quot;xt_clic('N','Jeux');window.location='http://www.lemonde.fr/web/sequence/0,2-3280,1-0,0.html'&quot;&gt;Jeux&lt;/div&gt;&lt;div id=&quot;ann_1138_761079&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_761079');&quot;  onmouseout=&quot;bgOff('ann_1138_761079');&quot; onclick=&quot;xt_clic('S','Shopping');window.open('http://shop.lemonde.fr')&quot;&gt;Shopping&lt;/div&gt;&lt;div id=&quot;ann_1138_928320&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_928320');&quot;  onmouseout=&quot;bgOff('ann_1138_928320');&quot; onclick=&quot;xt_clic('S','Le Monde');window.open('http://eu.link.decdna.net/n/14763/31113/www.lemonde.fr/1mpqoym;11;4;;690;;689z4l;;;;;1;/i/c?0&amp;pq=%2fabojournal%2f%3fxtor%3dAL%2d32280084')&quot;&gt;Abonnement journal &lt;i&gt;Le Monde&lt;/i&gt;&lt;/div&gt;&lt;div id=&quot;ann_1138_956735&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_956735');&quot;  onmouseout=&quot;bgOff('ann_1138_956735');&quot; onclick=&quot;xt_clic('S','Monde');window.open('http://boutique.lemonde.fr/boutique/')&quot;&gt;Boutique du &lt;i&gt;Monde&lt;/i&gt;&lt;/div&gt;&lt;div id=&quot;ann_1138_625730&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1138_625730');&quot;  onmouseout=&quot;bgOff('ann_1138_625730');&quot; onclick=&quot;xt_clic('N','Aide');window.location='http://www.lemonde.fr/web/articleinteractif/0,41-0@2-3388,49-625731,0.html'&quot;&gt;Aide&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1139&quot; class=&quot;nv-gr-2&quot; onmouseover=&quot;showMenu('ann_1139');&quot; onmouseout=&quot;hideMenu('ann_1139');&quot;&gt;&lt;div id=&quot;ann_1139_1247&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1139_1247');&quot;  onmouseout=&quot;bgOff('ann_1139_1247');&quot; onclick=&quot;xt_clic('S','Emploi');window.open('http://www.talents.fr/web/sequence/0,2-3504,1-0,0.html')&quot;&gt;Emploi&lt;/div&gt;&lt;div id=&quot;ann_1139_676409&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1139_676409');&quot;  onmouseout=&quot;bgOff('ann_1139_676409');&quot; onclick=&quot;xt_clic('S','Formation');window.open('http://formation.talents.fr')&quot;&gt;Formation&lt;/div&gt;&lt;div id=&quot;ann_1139_726179&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1139_726179');&quot;  onmouseout=&quot;bgOff('ann_1139_726179');&quot; onclick=&quot;xt_clic('S','Rencontres');window.open('http://rencontres.lemonde.fr/?source=nav')&quot;&gt;Rencontres&lt;/div&gt;&lt;div id=&quot;ann_1139_1248&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1139_1248');&quot;  onmouseout=&quot;bgOff('ann_1139_1248');&quot; onclick=&quot;xt_clic('S','Immobilier');window.open('http://lemonde.immostreet.com')&quot;&gt;Immobilier&lt;/div&gt;&lt;div id=&quot;ann_1139_930635&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1139_930635');&quot;  onmouseout=&quot;bgOff('ann_1139_930635');&quot; onclick=&quot;xt_clic('S','Faire-part');window.open('http://fairepart.lemonde.fr/faire-part/accueil.html')&quot;&gt;Faire-part&lt;/div&gt;&lt;div id=&quot;ann_1139_631389&quot;  class=&quot;nv-gr&quot; onmouseover=&quot;bgOn('ann_1139_631389');&quot;  onmouseout=&quot;bgOff('ann_1139_631389');&quot; onclick=&quot;xt_clic('S','Nautisme');window.open('http://nautisme.lemonde.fr/')&quot;&gt;Nautisme&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1140&quot; class=&quot;nv-ab-2&quot; onmouseover=&quot;showMenu('ann_1140');&quot; onmouseout=&quot;hideMenu('ann_1140');&quot;&gt;&lt;div id=&quot;ann_1140_1202&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_1202');&quot;  onmouseout=&quot;bgOff('ann_1140_1202');&quot; onclick=&quot;xt_clic('N','Le Desk');window.location='http://abonnes.lemonde.fr/web/desk/0,26-3424,1-0,0.html'&quot;&gt;Le Desk&lt;/div&gt;&lt;div id=&quot;ann_1140_1207&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_1207');&quot;  onmouseout=&quot;bgOff('ann_1140_1207');&quot; onclick=&quot;xt_clic('N','Les images');window.location='http://abonnes.lemonde.fr/web/actuimgs/0,14-0,1-0,0.html'&quot;&gt;Les images&lt;/div&gt;&lt;div id=&quot;ann_1140_1208&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_1208');&quot;  onmouseout=&quot;bgOff('ann_1140_1208');&quot; onclick=&quot;xt_clic('N','Les depeches');window.location='http://abonnes.lemonde.fr/web/depeches/0,14-0,7-0,0.html'&quot;&gt;Les d&#239;&#191;&#189;p&#239;&#191;&#189;ches&lt;/div&gt;&lt;div id=&quot;ann_1140_1253&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_1253');&quot;  onmouseout=&quot;bgOff('ann_1140_1253');&quot; onclick=&quot;xt_clic('N','Les videos');window.location='http://abonnes.lemonde.fr/web/videos/0,26-0,59-0,0.html'&quot;&gt;Les vid&#239;&#191;&#189;os&lt;/div&gt;&lt;div id=&quot;ann_1140_1209&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_1209');&quot;  onmouseout=&quot;bgOff('ann_1140_1209');&quot; onclick=&quot;xt_clic('N','Monde');window.location='http://abonnes.lemonde.fr/web/tstitres/0,26-0,45-0,0.html'&quot;&gt;Le &lt;i&gt;Monde&lt;/i&gt; en html&lt;/div&gt;&lt;div id=&quot;ann_1140_1210&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_1210');&quot;  onmouseout=&quot;bgOff('ann_1140_1210');&quot; onclick=&quot;xt_clic('N','La Une en 8 clics');window.location='http://abonnes.lemonde.fr/web/une8/0,26-0,1-0,0.html'&quot;&gt;La Une en 8 clics&lt;/div&gt;&lt;div id=&quot;ann_1140_755961&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1140_755961');&quot;  onmouseout=&quot;bgOff('ann_1140_755961');&quot; onclick=&quot;xt_clic('N','Decouvrez');window.location='http://abonnes.lemonde.fr/web/teaser/1,22-0,1-0,0.html'&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;D&#239;&#191;&#189;couvrez&lt;br/&gt;l'&#239;&#191;&#189;dition abonn&#239;&#191;&#189;s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1141&quot; class=&quot;nv-ab-2&quot; onmouseover=&quot;showMenu('ann_1141');&quot; onmouseout=&quot;hideMenu('ann_1141');&quot;&gt;&lt;div id=&quot;ann_1141_1203&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1141_1203');&quot;  onmouseout=&quot;bgOff('ann_1141_1203');&quot; onclick=&quot;xt_clic('N','Monde');window.location='http://abonnes.lemonde.fr/web/tstitres/0,26-0,45-0,0.html'&quot;&gt;Le &lt;i&gt;Monde&lt;/i&gt; en html&lt;/div&gt;&lt;div id=&quot;ann_1141_688060&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1141_688060');&quot;  onmouseout=&quot;bgOff('ann_1141_688060');&quot; onclick=&quot;xt_clic('N','ELPAISplus');window.location='http://abonnes.lemonde.fr/web/kiosque_elpais/0,50-0,1-0,0.html'&quot;&gt;ELPAISplus&lt;/div&gt;&lt;div id=&quot;ann_1141_755962&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1141_755962');&quot;  onmouseout=&quot;bgOff('ann_1141_755962');&quot; onclick=&quot;xt_clic('N','Decouvrez');window.location='http://abonnes.lemonde.fr/web/teaser/1,22-0,1-0,0.html'&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;D&#239;&#191;&#189;couvrez&lt;br/&gt;l'&#239;&#191;&#189;dition abonn&#239;&#191;&#189;s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1142&quot; class=&quot;nv-ab-2&quot; onmouseover=&quot;showMenu('ann_1142');&quot; onmouseout=&quot;hideMenu('ann_1142');&quot;&gt;&lt;div id=&quot;ann_1142_1223&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1142_1223');&quot;  onmouseout=&quot;bgOff('ann_1142_1223');&quot; onclick=&quot;xt_clic('N','Check-list');window.location='http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-0@60-7@45-2,0.html'&quot;&gt;Check-list&lt;/div&gt;&lt;div id=&quot;ann_1142_1250&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1142_1250');&quot;  onmouseout=&quot;bgOff('ann_1142_1250');&quot; onclick=&quot;xt_clic('N','Que dit Le Monde&amp;nbsp;?');window.location='http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-0@60-20@45-2,0.html'&quot;&gt;Que dit Le Monde&amp;nbsp;?&lt;/div&gt;&lt;div id=&quot;ann_1142_1251&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1142_1251');&quot;  onmouseout=&quot;bgOff('ann_1142_1251');&quot; onclick=&quot;xt_clic('N','La 12:15');window.location='http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-0@60-22@45-2,0.html'&quot;&gt;La 12:15&lt;/div&gt;&lt;div id=&quot;ann_1142_1252&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1142_1252');&quot;  onmouseout=&quot;bgOff('ann_1142_1252');&quot; onclick=&quot;xt_clic('N','Les titres du jour');window.location='http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-0@60-5@45-2,0.html'&quot;&gt;Les titres du jour&lt;/div&gt;&lt;div id=&quot;ann_1142_845966&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1142_845966');&quot;  onmouseout=&quot;bgOff('ann_1142_845966');&quot; onclick=&quot;xt_clic('N','Examens 2007');window.location='http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-0@60-6@45-2,0.html'&quot;&gt;Examens 2007&lt;/div&gt;&lt;div id=&quot;ann_1142_755963&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1142_755963');&quot;  onmouseout=&quot;bgOff('ann_1142_755963');&quot; onclick=&quot;xt_clic('N','Decouvrez');window.location='http://abonnes.lemonde.fr/web/teaser/1,22-0,1-0,0.html'&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;D&#239;&#191;&#189;couvrez&lt;br/&gt;l'&#239;&#191;&#189;dition abonn&#239;&#191;&#189;s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1143&quot; class=&quot;nv-ab-2&quot; onmouseover=&quot;showMenu('ann_1143');&quot; onmouseout=&quot;hideMenu('ann_1143');&quot;&gt;&lt;div id=&quot;ann_1143_1211&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1143_1211');&quot;  onmouseout=&quot;bgOff('ann_1143_1211');&quot; onclick=&quot;xt_clic('N','Multimedia');window.location='http://abonnes.lemonde.fr/web/multimedia/0,45-0,1-0,0.html'&quot;&gt;Multim&#239;&#191;&#189;dia&lt;/div&gt;&lt;div id=&quot;ann_1143_1212&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1143_1212');&quot;  onmouseout=&quot;bgOff('ann_1143_1212');&quot; onclick=&quot;xt_clic('N','Dessins');window.location='http://abonnes.lemonde.fr/web/galerie/0,29-0,31-0,0.html'&quot;&gt;Dessins&lt;/div&gt;&lt;div id=&quot;ann_1143_1213&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1143_1213');&quot;  onmouseout=&quot;bgOff('ann_1143_1213');&quot; onclick=&quot;xt_clic('N','Images du jour');window.location='http://abonnes.lemonde.fr/web/imgsdactu/0,29-0,31-0,0.html'&quot;&gt;Images du jour&lt;/div&gt;&lt;div id=&quot;ann_1143_934459&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1143_934459');&quot;  onmouseout=&quot;bgOff('ann_1143_934459');&quot; onclick=&quot;xt_clic('N','Galerie SIPA');window.location='http://abonnes.lemonde.fr/web/sipa/0,29-0,31-0,0.html'&quot;&gt;Galerie SIPA&lt;/div&gt;&lt;div id=&quot;ann_1143_1245&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1143_1245');&quot;  onmouseout=&quot;bgOff('ann_1143_1245');&quot; onclick=&quot;xt_clic('N','Bande-son');window.location='http://abonnes.lemonde.fr/web/bande_son/0,34-0,1-0,0.html'&quot;&gt;Bande-son&lt;/div&gt;&lt;div id=&quot;ann_1143_755964&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1143_755964');&quot;  onmouseout=&quot;bgOff('ann_1143_755964');&quot; onclick=&quot;xt_clic('N','Decouvrez');window.location='http://abonnes.lemonde.fr/web/teaser/1,22-0,1-0,0.html'&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;D&#239;&#191;&#189;couvrez&lt;br/&gt;l'&#239;&#191;&#189;dition abonn&#239;&#191;&#189;s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_1144&quot; class=&quot;nv-ab-2&quot; onmouseover=&quot;showMenu('ann_1144');&quot; onmouseout=&quot;hideMenu('ann_1144');&quot;&gt;&lt;div id=&quot;ann_1144_1216&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1216');&quot;  onmouseout=&quot;bgOff('ann_1144_1216');&quot; onclick=&quot;xt_clic('N','Dossiers');window.location='http://abonnes.lemonde.fr/web/tld/0,3-0,14-0,0.html'&quot;&gt;Dossiers&lt;/div&gt;&lt;div id=&quot;ann_1144_1217&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1217');&quot;  onmouseout=&quot;bgOff('ann_1144_1217');&quot; onclick=&quot;xt_clic('N','Thematiques');window.location='http://abonnes.lemonde.fr/web/tdm/0,42-0,53-0,0.html'&quot;&gt;Th&#239;&#191;&#189;matiques&lt;/div&gt;&lt;div id=&quot;ann_1144_1218&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1218');&quot;  onmouseout=&quot;bgOff('ann_1144_1218');&quot; onclick=&quot;xt_clic('N','Reperes');window.location='http://abonnes.lemonde.fr/web/tlr/0,11-0,32-0,0.html'&quot;&gt;Rep&#239;&#191;&#189;res&lt;/div&gt;&lt;div id=&quot;ann_1144_1219&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1219');&quot;  onmouseout=&quot;bgOff('ann_1144_1219');&quot; onclick=&quot;xt_clic('N','Cyberadresses');window.location='http://abonnes.lemonde.fr/web/cyberadresses/0,44-0,36-625738,0.html'&quot;&gt;Cyberadresses&lt;/div&gt;&lt;div id=&quot;ann_1144_1222&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1222');&quot;  onmouseout=&quot;bgOff('ann_1144_1222');&quot; onclick=&quot;xt_clic('N','Fiches pays');window.location='http://abonnes.lemonde.fr/web/fichespays/0,43-0,36-0,0.html'&quot;&gt;Fiches pays&lt;/div&gt;&lt;div id=&quot;ann_1144_1220&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1220');&quot;  onmouseout=&quot;bgOff('ann_1144_1220');&quot; onclick=&quot;xt_clic('N','Annales du bac');window.location='http://abonnes.lemonde.fr/web/education/bac_annales/0,36-0,45-0@45-0,0.html'&quot;&gt;Annales du bac&lt;/div&gt;&lt;div id=&quot;ann_1144_788948&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_788948');&quot;  onmouseout=&quot;bgOff('ann_1144_788948');&quot; onclick=&quot;xt_clic('N','Les resultats du bac 2007');window.location='http://abonnes.lemonde.fr/web/education/bac_resultats/0,38-0,45-0@45-0,0.html '&quot;&gt;Les r&#239;&#191;&#189;sultats du bac 2007&lt;/div&gt;&lt;div id=&quot;ann_1144_920849&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_920849');&quot;  onmouseout=&quot;bgOff('ann_1144_920849');&quot; onclick=&quot;xt_clic('N','Corriges du bac');window.location='http://abonnes.lemonde.fr/web/education/bac_corriges/0,35-0,45-0@45-0,0.html'&quot;&gt;Corrig&#239;&#191;&#189;s du bac&lt;/div&gt;&lt;div id=&quot;ann_1144_1221&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_1221');&quot;  onmouseout=&quot;bgOff('ann_1144_1221');&quot; onclick=&quot;xt_clic('N','Base elections');window.location='http://abonnes.lemonde.fr/web/elections/0,37-0,47-0,0.html'&quot;&gt;Base &#239;&#191;&#189;lections&lt;/div&gt;&lt;div id=&quot;ann_1144_876036&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_876036');&quot;  onmouseout=&quot;bgOff('ann_1144_876036');&quot; onclick=&quot;xt_clic('N','Etudes');window.location='http://abonnes.lemonde.fr/web/eco/etudes/0,61-0@2-3234,1-0,0.html?NAV1=ETU&amp;NAV2=NONE'&quot;&gt;Etudes&lt;/div&gt;&lt;div id=&quot;ann_1144_755965&quot;  class=&quot;nv-ab&quot; onmouseover=&quot;bgOn('ann_1144_755965');&quot;  onmouseout=&quot;bgOff('ann_1144_755965');&quot; onclick=&quot;xt_clic('N','Decouvrez');window.location='http://abonnes.lemonde.fr/web/teaser/1,22-0,1-0,0.html'&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;D&#239;&#191;&#189;couvrez&lt;br/&gt;l'&#239;&#191;&#189;dition abonn&#239;&#191;&#189;s&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;mc_ann_755967&quot; class=&quot;nv-gr-2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;script language=javascript&gt;
                   num = parseInt(Math.random()*2);
                   xnum = num+1;
                   div = 'm_abogold'+xnum;
@@ -478,7 +478,7 @@ var daym=mydate.getDate();
 if (daym&lt;10)
 daym=&quot;0&quot;+daym
 var dayarray=new Array(&quot;Dimanche&quot;,&quot;Lundi&quot;,&quot;Mardi&quot;,&quot;Mercredi&quot;,&quot;Jeudi&quot;,&quot;Vendredi&quot;,&quot;Samedi&quot;);
-var montharray=new Array(&quot;janvier&quot;,&quot;f&#233;vrier&quot;,&quot;mars&quot;,&quot;avril&quot;,&quot;mai&quot;,&quot;juin&quot;,&quot;juillet&quot;,&quot;ao&#251;t&quot;,&quot;septembre&quot;,&quot;octobre&quot;,&quot;novembre&quot;,&quot;d&#233;cembre&quot;);
+var montharray=new Array(&quot;janvier&quot;,&quot;f&#239;&#191;&#189;vrier&quot;,&quot;mars&quot;,&quot;avril&quot;,&quot;mai&quot;,&quot;juin&quot;,&quot;juillet&quot;,&quot;ao&#239;&#191;&#189;t&quot;,&quot;septembre&quot;,&quot;octobre&quot;,&quot;novembre&quot;,&quot;d&#239;&#191;&#189;cembre&quot;);
 document.write(&quot;&quot;+dayarray[day]+&quot; &quot;+daym+&quot; &quot;+montharray[month]+&quot; &quot;+year+&quot;&quot;);
 
 //--&gt;
@@ -490,11 +490,11 @@ document.write(&quot;&quot;+dayarray[day]+&quot; &quot;+daym+&quot; &quot;+montharray[month]+&quot; &quot;+year+&quot;&quot;);
 &lt;!-- /info_sq_1_zone --&gt;
 &lt;!-- fin insertion page partagee http://www.lemonde.fr/web/page_partagee/0,15-8,1-0,0.html --&gt;&lt;!-- /gab-ssq-insert_page_partagee.php --&gt;&lt;!-- gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 &lt;table width=1000 cellpadding=0 cellspacing=0 bgcolor=e7e7e7&gt;&lt;tr&gt;&lt;td align=center&gt;&lt;script language=JavaScript&gt;OAS_AD('Top1');&lt;/script&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
- 
+
 &lt;!-- gab-pv-bandeau_haut_alerte.php --&gt;
 &lt;!-- debut bulletin alerte: /web/bulletin_alerte/0,0-0,1-0,0.html --&gt;&lt;!-- Rosae:: mardi 13 novembre 2007 13:18:42.18760 0.037 terre --&gt;
 
- 
+
 &lt;!-- fin bulletin alerte --&gt;
 &lt;!-- /gab-pv-bandeau_haut_alerte.php --&gt;
 &lt;!-- /gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
@@ -505,7 +505,7 @@ document.write(&quot;&quot;+dayarray[day]+&quot; &quot;+daym+&quot; &quot;+montharray[month]+&quot; &quot;+year+&quot;&quot;);
          &lt;div class=pg-gch&gt;
             &lt;!-- gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 
- &lt;!-- gab-pv-sequence_une_normale_zone_a_titre1.php --&gt; 
+ &lt;!-- gab-pv-sequence_une_normale_zone_a_titre1.php --&gt;
 
          &lt;table width=&quot;450&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
             &lt;tr valign=&quot;top&quot;&gt;
@@ -513,33 +513,33 @@ document.write(&quot;&quot;+dayarray[day]+&quot; &quot;+daym+&quot; &quot;+montharray[month]+&quot; &quot;+year+&quot;&quot;);
             &lt;/tr&gt;
             &lt;tr valign=&quot;top&quot;&gt;
                &lt;td class=&quot;desc&quot;&gt;
-                  &lt;div id=&quot;description_977705&quot;&gt;Que feront les syndicats si leur gr&#232;ve est un succ&#232;s mais que le gouvernement ne change rien &#224; sa r&#233;forme des r&#233;gimes sp&#233;ciaux ?&lt;/div&gt;&lt;div class=&quot;type&quot;&gt;Pratique &lt;a href=&quot;/web/article/0,1-0@2-823448,36-977710@51-973287,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977710&quot; &gt;Les lignes de TGV et le m&#233;tro parisien seront tr&#232;s perturb&#233;s&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;type&quot;&gt;Compte rendu &lt;a href=&quot;/web/article/0,1-0@2-3224,36-977568@51-973287,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977568&quot; &gt;R&#233;gimes sp&#233;ciaux : M. Thibault re&#231;u par M. Bertrand, Mme Idrac pr&#244;ne la n&#233;gociation&lt;/a&gt;&lt;/div&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977677@51-973287,0.html&quot;  class=&quot;type&quot; name=&quot;lien&quot; itemid=&quot;977677&quot; &gt;Analyse&lt;/a&gt; | &lt;a href=&quot;/web/article/0,1-0@2-3224,36-977560@51-973287,0.html&quot;  class=&quot;type&quot; name=&quot;lien&quot; itemid=&quot;977560&quot; &gt;Revue de presse&lt;/a&gt; | &lt;a href=&quot;/web/article/0,1-0@2-3224,36-977573@51-973287,0.html&quot;  class=&quot;type&quot; name=&quot;lien&quot; itemid=&quot;977573&quot; &gt;Les faits&lt;/a&gt;&lt;br&gt;
+                  &lt;div id=&quot;description_977705&quot;&gt;Que feront les syndicats si leur gr&#239;&#191;&#189;ve est un succ&#239;&#191;&#189;s mais que le gouvernement ne change rien &#239;&#191;&#189; sa r&#239;&#191;&#189;forme des r&#239;&#191;&#189;gimes sp&#239;&#191;&#189;ciaux ?&lt;/div&gt;&lt;div class=&quot;type&quot;&gt;Pratique &lt;a href=&quot;/web/article/0,1-0@2-823448,36-977710@51-973287,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977710&quot; &gt;Les lignes de TGV et le m&#239;&#191;&#189;tro parisien seront tr&#239;&#191;&#189;s perturb&#239;&#191;&#189;s&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;type&quot;&gt;Compte rendu &lt;a href=&quot;/web/article/0,1-0@2-3224,36-977568@51-973287,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977568&quot; &gt;R&#239;&#191;&#189;gimes sp&#239;&#191;&#189;ciaux : M. Thibault re&#239;&#191;&#189;u par M. Bertrand, Mme Idrac pr&#239;&#191;&#189;ne la n&#239;&#191;&#189;gociation&lt;/a&gt;&lt;/div&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977677@51-973287,0.html&quot;  class=&quot;type&quot; name=&quot;lien&quot; itemid=&quot;977677&quot; &gt;Analyse&lt;/a&gt; | &lt;a href=&quot;/web/article/0,1-0@2-3224,36-977560@51-973287,0.html&quot;  class=&quot;type&quot; name=&quot;lien&quot; itemid=&quot;977560&quot; &gt;Revue de presse&lt;/a&gt; | &lt;a href=&quot;/web/article/0,1-0@2-3224,36-977573@51-973287,0.html&quot;  class=&quot;type&quot; name=&quot;lien&quot; itemid=&quot;977573&quot; &gt;Les faits&lt;/a&gt;&lt;br&gt;
                &lt;/td&gt;
                &lt;td align=right&gt;
-                  &lt;a href=&quot;/web/article/0,1-0@2-823448,36-977705@51-973287,0.html&quot;  &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_2_ill_977914_cgt.jpg width=228 height=152 border=0 alt='Le secr&#233;taire g&#233;n&#233;ral de la f&#233;d&#233;ration des cheminots CGT Didier Le Reste, le 31 octobre 2007 au si&#232;ge de la CGT &#224; Montreuil. | AFP/BERTRAND GUAY' title='Le secr&#233;taire g&#233;n&#233;ral de la f&#233;d&#233;ration des cheminots CGT Didier Le Reste, le 31 octobre 2007 au si&#232;ge de la CGT &#224; Montreuil. | AFP/BERTRAND GUAY' align=left vspace=4 hspace=4&gt;&lt;/a&gt;
+                  &lt;a href=&quot;/web/article/0,1-0@2-823448,36-977705@51-973287,0.html&quot;  &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_2_ill_977914_cgt.jpg width=228 height=152 border=0 alt='Le secr&#239;&#191;&#189;taire g&#239;&#191;&#189;n&#239;&#191;&#189;ral de la f&#239;&#191;&#189;d&#239;&#191;&#189;ration des cheminots CGT Didier Le Reste, le 31 octobre 2007 au si&#239;&#191;&#189;ge de la CGT &#239;&#191;&#189; Montreuil. | AFP/BERTRAND GUAY' title='Le secr&#239;&#191;&#189;taire g&#239;&#191;&#189;n&#239;&#191;&#189;ral de la f&#239;&#191;&#189;d&#239;&#191;&#189;ration des cheminots CGT Didier Le Reste, le 31 octobre 2007 au si&#239;&#191;&#189;ge de la CGT &#239;&#191;&#189; Montreuil. | AFP/BERTRAND GUAY' align=left vspace=4 hspace=4&gt;&lt;/a&gt;
                &lt;/td&gt;
             &lt;/tr&gt;
          &lt;/table&gt;
          &lt;div class=ligne&gt;&amp;nbsp;&lt;/div&gt;
 &lt;!-- /gab-pv-sequence_une_normale_zone_a_titre1.php--&gt;
-&lt;!-- gab-pv-sequence_une_normale_zone_a_titre2.php --&gt; 
+&lt;!-- gab-pv-sequence_une_normale_zone_a_titre2.php --&gt;
 
-         &lt;div class=tit2&gt;&lt;a href=&quot;/web/article/0,1-0@2-3234,36-977727@51-977835,0.html&quot;  id=&quot;titre_977727&quot; name=&quot;lien&quot; itemid=&quot;977727&quot;&gt;Emirates veut faire de Duba&#239; une plaque tournante du trafic a&#233;rien&lt;/a&gt;&lt;/div&gt;
-         &lt;div id=&quot;description_977727&quot;&gt; &quot;Le mod&#232;le &#233;conomique d'Emirates consiste &#224; d&#233;tourner le flux de passagers transitant par l'Europe vers son hub de Duba&#239;&quot;, explique un consultant.&lt;/div&gt;
-         &lt;div class=&quot;type&quot;&gt;Infographie &lt;a href=&quot;/web/infog/0,47-0@2-3234,54-977639@51-977835,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977639&quot; &gt;Emirates est devenu, en tr&#232;s peu de temps, une des premi&#232;res compagnies mondiales&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;type&quot;&gt;Les faits &lt;a href=&quot;/web/article/0,1-0@2-3234,36-977065@51-977835,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977065&quot; &gt;Commande record de Duba&#239; Emirates &#224; Airbus&lt;/a&gt;&lt;/div&gt;        
+         &lt;div class=tit2&gt;&lt;a href=&quot;/web/article/0,1-0@2-3234,36-977727@51-977835,0.html&quot;  id=&quot;titre_977727&quot; name=&quot;lien&quot; itemid=&quot;977727&quot;&gt;Emirates veut faire de Duba&#239;&#191;&#189; une plaque tournante du trafic a&#239;&#191;&#189;rien&lt;/a&gt;&lt;/div&gt;
+         &lt;div id=&quot;description_977727&quot;&gt; &quot;Le mod&#239;&#191;&#189;le &#239;&#191;&#189;conomique d'Emirates consiste &#239;&#191;&#189; d&#239;&#191;&#189;tourner le flux de passagers transitant par l'Europe vers son hub de Duba&#239;&#191;&#189;&quot;, explique un consultant.&lt;/div&gt;
+         &lt;div class=&quot;type&quot;&gt;Infographie &lt;a href=&quot;/web/infog/0,47-0@2-3234,54-977639@51-977835,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977639&quot; &gt;Emirates est devenu, en tr&#239;&#191;&#189;s peu de temps, une des premi&#239;&#191;&#189;res compagnies mondiales&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;type&quot;&gt;Les faits &lt;a href=&quot;/web/article/0,1-0@2-3234,36-977065@51-977835,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977065&quot; &gt;Commande record de Duba&#239;&#191;&#189; Emirates &#239;&#191;&#189; Airbus&lt;/a&gt;&lt;/div&gt;
          &lt;div class=ligne&gt;&amp;nbsp;&lt;/div&gt;
 &lt;!-- /gab-pv-sequence_une_normale_zone_a_titre2.php--&gt;
-&lt;!-- gab-pv-sequence_une_normale_zone_a_titre2.php --&gt; 
+&lt;!-- gab-pv-sequence_une_normale_zone_a_titre2.php --&gt;
 
-         &lt;div class=tit2&gt;&lt;a href=&quot;/web/article/0,1-0@2-3218,36-977682@51-891944,0.html&quot;  id=&quot;titre_977682&quot; name=&quot;lien&quot; itemid=&quot;977682&quot;&gt;R&#233;union d'Annapolis : Ehoud Olmert confront&#233; &#224; une forte opposition en Isra&#235;l&lt;/a&gt;&lt;/div&gt;
-         &lt;div class=&quot;type&quot;&gt;Les faits &lt;a href=&quot;/web/article/0,1-0@2-3218,36-977683@51-891944,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977683&quot; &gt;A Gaza, le Hamas tire sur le Fatah qui c&#233;l&#233;brait la m&#233;moire de Yasser Arafat&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;type&quot;&gt;Reportage &lt;a href=&quot;/web/article/0,1-0@2-3218,36-976413@51-891944,0.html&quot;  name=&quot;lien&quot; itemid=&quot;976413&quot; &gt;Gaza, terre fant&#244;me des m&#233;dias isra&#233;liens&lt;/a&gt;&lt;/div&gt;        
+         &lt;div class=tit2&gt;&lt;a href=&quot;/web/article/0,1-0@2-3218,36-977682@51-891944,0.html&quot;  id=&quot;titre_977682&quot; name=&quot;lien&quot; itemid=&quot;977682&quot;&gt;R&#239;&#191;&#189;union d'Annapolis : Ehoud Olmert confront&#239;&#191;&#189; &#239;&#191;&#189; une forte opposition en Isra&#239;&#191;&#189;l&lt;/a&gt;&lt;/div&gt;
+         &lt;div class=&quot;type&quot;&gt;Les faits &lt;a href=&quot;/web/article/0,1-0@2-3218,36-977683@51-891944,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977683&quot; &gt;A Gaza, le Hamas tire sur le Fatah qui c&#239;&#191;&#189;l&#239;&#191;&#189;brait la m&#239;&#191;&#189;moire de Yasser Arafat&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;type&quot;&gt;Reportage &lt;a href=&quot;/web/article/0,1-0@2-3218,36-976413@51-891944,0.html&quot;  name=&quot;lien&quot; itemid=&quot;976413&quot; &gt;Gaza, terre fant&#239;&#191;&#189;me des m&#239;&#191;&#189;dias isra&#239;&#191;&#189;liens&lt;/a&gt;&lt;/div&gt;
          &lt;div class=ligne&gt;&amp;nbsp;&lt;/div&gt;
 &lt;!-- /gab-pv-sequence_une_normale_zone_a_titre2.php--&gt;&lt;!-- /gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 
             &lt;!-- gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 
 
-&lt;!-- gab-pv-sequence_une_zone_b.php --&gt;  
+&lt;!-- gab-pv-sequence_une_zone_b.php --&gt;
 
          &lt;div style='width:450px'&gt;
          &lt;div class=zone-b&gt;
@@ -549,41 +549,41 @@ document.write(&quot;&quot;+dayarray[day]+&quot; &quot;+daym+&quot; &quot;+montharray[month]+&quot; &quot;+year+&quot;&quot;);
          &lt;/div&gt;
          &lt;!-- /gab-pv-sequence_une_zone_b.php--&gt;
 
-&lt;!-- gab-pv-sequence_une_zone_b.php --&gt;  
+&lt;!-- gab-pv-sequence_une_zone_b.php --&gt;
 
          &lt;div style='width:450px'&gt;
          &lt;div class=zone-b&gt;
-         &lt;div class=tit3&gt;&lt;a href=&quot;/web/article/0,1-0@2-3214,36-977668@51-951246,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977668&quot;&gt;&lt;b id=&quot;titre_977668&quot;&gt;Nicolas Sarkozy d&#233;fend sa politique &#233;conomique devant le Parlement europ&#233;en&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
+         &lt;div class=tit3&gt;&lt;a href=&quot;/web/article/0,1-0@2-3214,36-977668@51-951246,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977668&quot;&gt;&lt;b id=&quot;titre_977668&quot;&gt;Nicolas Sarkozy d&#239;&#191;&#189;fend sa politique &#239;&#191;&#189;conomique devant le Parlement europ&#239;&#191;&#189;en&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
          &lt;br&gt;
          &lt;/div&gt;
          &lt;/div&gt;
          &lt;!-- /gab-pv-sequence_une_zone_b.php--&gt;
 
-&lt;!-- gab-pv-sequence_une_zone_b.php --&gt;  
+&lt;!-- gab-pv-sequence_une_zone_b.php --&gt;
 
          &lt;div style='width:450px'&gt;
          &lt;div class=zone-b&gt;
-         &lt;div class=tit3&gt;&lt;a href=&quot;/web/article/0,1-0@2-3212,36-977663@51-754471,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977663&quot;&gt;&lt;b id=&quot;titre_977663&quot;&gt;173 000 personnes ont fui Mogadiscio au cours des deux derni&#232;res semaines&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
+         &lt;div class=tit3&gt;&lt;a href=&quot;/web/article/0,1-0@2-3212,36-977663@51-754471,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977663&quot;&gt;&lt;b id=&quot;titre_977663&quot;&gt;173 000 personnes ont fui Mogadiscio au cours des deux derni&#239;&#191;&#189;res semaines&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
          &lt;br&gt;
          &lt;/div&gt;
          &lt;/div&gt;
          &lt;!-- /gab-pv-sequence_une_zone_b.php--&gt;
 
-&lt;!-- gab-pv-sequence_une_zone_b.php --&gt;  
+&lt;!-- gab-pv-sequence_une_zone_b.php --&gt;
 
          &lt;div style='width:450px'&gt;
          &lt;div class=zone-b&gt;
-         &lt;div class=tit3&gt;&lt;a href=&quot;/web/article/0,1-0@2-3260,36-960052@51-973997,0.html&quot;  name=&quot;lien&quot; itemid=&quot;960052&quot;&gt;&lt;b id=&quot;titre_960052&quot;&gt;Le prix Interalli&#233; attribu&#233; &#224; Christophe Ono-dit-Biot &lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
+         &lt;div class=tit3&gt;&lt;a href=&quot;/web/article/0,1-0@2-3260,36-960052@51-973997,0.html&quot;  name=&quot;lien&quot; itemid=&quot;960052&quot;&gt;&lt;b id=&quot;titre_960052&quot;&gt;Le prix Interalli&#239;&#191;&#189; attribu&#239;&#191;&#189; &#239;&#191;&#189; Christophe Ono-dit-Biot &lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
           &lt;a href=&quot;/web/portfolio/0,12-0@2-3246,31-977650@51-973997,0.html&quot;  class=&quot;type&quot; name=&quot;lien&quot; itemid=&quot;977650&quot; &gt;Portfolio&lt;/a&gt; | &lt;a href=&quot;/web/article/0,1-0@2-3260,36-977457@51-973997,0.html&quot;  class=&quot;type&quot; name=&quot;lien&quot; itemid=&quot;977457&quot; &gt;Les faits&lt;/a&gt; | &lt;a href=&quot;/web/blog/0,39-0,48-969558,0.html&quot; target=_blank class=&quot;type&quot; name=&quot;lien&quot; itemid=&quot;969558&quot; &gt;Blog&lt;/a&gt;&lt;br&gt;
          &lt;/div&gt;
          &lt;/div&gt;
          &lt;!-- /gab-pv-sequence_une_zone_b.php--&gt;
 
-&lt;!-- gab-pv-sequence_une_zone_b.php --&gt;  
+&lt;!-- gab-pv-sequence_une_zone_b.php --&gt;
 
          &lt;div style='width:450px'&gt;
          &lt;div class=zone-b&gt;
-         &lt;div class=tit3&gt;&lt;a href=&quot;/web/article/0,1-0@2-3214,36-977254@51-970782,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977254&quot;&gt;&lt;b id=&quot;titre_977254&quot;&gt;Les Danois se prononcent sur l'alliance des lib&#233;raux avec l'extr&#234;me droite&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
+         &lt;div class=tit3&gt;&lt;a href=&quot;/web/article/0,1-0@2-3214,36-977254@51-970782,0.html&quot;  name=&quot;lien&quot; itemid=&quot;977254&quot;&gt;&lt;b id=&quot;titre_977254&quot;&gt;Les Danois se prononcent sur l'alliance des lib&#239;&#191;&#189;raux avec l'extr&#239;&#191;&#189;me droite&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
          &lt;br&gt;
          &lt;/div&gt;
          &lt;/div&gt;
@@ -592,7 +592,7 @@ document.write(&quot;&quot;+dayarray[day]+&quot; &quot;+daym+&quot; &quot;+montharray[month]+&quot; &quot;+year+&quot;&quot;);
          &lt;/div&gt;
          &lt;!-- gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 
-&lt;!-- gab-pv-barre_outils_une.php --&gt; 
+&lt;!-- gab-pv-barre_outils_une.php --&gt;
    &lt;table width=&quot;459&quot; cellpadding=&quot;1&quot; cellspacing=&quot;1&quot; border=&quot;0&quot; class=&quot;br-out&quot;&gt;
       &lt;tr valign=&quot;middle&quot;&gt;
          &lt;td style=&quot;border-right:solid 1px #336699&quot;&gt;&lt;a href=&quot;javascript:ouvrir_jelec();&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/pdf.gif&quot; alt=&quot;&quot; width=&quot;18&quot; height=&quot;17&quot; border=&quot;0&quot; hspace=&quot;4&quot; align=&quot;absmiddle&quot;&gt;Journal Electronique&lt;/a&gt;&lt;/td&gt;
@@ -608,26 +608,26 @@ document.write(&quot;&quot;+dayarray[day]+&quot; &quot;+daym+&quot; &quot;+montharray[month]+&quot; &quot;+year+&quot;&quot;);
 
 &lt;!-- /gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 
- 
+
          &lt;div class=pg-gch&gt;
             &lt;!-- gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 &lt;center&gt;&lt;script language=JavaScript&gt;OAS_AD('Frame2');&lt;/script&gt;&lt;/center&gt;
 &lt;!-- gab-pv-liste_seqs_speciales.php --&gt;
 &lt;!-- /gab-pv-liste_seqs_speciales.php --&gt;&lt;!-- /gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 
- 
+
             &lt;!-- gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 
 
-      
-     
-                  
-                
-                
-&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt; 
-&lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3210,1-0,0.html&quot;&gt;INTERNATIONAL&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977704@51-925598,0.html'&gt;La coalition allemande rallonge la dur&#233;e d'indemnit&#233; pour les ch&#244;meurs &#226;g&#233;s&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3234,36-976883@51-925598,0.html'&gt;Les faits&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977703@51-974215,0.html'&gt;Rome demande une modification des r&#232;gles de libre circulation dans l'Union europ&#233;enne&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977701@51-977361,0.html'&gt;Paris et Berlin lancent une politique d'immigration commune&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3214,36-977256@51-977361,0.html'&gt;Cadrage&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977690@51-973116,0.html'&gt;Election pr&#233;sidentielle : l'opposition g&#233;orgienne d&#233;signe son candidat contre M. Saakachvili&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3214,36-976855@51-973116,0.html'&gt;Eclairage&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3214,36-976856@51-973116,0.html'&gt;Entretien&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977752@51-972553,0.html'&gt;Grigori Pasko, en dissidence surveill&#233;e&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-609984,36-977638@51-972553,0.html'&gt;Compte rendu&lt;/a&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
 
-   
+
+
+
+
+&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt;
+&lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3210,1-0,0.html&quot;&gt;INTERNATIONAL&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977704@51-925598,0.html'&gt;La coalition allemande rallonge la dur&#239;&#191;&#189;e d'indemnit&#239;&#191;&#189; pour les ch&#239;&#191;&#189;meurs &#239;&#191;&#189;g&#239;&#191;&#189;s&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3234,36-976883@51-925598,0.html'&gt;Les faits&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977703@51-974215,0.html'&gt;Rome demande une modification des r&#239;&#191;&#189;gles de libre circulation dans l'Union europ&#239;&#191;&#189;enne&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977701@51-977361,0.html'&gt;Paris et Berlin lancent une politique d'immigration commune&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3214,36-977256@51-977361,0.html'&gt;Cadrage&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977690@51-973116,0.html'&gt;Election pr&#239;&#191;&#189;sidentielle : l'opposition g&#239;&#191;&#189;orgienne d&#239;&#191;&#189;signe son candidat contre M. Saakachvili&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3214,36-976855@51-973116,0.html'&gt;Eclairage&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3214,36-976856@51-973116,0.html'&gt;Entretien&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977752@51-972553,0.html'&gt;Grigori Pasko, en dissidence surveill&#239;&#191;&#189;e&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-609984,36-977638@51-972553,0.html'&gt;Compte rendu&lt;/a&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
+
+
 &lt;!-- ENTETE_GABARIT
 [objets]
 nom_objet_entree  = _scr_liste_articles
@@ -636,38 +636,38 @@ ENTETE_GABARIT --&gt;
 
 
 
-&lt;!-- gab-pv-appel_sequence_opinions_centre.php --&gt;  
+&lt;!-- gab-pv-appel_sequence_opinions_centre.php --&gt;
 
       &lt;div class=&quot;saut_ligne&quot; style=&quot;height:16px;&quot;&gt;&lt;/div&gt;
       &lt;a href=&quot;/web/sequence/0,2-3232,1-0,0.html&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/1024_op_extra_wide.gif&quot; alt=&quot;Opinions&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
       &lt;div class=box&gt;
          &lt;div style=&quot;float:left;width:216px;margin-right:4px;&quot;&gt;
-            &lt;div class=lien-2&gt;&lt;span class=type-gr&gt;Editorial du &quot;Monde&quot;&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977676,0.html&quot;&gt;L'universit&#233; en otage&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;span class=type-gr&gt;Analyse&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977677,0.html&quot;&gt;R&#233;gimes sp&#233;ciaux, gr&#232;ves sp&#233;ciales, par Michel Noblecourt&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;span class=type-gr&gt;Ecofrictions&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977789,0.html&quot;&gt;Frais bancaires : une loi pour rien ?, par Anne Michel&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;float:left;width:220px;margin-right:0px;&quot;&gt;&lt;div class=lien-2&gt;&lt;span class=type-gr&gt;Chronique &quot;International&quot;&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977679,0.html&quot;&gt;La mac&#233;doine, ou l'art d'accommoder les restes, par Daniel Vernet&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;span class=type-gr&gt;Vu &amp; comment&#233;&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977787,0.html&quot;&gt;La prostitution &#224; Paris, grise et banale, par Dominique Dhombres&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;span class=type-gr&gt;Billet&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977788,0.html&quot;&gt;Tsunami, par Robert Sol&#233;&lt;/a&gt;&lt;/div&gt;
+            &lt;div class=lien-2&gt;&lt;span class=type-gr&gt;Editorial du &quot;Monde&quot;&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977676,0.html&quot;&gt;L'universit&#239;&#191;&#189; en otage&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;span class=type-gr&gt;Analyse&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977677,0.html&quot;&gt;R&#239;&#191;&#189;gimes sp&#239;&#191;&#189;ciaux, gr&#239;&#191;&#189;ves sp&#239;&#191;&#189;ciales, par Michel Noblecourt&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;span class=type-gr&gt;Ecofrictions&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977789,0.html&quot;&gt;Frais bancaires : une loi pour rien ?, par Anne Michel&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;float:left;width:220px;margin-right:0px;&quot;&gt;&lt;div class=lien-2&gt;&lt;span class=type-gr&gt;Chronique &quot;International&quot;&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977679,0.html&quot;&gt;La mac&#239;&#191;&#189;doine, ou l'art d'accommoder les restes, par Daniel Vernet&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;span class=type-gr&gt;Vu &amp; comment&#239;&#191;&#189;&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977787,0.html&quot;&gt;La prostitution &#239;&#191;&#189; Paris, grise et banale, par Dominique Dhombres&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;span class=type-gr&gt;Billet&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3232,36-977788,0.html&quot;&gt;Tsunami, par Robert Sol&#239;&#191;&#189;&lt;/a&gt;&lt;/div&gt;
             &lt;div class=lien-2&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-rg.gif&quot; alt=&quot;&quot; border=&quot;0&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3232,1-0,0.html&quot;&gt;Toutes les opinions&lt;/a&gt;&lt;/div&gt;
          &lt;/div&gt;
         &lt;div class=&quot;saut_ligne&quot;&gt;&lt;/div&gt;
       &lt;/div&gt;
-      &lt;div class=&quot;saut_ligne&quot;&gt;&lt;/div&gt;&lt;!-- /gab-pv-appel_sequence_opinions_centre.php--&gt;&lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-823448,1-0,0.html&quot;&gt;POLITIQUE&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-823448,36-977722,0.html'&gt;Divorce entre M. Flosse et le gouvernement sur la r&#233;forme de la Polyn&#233;sie&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-823448,36-977710,0.html'&gt;Les lignes de TGV et le m&#233;tro parisien seront tr&#232;s perturb&#233;s&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-823448,36-977705,0.html'&gt;Les syndicats ont peur de perdre la bataille de l'opinion&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt; 
-&lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3224,1-0,0.html&quot;&gt;SOCI&#201;T&#201;&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3224,36-977614@51-976955,0.html'&gt;Yvan Colonna met en cause l'enqu&#234;te de la police&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3224,36-977721@51-976955,0.html'&gt;Compte rendu&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/son/0,54-0@2-3224,63-977536@51-976955,0.html'&gt;Audio&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3224,36-977712@51-970849,0.html'&gt;Le projet de loi de fusion ANPE-Unedic est pr&#234;t&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3234,36-977711@51-972923,0.html'&gt;Le taux de ch&#244;mage s'&#233;tablit &#224; 8,1 % au deuxi&#232;me trimestre&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-823448,36-977534@51-972923,0.html'&gt;Les faits&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
+      &lt;div class=&quot;saut_ligne&quot;&gt;&lt;/div&gt;&lt;!-- /gab-pv-appel_sequence_opinions_centre.php--&gt;&lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-823448,1-0,0.html&quot;&gt;POLITIQUE&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-823448,36-977722,0.html'&gt;Divorce entre M. Flosse et le gouvernement sur la r&#239;&#191;&#189;forme de la Polyn&#239;&#191;&#189;sie&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-823448,36-977710,0.html'&gt;Les lignes de TGV et le m&#239;&#191;&#189;tro parisien seront tr&#239;&#191;&#189;s perturb&#239;&#191;&#189;s&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-823448,36-977705,0.html'&gt;Les syndicats ont peur de perdre la bataille de l'opinion&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt;
+&lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3224,1-0,0.html&quot;&gt;SOCI&#239;&#191;&#189;T&#239;&#191;&#189;&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3224,36-977614@51-976955,0.html'&gt;Yvan Colonna met en cause l'enqu&#239;&#191;&#189;te de la police&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3224,36-977721@51-976955,0.html'&gt;Compte rendu&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/son/0,54-0@2-3224,63-977536@51-976955,0.html'&gt;Audio&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3224,36-977712@51-970849,0.html'&gt;Le projet de loi de fusion ANPE-Unedic est pr&#239;&#191;&#189;t&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3234,36-977711@51-972923,0.html'&gt;Le taux de ch&#239;&#191;&#189;mage s'&#239;&#191;&#189;tablit &#239;&#191;&#189; 8,1 % au deuxi&#239;&#191;&#189;me trimestre&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-823448,36-977534@51-972923,0.html'&gt;Les faits&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
 
-&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt; 
+&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt;
 &lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3234,1-0,0.html&quot;&gt;ECONOMIE&lt;/a&gt;&lt;/div&gt;&lt;table width='450' cellpadding='0' cellspacing='0' border='0'&gt;
                      &lt;tr valign='top'&gt;
-                        &lt;td width='87'&gt;&lt;a href='/web/article/0,1-0@2-3234,36-977728@51-974931,0.html'&gt;&lt;a href=&quot;/web/article/0,1-0@2-3234,36-977728@51-974931,0.html&quot;&gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_1_ill_861179_53026914sp001_citigroup_los.jpg width=87 height=58 border=0 alt='Le si&#232;ge de Citigroup &#224; New York City, le 7 juin 2005. La premi&#232;re banque mondiale a &#233;t&#233; duremement touch&#233;e par la crise des subprimes. | AFP/Spencer Platt' title='Le si&#232;ge de Citigroup &#224; New York City, le 7 juin 2005. La premi&#232;re banque mondiale a &#233;t&#233; duremement touch&#233;e par la crise des subprimes. | AFP/Spencer Platt' &gt;&lt;/a&gt;&lt;/a&gt;&lt;/td&gt;
+                        &lt;td width='87'&gt;&lt;a href='/web/article/0,1-0@2-3234,36-977728@51-974931,0.html'&gt;&lt;a href=&quot;/web/article/0,1-0@2-3234,36-977728@51-974931,0.html&quot;&gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_1_ill_861179_53026914sp001_citigroup_los.jpg width=87 height=58 border=0 alt='Le si&#239;&#191;&#189;ge de Citigroup &#239;&#191;&#189; New York City, le 7 juin 2005. La premi&#239;&#191;&#189;re banque mondiale a &#239;&#191;&#189;t&#239;&#191;&#189; duremement touch&#239;&#191;&#189;e par la crise des subprimes. | AFP/Spencer Platt' title='Le si&#239;&#191;&#189;ge de Citigroup &#239;&#191;&#189; New York City, le 7 juin 2005. La premi&#239;&#191;&#189;re banque mondiale a &#239;&#191;&#189;t&#239;&#191;&#189; duremement touch&#239;&#191;&#189;e par la crise des subprimes. | AFP/Spencer Platt' &gt;&lt;/a&gt;&lt;/a&gt;&lt;/td&gt;
                         &lt;td class=zoneb&gt;
-                           &lt;b&gt;&lt;a href='/web/article/0,1-0@2-3234,36-977728@51-974931,0.html'&gt;Les &quot;subprimes&quot; pourraient co&#251;ter 400 milliards de dollars aux banques&lt;/a&gt;&lt;/b&gt;
+                           &lt;b&gt;&lt;a href='/web/article/0,1-0@2-3234,36-977728@51-974931,0.html'&gt;Les &quot;subprimes&quot; pourraient co&#239;&#191;&#189;ter 400 milliards de dollars aux banques&lt;/a&gt;&lt;/b&gt;
                         &lt;/td&gt;
                      &lt;/tr&gt;
                   &lt;/table&gt;
-                  &lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3234,36-977729@51-946421,0.html'&gt;Dominique Strauss-Kahn obtient l'apurement total de la dette du Liberia&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3234,36-977730@51-946421,0.html'&gt;Zoom&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3234,36-977740@51-971495,0.html'&gt;Porsche reste le constructeur le plus rentable du monde gr&#226;ce &#224; Volkswagen&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
+                  &lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3234,36-977729@51-946421,0.html'&gt;Dominique Strauss-Kahn obtient l'apurement total de la dette du Liberia&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3234,36-977730@51-946421,0.html'&gt;Zoom&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3234,36-977740@51-971495,0.html'&gt;Porsche reste le constructeur le plus rentable du monde gr&#239;&#191;&#189;ce &#239;&#191;&#189; Volkswagen&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
 
-&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt; 
-&lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3236,1-0,0.html&quot;&gt;M&#201;DIAS&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3236,36-977744@51-977847,0.html'&gt;La grogne des radios priv&#233;es musicales&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3236,36-977746@51-977849,0.html'&gt;La diffusion des principaux journaux am&#233;ricains enregistre un recul&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3236,36-977761@51-977862,0.html'&gt;Quotidiens r&#233;gionaux : les nouveaux empires&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3236,36-977762@51-977862,0.html'&gt;Eclairage&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/infog/0,47-0@2-3234,54-977641@51-977862,0.html'&gt;Infographie&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
+&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt;
+&lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3236,1-0,0.html&quot;&gt;M&#239;&#191;&#189;DIAS&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3236,36-977744@51-977847,0.html'&gt;La grogne des radios priv&#239;&#191;&#189;es musicales&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3236,36-977746@51-977849,0.html'&gt;La diffusion des principaux journaux am&#239;&#191;&#189;ricains enregistre un recul&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3236,36-977761@51-977862,0.html'&gt;Quotidiens r&#239;&#191;&#189;gionaux : les nouveaux empires&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3236,36-977762@51-977862,0.html'&gt;Eclairage&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/infog/0,47-0@2-3234,54-977641@51-977862,0.html'&gt;Infographie&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
 
-&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt; 
-&lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3242,1-0,0.html&quot;&gt;SPORTS&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3242,36-977747@51-977081,0.html'&gt;Football : le Calcio suspendu pendant un week-end apr&#232;s l'&#233;ruption de violence de tifosi&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3242,36-977293@51-977081,0.html'&gt;Reportage&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/video/0,47-0@2-3214,54-977145@51-977081,0.html'&gt;Vid&#233;o&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3242,36-977745@51-970258,0.html'&gt;Voile : Franck Cammas et St&#232;ve Ravussin s'approchent de Salvador de Bahia&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3242,36-977290@51-970258,0.html'&gt;Compte rendu&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3242,36-976886@51-970258,0.html'&gt;Cadrage&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3242,36-977644@51-966666,0.html'&gt;Masters de Shangha&#239; : Gasquet s'offre Djokovic et pr&#233;serve ses chances&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3242,36-977289@51-966666,0.html'&gt;Compte rendu&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
+&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt;
+&lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3242,1-0,0.html&quot;&gt;SPORTS&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3242,36-977747@51-977081,0.html'&gt;Football : le Calcio suspendu pendant un week-end apr&#239;&#191;&#189;s l'&#239;&#191;&#189;ruption de violence de tifosi&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3242,36-977293@51-977081,0.html'&gt;Reportage&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/video/0,47-0@2-3214,54-977145@51-977081,0.html'&gt;Vid&#239;&#191;&#189;o&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3242,36-977745@51-970258,0.html'&gt;Voile : Franck Cammas et St&#239;&#191;&#189;ve Ravussin s'approchent de Salvador de Bahia&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3242,36-977290@51-970258,0.html'&gt;Compte rendu&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3242,36-976886@51-970258,0.html'&gt;Cadrage&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3242,36-977644@51-966666,0.html'&gt;Masters de Shangha&#239;&#191;&#189; : Gasquet s'offre Djokovic et pr&#239;&#191;&#189;serve ses chances&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3242,36-977289@51-966666,0.html'&gt;Compte rendu&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
 
-&lt;!-- gab-pv-pub_OAS_middle3-x12-x13-x14.php --&gt; 
+&lt;!-- gab-pv-pub_OAS_middle3-x12-x13-x14.php --&gt;
 &lt;div class='saut_ligne' style='height:8px;'&gt;&lt;/div&gt;
 &lt;div class='quad_pub__main'&gt;
    &lt;div class='quad_pub__pub_gauche'&gt;
@@ -691,40 +691,40 @@ ENTETE_GABARIT --&gt;
    &lt;/div&gt;
    &lt;div class='saut_ligne'&gt;&lt;/div&gt;
 &lt;/div&gt;
-&lt;!-- / gab-pv-pub_OAS_middle3-x12-x13-x14.php --&gt; &lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt; 
+&lt;!-- / gab-pv-pub_OAS_middle3-x12-x13-x14.php --&gt; &lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt;
 &lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-651865,1-0,0.html&quot;&gt;TECHNOLOGIES&lt;/a&gt;&lt;/div&gt;&lt;table width='450' cellpadding='0' cellspacing='0' border='0'&gt;
                      &lt;tr valign='top'&gt;
                         &lt;td width='87'&gt;&lt;a href='/web/article/0,1-0@2-651865,36-977479@51-968783,0.html'&gt;&lt;a href=&quot;/web/article/0,1-0@2-651865,36-977479@51-968783,0.html&quot;&gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_1_ill_977518_269599.jpg width=87 height=58 border=0 alt='Mark Zuckerberg, fondateur de Facebook. | AP' title='Mark Zuckerberg, fondateur de Facebook. | AP' &gt;&lt;/a&gt;&lt;/a&gt;&lt;/td&gt;
                         &lt;td class=zoneb&gt;
-                           &lt;b&gt;&lt;a href='/web/article/0,1-0@2-651865,36-977479@51-968783,0.html'&gt;Les membres de Facebook appellent &#224; la r&#233;sistance&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-651865,36-976841@51-968783,0.html'&gt;Compte rendu&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-651865,36-976878@51-968783,0.html'&gt;Entretien&lt;/a&gt;&lt;/b&gt;
+                           &lt;b&gt;&lt;a href='/web/article/0,1-0@2-651865,36-977479@51-968783,0.html'&gt;Les membres de Facebook appellent &#239;&#191;&#189; la r&#239;&#191;&#189;sistance&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-651865,36-976841@51-968783,0.html'&gt;Compte rendu&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-651865,36-976878@51-968783,0.html'&gt;Entretien&lt;/a&gt;&lt;/b&gt;
                         &lt;/td&gt;
                      &lt;/tr&gt;
                   &lt;/table&gt;
-                  &lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3238,36-976914@51-974274,0.html'&gt;Un cadre &#233;quip&#233; pour recevoir les photos prises d'un mobile&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3234,36-977732@51-936229,0.html'&gt;Bruxelles veut une r&#233;gulation europ&#233;enne des t&#233;l&#233;coms&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
+                  &lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3238,36-976914@51-974274,0.html'&gt;Un cadre &#239;&#191;&#189;quip&#239;&#191;&#189; pour recevoir les photos prises d'un mobile&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3234,36-977732@51-936229,0.html'&gt;Bruxelles veut une r&#239;&#191;&#189;gulation europ&#239;&#191;&#189;enne des t&#239;&#191;&#189;l&#239;&#191;&#189;coms&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
 
-&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt; 
+&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt;
 &lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3244,1-0,0.html&quot;&gt;ENVIRONNEMENT, SCIENCES&lt;/a&gt;&lt;/div&gt;&lt;table width='450' cellpadding='0' cellspacing='0' border='0'&gt;
                      &lt;tr valign='top'&gt;
-                        &lt;td width='87'&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977476@51-977481,0.html'&gt;&lt;a href=&quot;/web/article/0,1-0@2-3214,36-977476@51-977481,0.html&quot;&gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_1_ill_977477_berlin.jpg width=87 height=58 border=0 alt='La chanceli&#232;re allemande Angela Merkel et le pr&#233;sident fran&#231;ais Nicolas Sarkozy, lundi 12 novembre 2007 &#224; Berlin.  | AP/Marcus Brandt' title='La chanceli&#232;re allemande Angela Merkel et le pr&#233;sident fran&#231;ais Nicolas Sarkozy, lundi 12 novembre 2007 &#224; Berlin.  | AP/Marcus Brandt' &gt;&lt;/a&gt;&lt;/a&gt;&lt;/td&gt;
+                        &lt;td width='87'&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977476@51-977481,0.html'&gt;&lt;a href=&quot;/web/article/0,1-0@2-3214,36-977476@51-977481,0.html&quot;&gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_1_ill_977477_berlin.jpg width=87 height=58 border=0 alt='La chanceli&#239;&#191;&#189;re allemande Angela Merkel et le pr&#239;&#191;&#189;sident fran&#239;&#191;&#189;ais Nicolas Sarkozy, lundi 12 novembre 2007 &#239;&#191;&#189; Berlin.  | AP/Marcus Brandt' title='La chanceli&#239;&#191;&#189;re allemande Angela Merkel et le pr&#239;&#191;&#189;sident fran&#239;&#191;&#189;ais Nicolas Sarkozy, lundi 12 novembre 2007 &#239;&#191;&#189; Berlin.  | AP/Marcus Brandt' &gt;&lt;/a&gt;&lt;/a&gt;&lt;/td&gt;
                         &lt;td class=zoneb&gt;
-                           &lt;b&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977476@51-977481,0.html'&gt;La France et l'Allemagne affichent leur unit&#233; sur le projet Galileo&lt;/a&gt;&lt;/b&gt;
+                           &lt;b&gt;&lt;a href='/web/article/0,1-0@2-3214,36-977476@51-977481,0.html'&gt;La France et l'Allemagne affichent leur unit&#239;&#191;&#189; sur le projet Galileo&lt;/a&gt;&lt;/b&gt;
                         &lt;/td&gt;
                      &lt;/tr&gt;
                   &lt;/table&gt;
-                  &lt;div class=lien-2&gt;&lt;a href='/web/portfolio/0,12-0@2-3210,31-977667@51-976327,0.html'&gt;D&#233;but de mar&#233;e noire en mer Noire &lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3214,36-977252@51-976327,0.html'&gt;Les faits&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3244,36-977086@51-976327,0.html'&gt;Les faits&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3216,36-977304@51-977399,0.html'&gt;Inde : les chantiers interdits d'Alang&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
+                  &lt;div class=lien-2&gt;&lt;a href='/web/portfolio/0,12-0@2-3210,31-977667@51-976327,0.html'&gt;D&#239;&#191;&#189;but de mar&#239;&#191;&#189;e noire en mer Noire &lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3214,36-977252@51-976327,0.html'&gt;Les faits&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3244,36-977086@51-976327,0.html'&gt;Les faits&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3216,36-977304@51-977399,0.html'&gt;Inde : les chantiers interdits d'Alang&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
 
-&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt; 
+&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt;
 &lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3246,1-0,0.html&quot;&gt;CULTURE&lt;/a&gt;&lt;/div&gt;&lt;table width='450' cellpadding='0' cellspacing='0' border='0'&gt;
                      &lt;tr valign='top'&gt;
-                        &lt;td width='87'&gt;&lt;a href='/web/article/0,1-0@2-3246,36-977321@51-973569,0.html'&gt;&lt;a href=&quot;/web/article/0,1-0@2-3246,36-977321@51-973569,0.html&quot;&gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_1_ill_977207_recent-experiences.jpg width=87 height=58 border=0 alt='&amp;quot;Recent Experiences&amp;quot;, une pi&#232;ce de th&#233;&#226;tre d&amp;#039;Amir Reza Koohestani au Th&#233;&#226;tre de la Bastille &#224; Paris, jusqu&amp;#039;au 18 novembre 2007. | D.R.' title='&amp;quot;Recent Experiences&amp;quot;, une pi&#232;ce de th&#233;&#226;tre d&amp;#039;Amir Reza Koohestani au Th&#233;&#226;tre de la Bastille &#224; Paris, jusqu&amp;#039;au 18 novembre 2007. | D.R.' &gt;&lt;/a&gt;&lt;/a&gt;&lt;/td&gt;
+                        &lt;td width='87'&gt;&lt;a href='/web/article/0,1-0@2-3246,36-977321@51-973569,0.html'&gt;&lt;a href=&quot;/web/article/0,1-0@2-3246,36-977321@51-973569,0.html&quot;&gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_1_ill_977207_recent-experiences.jpg width=87 height=58 border=0 alt='&amp;quot;Recent Experiences&amp;quot;, une pi&#239;&#191;&#189;ce de th&#239;&#191;&#189;&#239;&#191;&#189;tre d&amp;#039;Amir Reza Koohestani au Th&#239;&#191;&#189;&#239;&#191;&#189;tre de la Bastille &#239;&#191;&#189; Paris, jusqu&amp;#039;au 18 novembre 2007. | D.R.' title='&amp;quot;Recent Experiences&amp;quot;, une pi&#239;&#191;&#189;ce de th&#239;&#191;&#189;&#239;&#191;&#189;tre d&amp;#039;Amir Reza Koohestani au Th&#239;&#191;&#189;&#239;&#191;&#189;tre de la Bastille &#239;&#191;&#189; Paris, jusqu&amp;#039;au 18 novembre 2007. | D.R.' &gt;&lt;/a&gt;&lt;/a&gt;&lt;/td&gt;
                         &lt;td class=zoneb&gt;
-                           &lt;b&gt;&lt;a href='/web/article/0,1-0@2-3246,36-977321@51-973569,0.html'&gt;Th&#233;&#226;tre : &quot;Recent Experiences&quot;, le noir destin de quatre femmes solitaires&lt;/a&gt;&lt;/b&gt;
+                           &lt;b&gt;&lt;a href='/web/article/0,1-0@2-3246,36-977321@51-973569,0.html'&gt;Th&#239;&#191;&#189;&#239;&#191;&#189;tre : &quot;Recent Experiences&quot;, le noir destin de quatre femmes solitaires&lt;/a&gt;&lt;/b&gt;
                         &lt;/td&gt;
                      &lt;/tr&gt;
                   &lt;/table&gt;
-                  &lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3260,36-977549@51-977554,0.html'&gt;&quot;XIII&quot; : un h&#233;ros, 1 million de cibles&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3260,36-977548@51-977554,0.html'&gt;Entretien&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3246,36-977309@51-977402,0.html'&gt;La guerre froide revit &#224; Moscou&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
+                  &lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3260,36-977549@51-977554,0.html'&gt;&quot;XIII&quot; : un h&#239;&#191;&#189;ros, 1 million de cibles&lt;/a&gt; |&amp;nbsp;&lt;a class=type href='/web/article/0,1-0@2-3260,36-977548@51-977554,0.html'&gt;Entretien&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href='/web/article/0,1-0@2-3246,36-977309@51-977402,0.html'&gt;La guerre froide revit &#239;&#191;&#189; Moscou&lt;/a&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_ensemble_complementaire.php--&gt;
 
-&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt; 
+&lt;!-- gab-pv-sequence_ensemble_complementaire.php --&gt;
 &lt;div class=sq-tt&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-sq.gif&quot; alt=&quot;*&quot; width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;&gt; &lt;a href=&quot;/web/sequence/0,2-3238,1-0,0.html&quot;&gt;RENDEZ-VOUS&lt;/a&gt;&lt;/div&gt;&lt;table width='450' cellpadding='0' cellspacing='0' border='0'&gt;
                      &lt;tr valign='top'&gt;
                         &lt;td width='87'&gt;&lt;a href='/web/article/0,1-0@2-3238,36-977331@51-977420,0.html'&gt;&lt;a href=&quot;/web/article/0,1-0@2-3238,36-977331@51-977420,0.html&quot;&gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2006/06/09/h_1_ill_758131_londres-drapeaux.jpg width=87 height=58 border=0 alt='Des drapeaux anglais dans les rues de Londres. | GAMMA/CAMERAPRESS/STEPHEN LOCK' title='Des drapeaux anglais dans les rues de Londres. | GAMMA/CAMERAPRESS/STEPHEN LOCK' &gt;&lt;/a&gt;&lt;/a&gt;&lt;/td&gt;
@@ -737,12 +737,12 @@ ENTETE_GABARIT --&gt;
 
 &lt;!-- /gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 
-  
+
             &lt;!-- gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
-&lt;!-- gab-pv-horizon_complementaire.php --&gt; 
+&lt;!-- gab-pv-horizon_complementaire.php --&gt;
 &lt;!-- /gab-pv-horizon_complementaire.php--&gt;&lt;!-- /gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 
-         
+
          &lt;/div&gt;
       &lt;/td&gt;
       &lt;td width=&quot;195&quot;&gt;
@@ -754,13 +754,13 @@ ENTETE_GABARIT --&gt;
 &lt;!-- DH: appel du composant: /web/depeches/cmp/0,0-0,7-37,0.html --&gt;
 &lt;!-- Rosae:: mardi 13 novembre 2007 15:33:24.3322 0.090 encelade --&gt;
 
-&lt;div class=lien-2&gt;&lt;a href=/web/depeches/0,14-0,39-33204002@7-37,0.html&gt;Retraites: Fran&#231;ois Fillon &quot;ne transigera pas sur les principes&quot;&lt;/a&gt; &lt;span class=dt&gt;Reuters 15h20&lt;/span&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href=/web/depeches/0,14-0,39-33203947@7-37,0.html&gt;Kouchner appelle &#224; un consensus sur le pr&#233;sident libanais&lt;/a&gt; &lt;span class=dt&gt;Reuters 15h17&lt;/span&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href=/web/depeches/0,14-0,39-33203873@7-37,0.html&gt;Le Hamas arr&#234;te des dizaines de membres du Fatah &#224; Gaza&lt;/a&gt; &lt;span class=dt&gt;Reuters 15h13&lt;/span&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href=/web/depeches/0,14-0,39-33203725@7-37,0.html&gt;Les Vingt-Sept en d&#233;saccord sur les dossiers fiscaux&lt;/a&gt; &lt;span class=dt&gt;Reuters 15h07&lt;/span&gt;&lt;/div&gt;&lt;!-- DH: fin appel du composant --&gt;
+&lt;div class=lien-2&gt;&lt;a href=/web/depeches/0,14-0,39-33204002@7-37,0.html&gt;Retraites: Fran&#239;&#191;&#189;ois Fillon &quot;ne transigera pas sur les principes&quot;&lt;/a&gt; &lt;span class=dt&gt;Reuters 15h20&lt;/span&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href=/web/depeches/0,14-0,39-33203947@7-37,0.html&gt;Kouchner appelle &#239;&#191;&#189; un consensus sur le pr&#239;&#191;&#189;sident libanais&lt;/a&gt; &lt;span class=dt&gt;Reuters 15h17&lt;/span&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href=/web/depeches/0,14-0,39-33203873@7-37,0.html&gt;Le Hamas arr&#239;&#191;&#189;te des dizaines de membres du Fatah &#239;&#191;&#189; Gaza&lt;/a&gt; &lt;span class=dt&gt;Reuters 15h13&lt;/span&gt;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href=/web/depeches/0,14-0,39-33203725@7-37,0.html&gt;Les Vingt-Sept en d&#239;&#191;&#189;saccord sur les dossiers fiscaux&lt;/a&gt; &lt;span class=dt&gt;Reuters 15h07&lt;/span&gt;&lt;/div&gt;&lt;!-- DH: fin appel du composant --&gt;
             &lt;div class=&quot;lien-2&quot;&gt;
-               &lt;a href=&quot;/web/depeches/0,14-0,7-37,0.html&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-rg.gif&quot; alt=&quot;&quot; border=&quot;0&quot;&gt; Toutes les d&#233;p&#234;ches&lt;/a&gt;
+               &lt;a href=&quot;/web/depeches/0,14-0,7-37,0.html&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-rg.gif&quot; alt=&quot;&quot; border=&quot;0&quot;&gt; Toutes les d&#239;&#191;&#189;p&#239;&#191;&#189;ches&lt;/a&gt;
             &lt;/div&gt;
-         &lt;/div&gt;  
+         &lt;/div&gt;
       &lt;/div&gt;
-            
+
 &lt;!-- /gab-pv-depeches_une.php contenu_id =  --&gt;
 &lt;script language=JavaScript&gt;OAS_AD('Position1');&lt;/script&gt;
 &lt;!-- gab-pv-revolutionnaire_reactions.php --&gt;
@@ -790,13 +790,13 @@ ENTETE_GABARIT --&gt;
 //--&gt;
 &lt;/script&gt;
 &lt;div class=pg-mil&gt;&lt;div class=gr-tt&gt; JOURNAL ELECTRONIQUE &lt;/div&gt;    &lt;div class=box&gt;
-     &lt;a href=&quot;javascript:ouvrir_jelec()&quot;&gt;&lt;center&gt;&lt;img src=&quot;http://www.lemonde.fr/journalelectronique/vignettes/lettre/20071114/20071114QUO.jpg&quot; border=&quot;0&quot; width=&quot;85px&quot; height=&quot;122px&quot; style=&quot;margin: 3px 0px; border-color: #bbbbbb; border-width: 1px 1px 1px 1px;&quot; alt=&quot;&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/page_2.jpg&quot; border=&quot;0&quot; width=&quot;85px&quot; height=&quot;122px&quot; style=&quot;margin: 3px 0px; border-color: #bbbbbb; border-width: 1px 1px 1px 0px;&quot; alt=&quot;&quot;&gt;&lt;/center&gt;&lt;span class=type&gt;Nouveau !&lt;/span&gt; L'&#233;dition du 14 novembre 2007 est en ligne&lt;/a&gt;
-    
+     &lt;a href=&quot;javascript:ouvrir_jelec()&quot;&gt;&lt;center&gt;&lt;img src=&quot;http://www.lemonde.fr/journalelectronique/vignettes/lettre/20071114/20071114QUO.jpg&quot; border=&quot;0&quot; width=&quot;85px&quot; height=&quot;122px&quot; style=&quot;margin: 3px 0px; border-color: #bbbbbb; border-width: 1px 1px 1px 1px;&quot; alt=&quot;&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/page_2.jpg&quot; border=&quot;0&quot; width=&quot;85px&quot; height=&quot;122px&quot; style=&quot;margin: 3px 0px; border-color: #bbbbbb; border-width: 1px 1px 1px 0px;&quot; alt=&quot;&quot;&gt;&lt;/center&gt;&lt;span class=type&gt;Nouveau !&lt;/span&gt; L'&#239;&#191;&#189;dition du 14 novembre 2007 est en ligne&lt;/a&gt;
+
     &lt;/div&gt;
     &lt;div class=box&gt;
      &lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-rg.gif&quot; alt=&quot;&quot;&gt;&lt;a href=&quot;/web/inscription_newsletter/1,27-0,1-0,0.html&quot; onclick=&quot;xt_clic('N','Recevoir newsletter JE Home')&quot;&gt;Recevez la newsletter&lt;/a&gt;
     &lt;/div&gt;
-   
+
    &lt;/div&gt;
 &lt;!-- /gab-pv-jelec_appel.php --&gt;&lt;script language=JavaScript&gt;OAS_AD('Position2');&lt;/script&gt;
 &lt;!-- /gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
@@ -807,44 +807,44 @@ ENTETE_GABARIT --&gt;
 &lt;div class=pg-mil&gt;
    &lt;div class=gr-tt&gt;BLOGS&lt;/div&gt;
    &lt;div class=box&gt;
-   
+
          &lt;div class=lien-2&gt;&lt;a href=&quot;http://chine.blog.lemonde.fr/&quot; target=_new&gt;Arty People, Party People (2/2)&lt;/a&gt;
          &lt;span class=bl-auteur&gt; par&amp;nbsp;Ji Le&lt;/span&gt; &lt;span class=leg&gt;Un oeil sur la Chine&lt;/span&gt;
       &lt;/div&gt;
-         &lt;div class=lien-2&gt;&lt;a href=&quot;http://casadei.blog.lemonde.fr/&quot; target=_new&gt;&quot;Ecrire le Liban &#224; jamais&quot;&lt;/a&gt;
-         &lt;span class=bl-auteur&gt; par&amp;nbsp;Marie Depecker&lt;/span&gt; &lt;span class=leg&gt;Regarder, vivre, &#233;crire le Liban!&lt;/span&gt;
+         &lt;div class=lien-2&gt;&lt;a href=&quot;http://casadei.blog.lemonde.fr/&quot; target=_new&gt;&quot;Ecrire le Liban &#239;&#191;&#189; jamais&quot;&lt;/a&gt;
+         &lt;span class=bl-auteur&gt; par&amp;nbsp;Marie Depecker&lt;/span&gt; &lt;span class=leg&gt;Regarder, vivre, &#239;&#191;&#189;crire le Liban!&lt;/span&gt;
       &lt;/div&gt;
          &lt;div class=lien-2&gt;&lt;a href=&quot;http://correcteurs.blog.lemonde.fr/&quot; target=_new&gt;Entre Marseille et Toulon&lt;/a&gt;
          &lt;span class=bl-auteur&gt; par&amp;nbsp;Olivier Houdart et Martine Rousseau &lt;/span&gt; &lt;span class=leg&gt;Langue sauce piquante&lt;/span&gt;
       &lt;/div&gt;
-         &lt;div class=lien-2&gt;&lt;a href=&quot;http://lesyeuxouverts.blog.lemonde.fr/&quot; target=_new&gt;Sophie apr&#232;s l'Himalaya&lt;/a&gt;
-         &lt;span class=bl-auteur&gt; par&amp;nbsp;Ludovic Maillard&lt;/span&gt; &lt;span class=leg&gt;&quot;Fran&#231;aises, Fran&#231;ais...&quot;&lt;/span&gt;
+         &lt;div class=lien-2&gt;&lt;a href=&quot;http://lesyeuxouverts.blog.lemonde.fr/&quot; target=_new&gt;Sophie apr&#239;&#191;&#189;s l'Himalaya&lt;/a&gt;
+         &lt;span class=bl-auteur&gt; par&amp;nbsp;Ludovic Maillard&lt;/span&gt; &lt;span class=leg&gt;&quot;Fran&#239;&#191;&#189;aises, Fran&#239;&#191;&#189;ais...&quot;&lt;/span&gt;
       &lt;/div&gt;
          &lt;div class=lien-2&gt;&lt;a href=&quot;http://nicerugby.blog.lemonde.fr/&quot; target=_new&gt;L'ASM Clermont Auvergne sur les chapeaux de roues&lt;/a&gt;
          &lt;span class=bl-auteur&gt; par&amp;nbsp;Paul-Henri Safayan et Julien Schramm&lt;/span&gt; &lt;span class=leg&gt;Nice rugby&lt;/span&gt;
       &lt;/div&gt;
          &lt;div class=lien-2&gt;&lt;a href=&quot;http://pisani.blog.lemonde.fr/&quot; target=_new&gt;1 laptop x enfant x 2&lt;/a&gt;
-         &lt;span class=bl-auteur&gt; par&amp;nbsp;Francis Pisani&lt;/span&gt; &lt;span class=leg&gt;Transnets, des gadgets aux r&#233;seaux&lt;/span&gt;
+         &lt;span class=bl-auteur&gt; par&amp;nbsp;Francis Pisani&lt;/span&gt; &lt;span class=leg&gt;Transnets, des gadgets aux r&#239;&#191;&#189;seaux&lt;/span&gt;
       &lt;/div&gt;
-         
+
       &lt;div class=&quot;lien-2&quot;&gt;Autres blogs&lt;br /&gt;
 
 
-        
-         &lt;a href=&quot;http://passouline.blog.lemonde.fr/&quot; target=_new&gt;&lt;img alt=&quot;La r&#233;publique des livres&quot; title=&quot;La r&#233;publique des livres&quot; border=0 width=57 src=&quot;http://medias.lemonde.fr/mmpub/edt/ill/2005/03/17/h_1_ill_626766_pierre_assouline.jpg&quot;&gt;&lt;/img&gt;&lt;/a&gt;
-      
-        
+
+         &lt;a href=&quot;http://passouline.blog.lemonde.fr/&quot; target=_new&gt;&lt;img alt=&quot;La r&#239;&#191;&#189;publique des livres&quot; title=&quot;La r&#239;&#191;&#189;publique des livres&quot; border=0 width=57 src=&quot;http://medias.lemonde.fr/mmpub/edt/ill/2005/03/17/h_1_ill_626766_pierre_assouline.jpg&quot;&gt;&lt;/img&gt;&lt;/a&gt;
+
+
          &lt;a href=&quot;http://lunettesrouges.blog.lemonde.fr/&quot; target=_new&gt;&lt;img alt=&quot;Amateur d'art&quot; title=&quot;Amateur d'art&quot; border=0 width=57 src=&quot;http://medias.lemonde.fr/mmpub/edt/ill/2005/09/16/h_1_ill_664287_lunettes-rouges.jpg&quot;&gt;&lt;/img&gt;&lt;/a&gt;
-      
-        
+
+
          &lt;a href=&quot;http://clesnes.blog.lemonde.fr/&quot; target=_new&gt;&lt;img alt=&quot;Big Picture&quot; title=&quot;Big Picture&quot; border=0 width=57 src=&quot;http://medias.lemonde.fr/mmpub/edt/ill/2005/03/17/h_1_ill_626779_corine_lesnes03.jpg&quot;&gt;&lt;/img&gt;&lt;/a&gt;
-      
+
       &lt;/div&gt;
    &lt;div class=&quot;saut_ligne&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;
 &lt;div class=box&gt;
    &lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-rg.gif&quot; alt=&quot;&quot;&gt;
-   &lt;a href=&quot;http://abonnes.lemonde.fr/web/ep/blog_inscrit/1,27-0,1-0,0.html&quot;&gt;Cr&#233;ez votre blog&lt;/a&gt;
+   &lt;a href=&quot;http://abonnes.lemonde.fr/web/ep/blog_inscrit/1,27-0,1-0,0.html&quot;&gt;Cr&#239;&#191;&#189;ez votre blog&lt;/a&gt;
    &lt;br/&gt;
    &lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-rg.gif&quot; alt=&quot;&quot;&gt;
    &lt;a href=&quot;/web/blogs/0,39-0,48-0,0.html&quot;&gt;Tous les blogs&lt;/a&gt;
@@ -890,13 +890,13 @@ var slide_show_img_widget = 0;
 var slide_show_text_elem = 0;
 var slide_show_num_elem = 0;
 
-//) &amp;&amp; ($ct &lt; $_gab_contexte_affichage-&gt;_confAffichage['FairePart_/General']['nb_fairepart_max_en_une']); 
+//) &amp;&amp; ($ct &lt; $_gab_contexte_affichage-&gt;_confAffichage['FairePart_/General']['nb_fairepart_max_en_une']);
 construit_carnet_slide_show = function()
 {
    var slide_show_img_elem = document.getElementById ('div_img_slide_show_carnet');
    var slide_show_text_elem = document.getElementById ('div_text_slide_show_carnet');
    var slide_show_num_elem = document.getElementById ('div_num_slide_show_carnet');
-   
+
    slide_show_img_widget = new slideShowWidget(slide_show_img_elem);
    slide_show_text_widget = new slideShowWidget(slide_show_text_elem);
    slide_show_num_widget = new slideShowWidget(slide_show_num_elem);
@@ -909,7 +909,7 @@ construit_carnet_slide_show = function()
             var num = slide_show_img_widget.showRandomFirstElem();
    slide_show_text_widget.showFirstElemWithNum(num);
    slide_show_num_widget.showFirstElemWithNum(num);
-   
+
    //on demarre un slide show en auto
    }
 
@@ -919,29 +919,29 @@ if (window.addEventListener)
    window.addEventListener(&quot;load&quot;, construit_carnet_slide_show, false);
 else
    window.attachEvent(&quot;onload&quot;, construit_carnet_slide_show);
- 
+
 &lt;/script&gt;
 
 
 &lt;div style=&quot;display:none;&quot;&gt;
                         &lt;img width=&quot;140&quot;
                onclick=&quot;window.open('http://fairepart.lemonde.fr/faire-part/visualisation-faire-part-du-jour.html?_fpid=1-1352502000-18589-71ff96489cdc356084dffedefe5f1da8');&quot;
-               height=&quot;105px&quot; 
-               style=&quot;cursor:pointer&quot; 
+               height=&quot;105px&quot;
+               style=&quot;cursor:pointer&quot;
                title=&quot;naissance&quot;
                alt=&quot;naissance&quot;
                id=&quot;image_carnet_0&quot; src=&quot;http://medias.lemonde.fr/mmpub/fp/img/a/aa/aa1/aa16306b0d55f9139cbc8abf80d95389/orane_284_moyenne.jpg&quot; border=&quot;0&quot;&gt;&lt;/img&gt;
-            
+
       &lt;div style='width:33px;text-align:center;height:20px;' id=&quot;fairepart_num_carnet_0&quot; &gt;
          1/1         &lt;div class=&quot;saut_ligne&quot;&gt;&lt;/div&gt;
       &lt;/div&gt;
-      
+
       &lt;div style='width:160px;' id=&quot;texte_carnet_0&quot;&gt;
          &lt;a target=&quot;_blank&quot; href=&quot;http://fairepart.lemonde.fr/faire-part/visualisation-faire-part-du-jour.html?_fpid=1-1352502000-18589-71ff96489cdc356084dffedefe5f1da8&quot;&gt;
             naissance         &lt;/a&gt;
          &lt;div class=&quot;saut_ligne&quot;&gt;&lt;/div&gt;
       &lt;/div&gt;
-      
+
    &lt;/div&gt;
 
 &lt;div class=pg-mil&gt;
@@ -949,14 +949,14 @@ else
    &lt;div class=&quot;box&quot;&gt;
       &lt;div style=&quot;width:140px;height:105px;float:left; position:relative;overflow:display;&quot; id=&quot;div_img_slide_show_carnet&quot;&gt;
       &lt;/div&gt;
-      
+
       &lt;div style=&quot;float:left;padding-left:5px;&quot;&gt;
-         
+
          &lt;a href=&quot;javascript:var a=1;&quot;&gt;&lt;img border=0 src=&quot;http://medias.lemonde.fr/mmpub/img/tit/noire_prev.gif&quot;&gt;&lt;/img&gt;&lt;/a&gt;
          &lt;a href=&quot;javascript:var a=1;&quot;&gt;&lt;img border=0 src=&quot;http://medias.lemonde.fr/mmpub/img/tit/noire_suiv.gif&quot;&gt;&lt;/img&gt;&lt;/a&gt;
          &lt;div style=&quot;width:33px;height:25px;overflow:display;position:relative;&quot; id=&quot;div_num_slide_show_carnet&quot;&gt;&lt;/div&gt;
       &lt;/div&gt;
-      
+
       &lt;div class=&quot;saut_ligne&quot; style=&quot;height:3px;&quot;&gt;&lt;/div&gt;
       &lt;div style=&quot;width:160px;height:62px;position:relative;&quot; id=&quot;div_text_slide_show_carnet&quot;&gt;
       &lt;/div&gt;
@@ -974,18 +974,18 @@ else
 &lt;/div&gt;
 &lt;!-- /gab-pv-appel_fairepart.php --&gt;&lt;!-- gab-pv-derniere_reaction.php --&gt;
 &lt;div class=pg-mil&gt;
-      &lt;div class=gr-tt&gt;VOTRE DERNI&#200;RE R&#201;ACTION&lt;/div&gt;
-      &lt;div class=box&gt;&lt;div class=lien&gt;&amp;quot;(1) Sur les deux groupes que j&amp;#039;ai trouv&#233; qui se disent r&#233;sistants, quasi 0 &#233;change entre membres. (2) Et, oui, Claire G., merci de le rappeler, rien de nouveau. (3) Quelle solution ? Vivre &amp;quot;under the radar&amp;quot;, sans cartes, sans identit&#233;, suspect &#233;ternel &#224; d&#233;faut d&amp;#039;&#234;tre prospect &#233;ternel ? Ou le retour au maquis. Mais apparemment, on finit toujours par s&amp;#039;y faire attraper aussi ;)&amp;quot; 
-      &lt;div align=right class=type-gr&gt;par Stephane G.&lt;/div&gt;&lt;/div&gt;&lt;div class=lien&gt;Une des 34 r&#233;actions &#224; l'article &lt;a href=/web/article/0,1-0@2-651865,36-977479,0.html&gt;Les membres de Facebook appellent &#224; la r&#233;sistance&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=box&gt;&lt;img src=http://medias.lemonde.fr/mmpub/img/icn/fl-rg.gif alt=&quot;&quot;&gt; &lt;a href=/web/article/reactions/0,1-0@2-651865,36-977479,0.html&gt;R&#233;agissez &#224; cet article&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /gab-pv-derniere_reaction.php --&gt;&lt;script language=JavaScript&gt;OAS_AD('Position3');&lt;/script&gt;
-&lt;!-- gab-pv-recommandes.php --&gt;                      
-            &lt;!-- elements recommand&#233;s appel du composant: /web/reco_element/cmp/0,0-0,45-3208,0.html --&gt;
+      &lt;div class=gr-tt&gt;VOTRE DERNI&#239;&#191;&#189;RE R&#239;&#191;&#189;ACTION&lt;/div&gt;
+      &lt;div class=box&gt;&lt;div class=lien&gt;&amp;quot;(1) Sur les deux groupes que j&amp;#039;ai trouv&#239;&#191;&#189; qui se disent r&#239;&#191;&#189;sistants, quasi 0 &#239;&#191;&#189;change entre membres. (2) Et, oui, Claire G., merci de le rappeler, rien de nouveau. (3) Quelle solution ? Vivre &amp;quot;under the radar&amp;quot;, sans cartes, sans identit&#239;&#191;&#189;, suspect &#239;&#191;&#189;ternel &#239;&#191;&#189; d&#239;&#191;&#189;faut d&amp;#039;&#239;&#191;&#189;tre prospect &#239;&#191;&#189;ternel ? Ou le retour au maquis. Mais apparemment, on finit toujours par s&amp;#039;y faire attraper aussi ;)&amp;quot;
+      &lt;div align=right class=type-gr&gt;par Stephane G.&lt;/div&gt;&lt;/div&gt;&lt;div class=lien&gt;Une des 34 r&#239;&#191;&#189;actions &#239;&#191;&#189; l'article &lt;a href=/web/article/0,1-0@2-651865,36-977479,0.html&gt;Les membres de Facebook appellent &#239;&#191;&#189; la r&#239;&#191;&#189;sistance&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=box&gt;&lt;img src=http://medias.lemonde.fr/mmpub/img/icn/fl-rg.gif alt=&quot;&quot;&gt; &lt;a href=/web/article/reactions/0,1-0@2-651865,36-977479,0.html&gt;R&#239;&#191;&#189;agissez &#239;&#191;&#189; cet article&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /gab-pv-derniere_reaction.php --&gt;&lt;script language=JavaScript&gt;OAS_AD('Position3');&lt;/script&gt;
+&lt;!-- gab-pv-recommandes.php --&gt;
+            &lt;!-- elements recommand&#239;&#191;&#189;s appel du composant: /web/reco_element/cmp/0,0-0,45-3208,0.html --&gt;
                &lt;!-- Rosae:: mardi 13 novembre 2007 15:15:16.4057 5.448 terre --&gt;
  &lt;div class=pg-mil&gt;
-&lt;div class=&quot;gr-tt&quot;&gt;LES PLUS ENVOY&#201;S&lt;/div&gt;
-&lt;div class=&quot;box&quot;&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-3224,36-977303,0.html&gt;Moi, Laurent S., chirurgien de l'h&#244;pital public&lt;/a&gt; Soci&#233;t&#233;&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-651865,36-977479,0.html&gt;Les membres de Facebook appellent &#224; la r&#233;sistance&lt;/a&gt; Technologies&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-3224,36-977259,0.html&gt;HLM : la r&#233;novation urbaine pourrait accro&#238;tre la p&#233;nurie&lt;/a&gt; Soci&#233;t&#233;&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-3234,36-977278,0.html&gt;Fran&#231;ois Bourguignon : &quot;La Banque mondiale peut devenir la banque de l'environnement&quot;&lt;/a&gt; Economie&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/portfolio/0,12-0@2-3244,31-976300,0.html&gt;Six esp&#232;ces d'ours sur huit menac&#233;es&lt;/a&gt; Environnement, Sciences&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-3224,36-977089,0.html&gt;La coordination &#233;tudiante appelle au blocage des gares mardi&lt;/a&gt; Soci&#233;t&#233;&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-3224,36-977105,0.html&gt;Les gr&#232;ves annonc&#233;es pour les quinze prochains jours&lt;/a&gt; Soci&#233;t&#233;&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-3234,36-977276,0.html&gt;La d&#233;couverte de r&#233;serves de p&#233;trole ferait du Br&#233;sil l'un des dix principaux producteurs&lt;/a&gt; Economie&lt;/div&gt;   &lt;/div&gt;
+&lt;div class=&quot;gr-tt&quot;&gt;LES PLUS ENVOY&#239;&#191;&#189;S&lt;/div&gt;
+&lt;div class=&quot;box&quot;&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-3224,36-977303,0.html&gt;Moi, Laurent S., chirurgien de l'h&#239;&#191;&#189;pital public&lt;/a&gt; Soci&#239;&#191;&#189;t&#239;&#191;&#189;&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-651865,36-977479,0.html&gt;Les membres de Facebook appellent &#239;&#191;&#189; la r&#239;&#191;&#189;sistance&lt;/a&gt; Technologies&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-3224,36-977259,0.html&gt;HLM : la r&#239;&#191;&#189;novation urbaine pourrait accro&#239;&#191;&#189;tre la p&#239;&#191;&#189;nurie&lt;/a&gt; Soci&#239;&#191;&#189;t&#239;&#191;&#189;&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-3234,36-977278,0.html&gt;Fran&#239;&#191;&#189;ois Bourguignon : &quot;La Banque mondiale peut devenir la banque de l'environnement&quot;&lt;/a&gt; Economie&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/portfolio/0,12-0@2-3244,31-976300,0.html&gt;Six esp&#239;&#191;&#189;ces d'ours sur huit menac&#239;&#191;&#189;es&lt;/a&gt; Environnement, Sciences&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-3224,36-977089,0.html&gt;La coordination &#239;&#191;&#189;tudiante appelle au blocage des gares mardi&lt;/a&gt; Soci&#239;&#191;&#189;t&#239;&#191;&#189;&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-3224,36-977105,0.html&gt;Les gr&#239;&#191;&#189;ves annonc&#239;&#191;&#189;es pour les quinze prochains jours&lt;/a&gt; Soci&#239;&#191;&#189;t&#239;&#191;&#189;&lt;/div&gt;&lt;div class=&quot;lien-2&quot;&gt;&lt;a href=/web/article/0,1-0@2-3234,36-977276,0.html&gt;La d&#239;&#191;&#189;couverte de r&#239;&#191;&#189;serves de p&#239;&#191;&#189;trole ferait du Br&#239;&#191;&#189;sil l'un des dix principaux producteurs&lt;/a&gt; Economie&lt;/div&gt;   &lt;/div&gt;
 &lt;/div&gt;&lt;div class=pg-mil&gt;
-                                        &lt;div class=gr-tt&gt;VOS RECOMMAND&#201;S&lt;/div&gt;
-                                        &lt;div class=box&gt;&lt;div class=lien-2&gt;&lt;a href=http://www.lemonde.fr/web/article/0,1-0@2-3224,36-977084,0.html&gt;Le principal adjoint d'un coll&#232;ge de Pierrefitte, en Seine-Saint-Denis, poignard&#233;&lt;/a&gt; Soci&#233;t&#233;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href=http://www.lemonde.fr/web/article/0,1-0@2-3232,36-977230,0.html&gt;Petits conseils &#224; l'usage des voyageurs, par Laurent Greilsamer&lt;/a&gt; Opinions&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href=http://www.lemonde.fr/web/article/0,1-0@2-823448,36-977534,0.html&gt;Le collectif ACDC accuse l'Insee d'&quot;escamoter&quot; les vrais chiffres du ch&#244;mage&lt;/a&gt; Politique&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href=http://www.lemonde.fr/web/article/0,1-0@2-3216,36-977304,0.html&gt;Chantiers interdits&lt;/a&gt; Asie-Pacifique&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;            &lt;!-- elements recommand&#233;s : fin appel du composant --&gt;                
+                                        &lt;div class=gr-tt&gt;VOS RECOMMAND&#239;&#191;&#189;S&lt;/div&gt;
+                                        &lt;div class=box&gt;&lt;div class=lien-2&gt;&lt;a href=http://www.lemonde.fr/web/article/0,1-0@2-3224,36-977084,0.html&gt;Le principal adjoint d'un coll&#239;&#191;&#189;ge de Pierrefitte, en Seine-Saint-Denis, poignard&#239;&#191;&#189;&lt;/a&gt; Soci&#239;&#191;&#189;t&#239;&#191;&#189;&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href=http://www.lemonde.fr/web/article/0,1-0@2-3232,36-977230,0.html&gt;Petits conseils &#239;&#191;&#189; l'usage des voyageurs, par Laurent Greilsamer&lt;/a&gt; Opinions&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href=http://www.lemonde.fr/web/article/0,1-0@2-823448,36-977534,0.html&gt;Le collectif ACDC accuse l'Insee d'&quot;escamoter&quot; les vrais chiffres du ch&#239;&#191;&#189;mage&lt;/a&gt; Politique&lt;/div&gt;&lt;div class=lien-2&gt;&lt;a href=http://www.lemonde.fr/web/article/0,1-0@2-3216,36-977304,0.html&gt;Chantiers interdits&lt;/a&gt; Asie-Pacifique&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;            &lt;!-- elements recommand&#239;&#191;&#189;s : fin appel du composant --&gt;
 &lt;!-- /gab-pv-recommandes.php --&gt;
 &lt;!-- gab-pv-lien_promo_appel.php --&gt;
 &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://medias.lemonde.fr/mmpub/css/lienpromo.css&quot; /&gt;
@@ -994,110 +994,110 @@ else
   &lt;div class=&quot;mv-box&quot;&gt;
     &lt;div class=&quot;lien-2&quot;&gt;    &lt;a href=&quot;/web/lien_promo/0,55-0,1-0,0.html?keyword=voyage&amp;accroche=Votre voyage au meilleur prix&quot;&gt;Voyages : Envolez-vous en quelques clics&lt;/a&gt;    &lt;/div&gt;
     &lt;div class=&quot;lien-2&quot;&gt;    &lt;a href=&quot;/web/lien_promo/0,55-0,1-0,0.html?keyword=rencontre&amp;accroche=Faites des rencontres en quelques clics !&quot;&gt;Rencontre : 3,2,1... Connectez-vous !&lt;/a&gt;    &lt;/div&gt;
-    &lt;div class=&quot;lien-2&quot;&gt;    &lt;a href=&quot;/web/lien_promo/0,55-0,1-0,0.html?keyword=billet avion&amp;accroche=R&#233;servez votre vol en ligne&quot;&gt;Billet d'avion : R&#233;servez en ligne&lt;/a&gt;    &lt;/div&gt;
+    &lt;div class=&quot;lien-2&quot;&gt;    &lt;a href=&quot;/web/lien_promo/0,55-0,1-0,0.html?keyword=billet avion&amp;accroche=R&#239;&#191;&#189;servez votre vol en ligne&quot;&gt;Billet d'avion : R&#239;&#191;&#189;servez en ligne&lt;/a&gt;    &lt;/div&gt;
     &lt;div class=&quot;lien-2&quot;&gt;    &lt;a href=&quot;/web/lien_promo/0,55-0,1-0,0.html?keyword=achat ordinateur&amp;accroche=PC portables en promotion !&quot;&gt;Ordinateur portable : Les promos du web&lt;/a&gt;    &lt;/div&gt;
   &lt;/div&gt;
 &lt;/div&gt;
 &lt;!-- gab-pv-lien_promo_appel.php --&gt;
 &lt;!-- /gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 
-    
+
       &lt;/td&gt;
       &lt;td width=&quot;338&quot; class=&quot;pg-dtebg&quot; &gt;
          &lt;!-- gab-ssq-col_droite_pub_fixe.php --&gt;
 &lt;center&gt;&lt;script language=JavaScript&gt;OAS_AD('TopRight');&lt;/script&gt;&lt;/center&gt;
 
-&lt;!-- gab-pv-sequence_une_en_direct.php --&gt; 
-&lt;div class=&quot;pg-dte&quot;&gt;   &lt;div class=&quot;header-bg-direct&quot;&gt;&lt;div style=&quot;width:5px;float:left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;float:left;&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/animated_en_direct_icon.gif&quot;&gt;&lt;/div&gt;&lt;div class=&quot;header-txt&quot; style=&quot;float:left;&quot;&gt;EN DIRECT&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;box&quot; style=&quot;min-height:66px;&quot;&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3328,55-976754,0.html&quot;&gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/09/v_5_ill_976778_birnbaum.jpg width=87 height=111 border=0 alt='Jean Birnbaum, journaliste au &amp;quot;Monde&amp;quot;. | DR' title='Jean Birnbaum, journaliste au &amp;quot;Monde&amp;quot;. | DR' align=&quot;right&quot; style=&quot;display:block&quot;&gt;&lt;/a&gt;&lt;span class=&quot;type-direct&quot;&gt;Chat  &#224; 15 heures&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3328,55-976754,0.html&quot;&gt;Femmes-hommes : o&#249; est pass&#233;e la diff&#233;rence des sexes ?&lt;/a&gt;&lt;br&gt;D&#233;bat en direct avec Jean Birnbaum, journaliste au &quot;Monde&quot;, mardi 13 novembre 2007 &#224; 15 h 00&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;box&quot;&gt;&lt;span class=&quot;type-gr&quot;&gt;Chat mercredi &#224; 15 heures&lt;/span&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3234,55-975809,0.html&quot; style=&quot;margin-left:5px;&quot;&gt;Quels peuvent &#234;tre les impacts de la hausse continuelle de l'euro sur les &#233;conomies europ&#233;ennes ?&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_une_en_direct.php--&gt;
+&lt;!-- gab-pv-sequence_une_en_direct.php --&gt;
+&lt;div class=&quot;pg-dte&quot;&gt;   &lt;div class=&quot;header-bg-direct&quot;&gt;&lt;div style=&quot;width:5px;float:left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;float:left;&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/tit/animated_en_direct_icon.gif&quot;&gt;&lt;/div&gt;&lt;div class=&quot;header-txt&quot; style=&quot;float:left;&quot;&gt;EN DIRECT&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;box&quot; style=&quot;min-height:66px;&quot;&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3328,55-976754,0.html&quot;&gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/09/v_5_ill_976778_birnbaum.jpg width=87 height=111 border=0 alt='Jean Birnbaum, journaliste au &amp;quot;Monde&amp;quot;. | DR' title='Jean Birnbaum, journaliste au &amp;quot;Monde&amp;quot;. | DR' align=&quot;right&quot; style=&quot;display:block&quot;&gt;&lt;/a&gt;&lt;span class=&quot;type-direct&quot;&gt;Chat  &#239;&#191;&#189; 15 heures&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3328,55-976754,0.html&quot;&gt;Femmes-hommes : o&#239;&#191;&#189; est pass&#239;&#191;&#189;e la diff&#239;&#191;&#189;rence des sexes ?&lt;/a&gt;&lt;br&gt;D&#239;&#191;&#189;bat en direct avec Jean Birnbaum, journaliste au &quot;Monde&quot;, mardi 13 novembre 2007 &#239;&#191;&#189; 15 h 00&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;box&quot;&gt;&lt;span class=&quot;type-gr&quot;&gt;Chat mercredi &#239;&#191;&#189; 15 heures&lt;/span&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3234,55-975809,0.html&quot; style=&quot;margin-left:5px;&quot;&gt;Quels peuvent &#239;&#191;&#189;tre les impacts de la hausse continuelle de l'euro sur les &#239;&#191;&#189;conomies europ&#239;&#191;&#189;ennes ?&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_une_en_direct.php--&gt;
 &lt;center&gt;&lt;script language=JavaScript&gt;if (provenance_elt !=-1) {OAS_AD('x40')} else {OAS_AD('Middle')}&lt;/script&gt;&lt;/center&gt;
 
-&lt;!-- gab-pv-appel_element.php --&gt;  
-&lt;div class=pg-dte&gt;&lt;a href=&quot;/web/panorama/0,11-0@2-3236,32-977215,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_9_radiozapping_07111_326.jpg width=326 height=60 border=0 alt='Le Radiozapping, chaque jour &#224; midi, tout ce qu&amp;#039;il ne fallait pas rater des matinales radio. | Le Monde.fr' title='Le Radiozapping, chaque jour &#224; midi, tout ce qu&amp;#039;il ne fallait pas rater des matinales radio. | Le Monde.fr' &gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- /gab-pv-appel_element.php--&gt;
-&lt;!-- gab-pv-appel_ensemble.php --&gt; 
+&lt;!-- gab-pv-appel_element.php --&gt;
+&lt;div class=pg-dte&gt;&lt;a href=&quot;/web/panorama/0,11-0@2-3236,32-977215,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_9_radiozapping_07111_326.jpg width=326 height=60 border=0 alt='Le Radiozapping, chaque jour &#239;&#191;&#189; midi, tout ce qu&amp;#039;il ne fallait pas rater des matinales radio. | Le Monde.fr' title='Le Radiozapping, chaque jour &#239;&#191;&#189; midi, tout ce qu&amp;#039;il ne fallait pas rater des matinales radio. | Le Monde.fr' &gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- /gab-pv-appel_element.php--&gt;
+&lt;!-- gab-pv-appel_ensemble.php --&gt;
 &lt;div class=&quot;pg-dte&quot;&gt;
-            &lt;div class=&quot;header-bg&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;GR&#200;VE DU 14 NOVEMBRE&lt;/div&gt;&lt;/div&gt;
+            &lt;div class=&quot;header-bg&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;GR&#239;&#191;&#189;VE DU 14 NOVEMBRE&lt;/div&gt;&lt;/div&gt;
             &lt;div class=&quot;box&quot;&gt;
-             
+
       &lt;table width=313 cellpadding=0 cellspacing=0 border=0&gt;
-         &lt;tr valign=top&gt;            
-            &lt;td style=padding-right:4px&gt;&lt;a href=&quot;/web/article/0,1-0@2-3224,36-977533@51-977527,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_1_ill_968143_204180.jpg width=87 height=58 border=0 alt='La direction de la SNCF s&amp;#039;attend &#224; un taux de gr&#233;vistes de 70 % &#224; partir du 13 novembre au soir, un taux &#233;quivalent &#224; celui enregistr&#233; lors de la gr&#232;ve du 18 octobre. | REUTERS/BENOIT TESSIER' title='La direction de la SNCF s&amp;#039;attend &#224; un taux de gr&#233;vistes de 70 % &#224; partir du 13 novembre au soir, un taux &#233;quivalent &#224; celui enregistr&#233; lors de la gr&#232;ve du 18 octobre. | REUTERS/BENOIT TESSIER' &gt;&lt;/a&gt;&lt;/td&gt;
+         &lt;tr valign=top&gt;
+            &lt;td style=padding-right:4px&gt;&lt;a href=&quot;/web/article/0,1-0@2-3224,36-977533@51-977527,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_1_ill_968143_204180.jpg width=87 height=58 border=0 alt='La direction de la SNCF s&amp;#039;attend &#239;&#191;&#189; un taux de gr&#239;&#191;&#189;vistes de 70 % &#239;&#191;&#189; partir du 13 novembre au soir, un taux &#239;&#191;&#189;quivalent &#239;&#191;&#189; celui enregistr&#239;&#191;&#189; lors de la gr&#239;&#191;&#189;ve du 18 octobre. | REUTERS/BENOIT TESSIER' title='La direction de la SNCF s&amp;#039;attend &#239;&#191;&#189; un taux de gr&#239;&#191;&#189;vistes de 70 % &#239;&#191;&#189; partir du 13 novembre au soir, un taux &#239;&#191;&#189;quivalent &#239;&#191;&#189; celui enregistr&#239;&#191;&#189; lors de la gr&#239;&#191;&#189;ve du 18 octobre. | REUTERS/BENOIT TESSIER' &gt;&lt;/a&gt;&lt;/td&gt;
             &lt;td&gt;
                &lt;div class=type-gr&gt;Pratique
-               &lt;a href=&quot;/web/article/0,1-0@2-3224,36-977533@51-977527,0.html&quot; &gt;De fortes perturbations pr&#233;vues dans les transports&lt;/a&gt;&lt;br&gt;            
+               &lt;a href=&quot;/web/article/0,1-0@2-3224,36-977533@51-977527,0.html&quot; &gt;De fortes perturbations pr&#239;&#191;&#189;vues dans les transports&lt;/a&gt;&lt;br&gt;
             &lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
             &lt;td colspan=2&gt;
-            
-            &lt;div class=lien&gt;&lt;span class=type-gr&gt;Revue de Web&lt;/span&gt; &lt;a href=&quot;/web/articleinteractif/0,41-0@2-3224,49-977504@51-977527,0.html&quot; &gt;Se d&#233;placer pendant les gr&#232;ves : le syst&#232;me D&lt;/a&gt;&lt;br&gt;&lt;/div&gt;
-            
-            &lt;div class=lien&gt;&lt;span class=type-gr&gt;Les cl&#233;s&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3224,36-977483@51-977527,0.html&quot; &gt;Le point sur la r&#233;forme des r&#233;gimes sp&#233;ciaux de retraite&lt;/a&gt;&lt;br&gt;&lt;/div&gt;
-            
+
+            &lt;div class=lien&gt;&lt;span class=type-gr&gt;Revue de Web&lt;/span&gt; &lt;a href=&quot;/web/articleinteractif/0,41-0@2-3224,49-977504@51-977527,0.html&quot; &gt;Se d&#239;&#191;&#189;placer pendant les gr&#239;&#191;&#189;ves : le syst&#239;&#191;&#189;me D&lt;/a&gt;&lt;br&gt;&lt;/div&gt;
+
+            &lt;div class=lien&gt;&lt;span class=type-gr&gt;Les cl&#239;&#191;&#189;s&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3224,36-977483@51-977527,0.html&quot; &gt;Le point sur la r&#239;&#191;&#189;forme des r&#239;&#191;&#189;gimes sp&#239;&#191;&#189;ciaux de retraite&lt;/a&gt;&lt;br&gt;&lt;/div&gt;
+
             &lt;/td&gt;
          &lt;/tr&gt;
-      &lt;/table&gt;            
+      &lt;/table&gt;
             &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /gab-pv-appel_ensemble.php--&gt;
-&lt;!-- gab-pv-scr_sequence_une_edition_abonnes.php --&gt; 
-&lt;div class=&quot;pg-dte&quot;&gt;   &lt;div class=&quot;box-ab&quot;&gt;   &lt;div class=&quot;header-bg-ab&quot;&gt;&lt;/div&gt;   &lt;div style=&quot;text-align:center;padding:2px;&quot;&gt;   &lt;table cellspacing=&quot;2&quot; width=&quot;316&quot; style=&quot;margin:auto&quot;&gt;&lt;tr height=&quot;108px&quot;&gt;&lt;td width=&quot;148px&quot;&gt;&lt;p&gt;&lt;span class=&quot;type-abo&quot;&gt;La 12:15&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-977115@60-1@45-2,0.html&quot; &gt;Japon : l'&#233;conomie cro&#238;t plus que pr&#233;vu - Vodafone en hausse - Le prix du baril p&#232;se sur la demande&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;type-abo&quot;&gt;Dossier&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/dossier/0,3-0@2-3224,14-835881,0.html&quot; &gt;Ecole : l'in&#233;galit&#233; des chances ?&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;160px&quot;&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/thematique/0,42-0@2-823448,53-974441,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_12_thema_EU_traite_155x103.jpg width=155 height=103 border=0 alt='Adopt&#233; les 18 et 19 octobre 2007 par le Conseil europ&#233;en, le trait&#233; de Lisbonne devra &#234;tre ratifi&#233; par chacun des vingt-sept pays membres avant les &#233;lections europ&#233;ennes de juin 2009.  | AP/ALIK KEPLICZ' title='Adopt&#233; les 18 et 19 octobre 2007 par le Conseil europ&#233;en, le trait&#233; de Lisbonne devra &#234;tre ratifi&#233; par chacun des vingt-sept pays membres avant les &#233;lections europ&#233;ennes de juin 2009.  | AP/ALIK KEPLICZ' style=&quot;margin:3px;&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;background-color:white;&quot; colspan=&quot;2&quot; height=&quot;20px&quot;&gt;&lt;a href=&quot;/cgi-bin/ACHATS/acheter.cgi?offre=ZOP&quot;&gt;&lt;p&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-rg.gif&quot; border=0&gt; 6&amp;euro; par mois,30 jours offerts. Abonnez-vous&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /gab-pv-scr_sequence_une_edition_abonnes.php--&gt;
-&lt;!-- gab-pv-appel_element.php --&gt;  
+&lt;!-- gab-pv-scr_sequence_une_edition_abonnes.php --&gt;
+&lt;div class=&quot;pg-dte&quot;&gt;   &lt;div class=&quot;box-ab&quot;&gt;   &lt;div class=&quot;header-bg-ab&quot;&gt;&lt;/div&gt;   &lt;div style=&quot;text-align:center;padding:2px;&quot;&gt;   &lt;table cellspacing=&quot;2&quot; width=&quot;316&quot; style=&quot;margin:auto&quot;&gt;&lt;tr height=&quot;108px&quot;&gt;&lt;td width=&quot;148px&quot;&gt;&lt;p&gt;&lt;span class=&quot;type-abo&quot;&gt;La 12:15&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/newsletter/0,30-0,62-977115@60-1@45-2,0.html&quot; &gt;Japon : l'&#239;&#191;&#189;conomie cro&#239;&#191;&#189;t plus que pr&#239;&#191;&#189;vu - Vodafone en hausse - Le prix du baril p&#239;&#191;&#189;se sur la demande&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;type-abo&quot;&gt;Dossier&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/dossier/0,3-0@2-3224,14-835881,0.html&quot; &gt;Ecole : l'in&#239;&#191;&#189;galit&#239;&#191;&#189; des chances ?&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width=&quot;160px&quot;&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/thematique/0,42-0@2-823448,53-974441,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_12_thema_EU_traite_155x103.jpg width=155 height=103 border=0 alt='Adopt&#239;&#191;&#189; les 18 et 19 octobre 2007 par le Conseil europ&#239;&#191;&#189;en, le trait&#239;&#191;&#189; de Lisbonne devra &#239;&#191;&#189;tre ratifi&#239;&#191;&#189; par chacun des vingt-sept pays membres avant les &#239;&#191;&#189;lections europ&#239;&#191;&#189;ennes de juin 2009.  | AP/ALIK KEPLICZ' title='Adopt&#239;&#191;&#189; les 18 et 19 octobre 2007 par le Conseil europ&#239;&#191;&#189;en, le trait&#239;&#191;&#189; de Lisbonne devra &#239;&#191;&#189;tre ratifi&#239;&#191;&#189; par chacun des vingt-sept pays membres avant les &#239;&#191;&#189;lections europ&#239;&#191;&#189;ennes de juin 2009.  | AP/ALIK KEPLICZ' style=&quot;margin:3px;&quot;&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;background-color:white;&quot; colspan=&quot;2&quot; height=&quot;20px&quot;&gt;&lt;a href=&quot;/cgi-bin/ACHATS/acheter.cgi?offre=ZOP&quot;&gt;&lt;p&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/fl-rg.gif&quot; border=0&gt; 6&amp;euro; par mois,30 jours offerts. Abonnez-vous&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /gab-pv-scr_sequence_une_edition_abonnes.php--&gt;
+&lt;!-- gab-pv-appel_element.php --&gt;
 &lt;div class=pg-dte&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/vi/0,47-0@2-3212,54-969056,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/10/23/h_9_appel_petrole_afrique326.jpg width=326 height=60 border=0 alt='Pipeline en Afrique. | A. FARNSWORTH' title='Pipeline en Afrique. | A. FARNSWORTH' &gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- /gab-pv-appel_element.php--&gt;&lt;center&gt;&lt;script language=JavaScript&gt;OAS_AD('Middle2');&lt;/script&gt;&lt;/center&gt;
-&lt;!-- gab-pv-appel_ensemble.php --&gt; 
+&lt;!-- gab-pv-appel_ensemble.php --&gt;
 &lt;div class=&quot;pg-dte&quot;&gt;
             &lt;div class=&quot;header-bg&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;SORTIE DU NOUVEL ALBUM DE &quot;XIII&quot;&lt;/div&gt;&lt;/div&gt;
             &lt;div class=&quot;box&quot;&gt;
-             
+
       &lt;table width=313 cellpadding=0 cellspacing=0 border=0&gt;
-         &lt;tr valign=top&gt;            
-            &lt;td style=padding-right:4px&gt;&lt;a href=&quot;/web/article/0,1-0@2-3260,36-977549@51-977554,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_1_ill_977553_sans-titre-2.jpg width=87 height=58 border=0 alt='La s&#233;rie de bande dessin&#233;e &amp;quot;XIII&amp;quot; a vu le jour en 1984. | Dargaud' title='La s&#233;rie de bande dessin&#233;e &amp;quot;XIII&amp;quot; a vu le jour en 1984. | Dargaud' &gt;&lt;/a&gt;&lt;/td&gt;
+         &lt;tr valign=top&gt;
+            &lt;td style=padding-right:4px&gt;&lt;a href=&quot;/web/article/0,1-0@2-3260,36-977549@51-977554,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_1_ill_977553_sans-titre-2.jpg width=87 height=58 border=0 alt='La s&#239;&#191;&#189;rie de bande dessin&#239;&#191;&#189;e &amp;quot;XIII&amp;quot; a vu le jour en 1984. | Dargaud' title='La s&#239;&#191;&#189;rie de bande dessin&#239;&#191;&#189;e &amp;quot;XIII&amp;quot; a vu le jour en 1984. | Dargaud' &gt;&lt;/a&gt;&lt;/td&gt;
             &lt;td&gt;
                &lt;div class=type-gr&gt;Les faits
-               &lt;a href=&quot;/web/article/0,1-0@2-3260,36-977549@51-977554,0.html&quot; &gt;&quot;XIII&quot; : un h&#233;ros, 1 million de cibles&lt;/a&gt;&lt;br&gt;            
+               &lt;a href=&quot;/web/article/0,1-0@2-3260,36-977549@51-977554,0.html&quot; &gt;&quot;XIII&quot; : un h&#239;&#191;&#189;ros, 1 million de cibles&lt;/a&gt;&lt;br&gt;
             &lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
             &lt;td colspan=2&gt;
-            
-            &lt;div class=lien&gt;&lt;span class=type-gr&gt;Entretien&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3260,36-977548@51-977554,0.html&quot; &gt;&quot;Je pr&#233;f&#232;re frustrer que d&#233;cevoir&quot;&lt;/a&gt;&lt;br&gt;&lt;/div&gt;
-            
+
+            &lt;div class=lien&gt;&lt;span class=type-gr&gt;Entretien&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-3260,36-977548@51-977554,0.html&quot; &gt;&quot;Je pr&#239;&#191;&#189;f&#239;&#191;&#189;re frustrer que d&#239;&#191;&#189;cevoir&quot;&lt;/a&gt;&lt;br&gt;&lt;/div&gt;
+
             &lt;/td&gt;
          &lt;/tr&gt;
-      &lt;/table&gt;            
+      &lt;/table&gt;
             &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- /gab-pv-appel_ensemble.php--&gt;
 
-&lt;!-- gab-pv-promotion.php --&gt;  
+&lt;!-- gab-pv-promotion.php --&gt;
 &lt;style&gt;
                .appel-lepost { background-color: #fff; font-family:Arial,sans-serif; font-size:10px; border:1px solid #F83C77; margin:5px 0px 5px; position:relative; text-align:left; padding:0; }
                .appel-lepost ul { margin:1em 0.5em 1em; padding: 0px; }
-               .appel-lepost li { line-height: 1.5em; margin-bottom:0.5em; list-style-type:none; } 
+               .appel-lepost li { line-height: 1.5em; margin-bottom:0.5em; list-style-type:none; }
                .appel-lepost h4.intitule-lien { border:medium none; margin:0pt; padding:0pt; text-align:center;}
                .appel-lepost h4.intitule-lien a { color:#003366; font-size:12px; }
-               .appel-lepost h4.intitule-lien a:hover { color:#990000; font-size:12px; }               
+               .appel-lepost h4.intitule-lien a:hover { color:#990000; font-size:12px; }
                &lt;/style&gt;&lt;div class=pg-dte&gt; &lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://a1692.g.akamai.net/n/1692/2042/1077898746/pubs.lemonde.fr/RealMedia/ads/Creatives/OasDefault/publicite/pub300t.gif&quot;&gt;&lt;/div&gt;&lt;div class=&quot;appel-lepost&quot;&gt;&lt;script language=javascript&gt;
                num = parseInt(Math.random()*7);
                xnum = num+3;
-               nom_photo = 'http://medias.lemonde.fr/mmpub/img/tetiere_post_'+num+'.jpg';               
-               document.write('&lt;a href=&quot;http://www.lepost.fr/?xtor=ADC-2'+xnum+'&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;'+nom_photo+'&quot; width=324 border=&quot;0&quot;&gt;&lt;/a&gt;');      
+               nom_photo = 'http://medias.lemonde.fr/mmpub/img/tetiere_post_'+num+'.jpg';
+               document.write('&lt;a href=&quot;http://www.lepost.fr/?xtor=ADC-2'+xnum+'&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;'+nom_photo+'&quot; width=324 border=&quot;0&quot;&gt;&lt;/a&gt;');
                &lt;/script&gt;&lt;ul&gt;
    &lt;li&gt;
-      &lt;h4 class=&quot;intitule-lien&quot;&gt; &lt;a href=&quot;http://www.lepost.fr/article/2007/11/12/1050505_exclusif-le-nouveau-johnny-aujourd-hui-sur-le-post.html?xtor=ADC-16&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#F83C77;&quot;&gt;&#187;&lt;/span&gt; Aujourd'hui, Johnny en EXCLUSIVITE sur Le Post&lt;/a&gt;&lt;/h4&gt;
+      &lt;h4 class=&quot;intitule-lien&quot;&gt; &lt;a href=&quot;http://www.lepost.fr/article/2007/11/12/1050505_exclusif-le-nouveau-johnny-aujourd-hui-sur-le-post.html?xtor=ADC-16&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#F83C77;&quot;&gt;&#239;&#191;&#189;&lt;/span&gt; Aujourd'hui, Johnny en EXCLUSIVITE sur Le Post&lt;/a&gt;&lt;/h4&gt;
    &lt;/li&gt;
    &lt;li&gt;
-      &lt;h4 class=&quot;intitule-lien&quot;&gt; &lt;a href=&quot;http://www.lepost.fr/article/2007/11/06/1047688_les-universites-de-rennes-et-toulouse-sont-bloquees.html?xtor=ADC-19&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#F83C77;&quot;&gt;&#187;&lt;/span&gt; Les facs bloqu&#233;es : ville par ville&lt;/a&gt;&lt;/h4&gt;
-   &lt;/li&gt;   
+      &lt;h4 class=&quot;intitule-lien&quot;&gt; &lt;a href=&quot;http://www.lepost.fr/article/2007/11/06/1047688_les-universites-de-rennes-et-toulouse-sont-bloquees.html?xtor=ADC-19&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#F83C77;&quot;&gt;&#239;&#191;&#189;&lt;/span&gt; Les facs bloqu&#239;&#191;&#189;es : ville par ville&lt;/a&gt;&lt;/h4&gt;
+   &lt;/li&gt;
    &lt;li&gt;
-      &lt;h4 class=&quot;intitule-lien&quot;&gt; &lt;a href=&quot;http://www.lepost.fr/article/2007/11/12/1050577_comment-sarkozy-va-t-il-detourner-les-medias-de-la-greve.html?xtor=ADC-13&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#F83C77;&quot;&gt;&#187;&lt;/span&gt; Gr&#232;ves : comment Sarkozy pourrait d&#233;tourner l'attention des m&#233;dias&lt;/a&gt;&lt;/h4&gt;
-   &lt;/li&gt;   
+      &lt;h4 class=&quot;intitule-lien&quot;&gt; &lt;a href=&quot;http://www.lepost.fr/article/2007/11/12/1050577_comment-sarkozy-va-t-il-detourner-les-medias-de-la-greve.html?xtor=ADC-13&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color:#F83C77;&quot;&gt;&#239;&#191;&#189;&lt;/span&gt; Gr&#239;&#191;&#189;ves : comment Sarkozy pourrait d&#239;&#191;&#189;tourner l'attention des m&#239;&#191;&#189;dias&lt;/a&gt;&lt;/h4&gt;
+   &lt;/li&gt;
 &lt;/ul&gt;
                 &lt;div align=&quot;center&quot;&gt;
-                &lt;a href=&quot;http://www.lepost.fr/?xtor=ADC-22&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://medias.lemonde.fr/mmpub/img/footer_post.png&quot; border=&quot;0&quot; style=&quot;margin-bottom: 3px;&quot; /&gt;&lt;/a&gt;                
+                &lt;a href=&quot;http://www.lepost.fr/?xtor=ADC-22&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://medias.lemonde.fr/mmpub/img/footer_post.png&quot; border=&quot;0&quot; style=&quot;margin-bottom: 3px;&quot; /&gt;&lt;/a&gt;
                 &lt;/div&gt;
                 &lt;/div&gt;
                 &lt;/div&gt;&lt;!-- /gab-pv-promotion.php--&gt;
 
 &lt;center&gt;&lt;script language=JavaScript&gt;OAS_AD('Middle1');&lt;/script&gt;&lt;/center&gt;
 
-&lt;!-- gab-pv-sequence_une_voir.php --&gt; 
-&lt;div class=&quot;pg-dte&quot;&gt;   &lt;div class=&quot;header-bg&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;VOIR&lt;/div&gt;&lt;/div&gt;   &lt;div class=&quot;box&quot;&gt;&lt;table border=0 cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/portfolio/0,12-0@2-3208,31-977892,0.html&quot; &gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;voir_bt_0&quot; onmouseover=&quot;voir_on(0)&quot; onmouseout=&quot;voir_out(0)&quot;&gt;Dessins du jour&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/portfolio/0,12-0@2-3210,31-977667,0.html&quot; &gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;voir_bt_1&quot; onmouseover=&quot;voir_on(1)&quot; onmouseout=&quot;voir_out(1)&quot;&gt;Portfolio&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/portfolio/0,12-0@2-3244,31-976300,0.html&quot; &gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;voir_bt_2&quot; onmouseover=&quot;voir_on(2)&quot; onmouseout=&quot;voir_out(2)&quot;&gt;Portfolio&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/portfolio/0,12-0@2-3246,31-977650,0.html&quot; &gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;voir_bt_3&quot; onmouseover=&quot;voir_on(3)&quot; onmouseout=&quot;voir_out(3)&quot;&gt;Portfolio&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/video/0,47-0@2-3210,54-977600,0.html&quot; &gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;voir_bt_4&quot; onmouseover=&quot;voir_on(4)&quot; onmouseout=&quot;voir_out(4)&quot;&gt;Vid&amp;eacute;o&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/portfolio/0,12-0@2-3246,31-973772,0.html&quot; &gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;voir_bt_5&quot; onmouseover=&quot;voir_on(5)&quot; onmouseout=&quot;voir_out(5)&quot;&gt;Portfolio&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;3&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div id=&quot;voir_content_0&quot; style=&quot;display:none;&quot;&gt;&lt;a href='/web/portfolio/0,12-0@2-3208,31-977892,0.html' &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_12_ill_977891_07111419_napo+x1d1_web.jpg width=155 height=103 border=0 alt='Jour de gr&#232;ve | ' title='Jour de gr&#232;ve | ' style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;&lt;div class=lien&gt;Mercredi 14 novembre 2007&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id=&quot;voir_content_1&quot; style=&quot;display:none;&quot;&gt;&lt;a href='/web/portfolio/0,12-0@2-3210,31-977667,0.html' &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_12_ill_977657_277794.jpg width=155 height=103 border=0 alt='Un oiseau couvert de p&#233;trole, pr&#232;s du port de  Kavkaz, le 13 novembre 2007. | AP/SERGEI GRITS' title='Un oiseau couvert de p&#233;trole, pr&#232;s du port de  Kavkaz, le 13 novembre 2007. | AP/SERGEI GRITS' style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;&lt;div class=lien&gt;D&#233;but de mar&#233;e noire en mer Noire&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id=&quot;voir_content_2&quot; style=&quot;display:none;&quot;&gt;&lt;a href='/web/portfolio/0,12-0@2-3244,31-976300,0.html' &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/09/v_13_ill_976249_giant_panda1_c_david_sheppard.jpg width=100 height=127 border=0 alt='Le panda g&#233;ant est une esp&#232;ce &amp;quot;en danger&amp;quot;, selon la classification de l&amp;#039;UICN. | UICN' title='Le panda g&#233;ant est une esp&#232;ce &amp;quot;en danger&amp;quot;, selon la classification de l&amp;#039;UICN. | UICN' style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;&lt;div class=lien&gt;Six esp&#232;ces d'ours sur huit menac&#233;es&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id=&quot;voir_content_3&quot; style=&quot;display:none;&quot;&gt;&lt;a href='/web/portfolio/0,12-0@2-3246,31-977650,0.html' &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_12_ill_977631_pennac_renaudot.jpg width=155 height=103 border=0 alt='Daniel Pennac, le 5 novembre 2007 &#224; Paris. | AP' title='Daniel Pennac, le 5 novembre 2007 &#224; Paris. | AP' style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;&lt;div class=lien&gt;Les prix litt&#233;raires 2007&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id=&quot;voir_content_4&quot; style=&quot;display:none;&quot;&gt;&lt;a href='/web/video/0,47-0@2-3210,54-977600,0.html' &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_12_ill_977551_policemangun_282546.jpg width=155 height=103 border=0 alt='Des milliers de policiers anti-&#233;meutes bloquaient mardi 13 novembre toutes les routes menant &#224; un quartier de Lahore, o&#249; Mme Bhutto s&#233;journe actuellement. Les policiers ont pris position derri&#232;re les v&#233;hicules et une rang&#233;e de barri&#232;res en m&#233;tal coiff&#233;es de fil barbel&#233;. La maison d&amp;#039;un d&#233;put&#233; de son parti dans laquelle s&#233;journe Mme Bhutto n&amp;#039;&#233;tait pas visible au-del&#224; du p&#233;rim&#232;tre de s&#233;curit&#233;. | AFP/Arif Ali' title='Des milliers de policiers anti-&#233;meutes bloquaient mardi 13 novembre toutes les routes menant &#224; un quartier de Lahore, o&#249; Mme Bhutto s&#233;journe actuellement. Les policiers ont pris position derri&#232;re les v&#233;hicules et une rang&#233;e de barri&#232;res en m&#233;tal coiff&#233;es de fil barbel&#233;. La maison d&amp;#039;un d&#233;put&#233; de son parti dans laquelle s&#233;journe Mme Bhutto n&amp;#039;&#233;tait pas visible au-del&#224; du p&#233;rim&#232;tre de s&#233;curit&#233;. | AFP/Arif Ali' style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;&lt;div class=lien&gt;La r&#233;sidence de Mme Bhutto encercl&#233;e par la police&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id=&quot;voir_content_5&quot; style=&quot;display:none;&quot;&gt;&lt;a href='/web/portfolio/0,12-0@2-3246,31-973772,0.html' &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/02/h_12_ill_973776_cambodge.jpg width=155 height=103 border=0 alt='  | Mark Remissa/Photoquai' title='  | Mark Remissa/Photoquai' style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;&lt;div class=lien&gt;Photoquai, premi&#232;re biennale des images du monde &#224; Paris&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;
+&lt;!-- gab-pv-sequence_une_voir.php --&gt;
+&lt;div class=&quot;pg-dte&quot;&gt;   &lt;div class=&quot;header-bg&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;VOIR&lt;/div&gt;&lt;/div&gt;   &lt;div class=&quot;box&quot;&gt;&lt;table border=0 cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/portfolio/0,12-0@2-3208,31-977892,0.html&quot; &gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;voir_bt_0&quot; onmouseover=&quot;voir_on(0)&quot; onmouseout=&quot;voir_out(0)&quot;&gt;Dessins du jour&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/portfolio/0,12-0@2-3210,31-977667,0.html&quot; &gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;voir_bt_1&quot; onmouseover=&quot;voir_on(1)&quot; onmouseout=&quot;voir_out(1)&quot;&gt;Portfolio&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/portfolio/0,12-0@2-3244,31-976300,0.html&quot; &gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;voir_bt_2&quot; onmouseover=&quot;voir_on(2)&quot; onmouseout=&quot;voir_out(2)&quot;&gt;Portfolio&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/portfolio/0,12-0@2-3246,31-977650,0.html&quot; &gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;voir_bt_3&quot; onmouseover=&quot;voir_on(3)&quot; onmouseout=&quot;voir_out(3)&quot;&gt;Portfolio&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/video/0,47-0@2-3210,54-977600,0.html&quot; &gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;voir_bt_4&quot; onmouseover=&quot;voir_on(4)&quot; onmouseout=&quot;voir_out(4)&quot;&gt;Vid&amp;eacute;o&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/portfolio/0,12-0@2-3246,31-973772,0.html&quot; &gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;voir_bt_5&quot; onmouseover=&quot;voir_on(5)&quot; onmouseout=&quot;voir_out(5)&quot;&gt;Portfolio&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;3&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;div id=&quot;voir_content_0&quot; style=&quot;display:none;&quot;&gt;&lt;a href='/web/portfolio/0,12-0@2-3208,31-977892,0.html' &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_12_ill_977891_07111419_napo+x1d1_web.jpg width=155 height=103 border=0 alt='Jour de gr&#239;&#191;&#189;ve | ' title='Jour de gr&#239;&#191;&#189;ve | ' style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;&lt;div class=lien&gt;Mercredi 14 novembre 2007&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id=&quot;voir_content_1&quot; style=&quot;display:none;&quot;&gt;&lt;a href='/web/portfolio/0,12-0@2-3210,31-977667,0.html' &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_12_ill_977657_277794.jpg width=155 height=103 border=0 alt='Un oiseau couvert de p&#239;&#191;&#189;trole, pr&#239;&#191;&#189;s du port de  Kavkaz, le 13 novembre 2007. | AP/SERGEI GRITS' title='Un oiseau couvert de p&#239;&#191;&#189;trole, pr&#239;&#191;&#189;s du port de  Kavkaz, le 13 novembre 2007. | AP/SERGEI GRITS' style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;&lt;div class=lien&gt;D&#239;&#191;&#189;but de mar&#239;&#191;&#189;e noire en mer Noire&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id=&quot;voir_content_2&quot; style=&quot;display:none;&quot;&gt;&lt;a href='/web/portfolio/0,12-0@2-3244,31-976300,0.html' &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/09/v_13_ill_976249_giant_panda1_c_david_sheppard.jpg width=100 height=127 border=0 alt='Le panda g&#239;&#191;&#189;ant est une esp&#239;&#191;&#189;ce &amp;quot;en danger&amp;quot;, selon la classification de l&amp;#039;UICN. | UICN' title='Le panda g&#239;&#191;&#189;ant est une esp&#239;&#191;&#189;ce &amp;quot;en danger&amp;quot;, selon la classification de l&amp;#039;UICN. | UICN' style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;&lt;div class=lien&gt;Six esp&#239;&#191;&#189;ces d'ours sur huit menac&#239;&#191;&#189;es&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id=&quot;voir_content_3&quot; style=&quot;display:none;&quot;&gt;&lt;a href='/web/portfolio/0,12-0@2-3246,31-977650,0.html' &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_12_ill_977631_pennac_renaudot.jpg width=155 height=103 border=0 alt='Daniel Pennac, le 5 novembre 2007 &#239;&#191;&#189; Paris. | AP' title='Daniel Pennac, le 5 novembre 2007 &#239;&#191;&#189; Paris. | AP' style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;&lt;div class=lien&gt;Les prix litt&#239;&#191;&#189;raires 2007&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id=&quot;voir_content_4&quot; style=&quot;display:none;&quot;&gt;&lt;a href='/web/video/0,47-0@2-3210,54-977600,0.html' &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_12_ill_977551_policemangun_282546.jpg width=155 height=103 border=0 alt='Des milliers de policiers anti-&#239;&#191;&#189;meutes bloquaient mardi 13 novembre toutes les routes menant &#239;&#191;&#189; un quartier de Lahore, o&#239;&#191;&#189; Mme Bhutto s&#239;&#191;&#189;journe actuellement. Les policiers ont pris position derri&#239;&#191;&#189;re les v&#239;&#191;&#189;hicules et une rang&#239;&#191;&#189;e de barri&#239;&#191;&#189;res en m&#239;&#191;&#189;tal coiff&#239;&#191;&#189;es de fil barbel&#239;&#191;&#189;. La maison d&amp;#039;un d&#239;&#191;&#189;put&#239;&#191;&#189; de son parti dans laquelle s&#239;&#191;&#189;journe Mme Bhutto n&amp;#039;&#239;&#191;&#189;tait pas visible au-del&#239;&#191;&#189; du p&#239;&#191;&#189;rim&#239;&#191;&#189;tre de s&#239;&#191;&#189;curit&#239;&#191;&#189;. | AFP/Arif Ali' title='Des milliers de policiers anti-&#239;&#191;&#189;meutes bloquaient mardi 13 novembre toutes les routes menant &#239;&#191;&#189; un quartier de Lahore, o&#239;&#191;&#189; Mme Bhutto s&#239;&#191;&#189;journe actuellement. Les policiers ont pris position derri&#239;&#191;&#189;re les v&#239;&#191;&#189;hicules et une rang&#239;&#191;&#189;e de barri&#239;&#191;&#189;res en m&#239;&#191;&#189;tal coiff&#239;&#191;&#189;es de fil barbel&#239;&#191;&#189;. La maison d&amp;#039;un d&#239;&#191;&#189;put&#239;&#191;&#189; de son parti dans laquelle s&#239;&#191;&#189;journe Mme Bhutto n&amp;#039;&#239;&#191;&#189;tait pas visible au-del&#239;&#191;&#189; du p&#239;&#191;&#189;rim&#239;&#191;&#189;tre de s&#239;&#191;&#189;curit&#239;&#191;&#189;. | AFP/Arif Ali' style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;&lt;div class=lien&gt;La r&#239;&#191;&#189;sidence de Mme Bhutto encercl&#239;&#191;&#189;e par la police&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id=&quot;voir_content_5&quot; style=&quot;display:none;&quot;&gt;&lt;a href='/web/portfolio/0,12-0@2-3246,31-973772,0.html' &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/02/h_12_ill_973776_cambodge.jpg width=155 height=103 border=0 alt='  | Mark Remissa/Photoquai' title='  | Mark Remissa/Photoquai' style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;&lt;div class=lien&gt;Photoquai, premi&#239;&#191;&#189;re biennale des images du monde &#239;&#191;&#189; Paris&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;
 &lt;script language=&quot;JavaScript&quot;&gt;
 &lt;!--
       gl_voir_f = new Array(0, 0, 0, 0, 0, 0);
@@ -1167,77 +1167,77 @@ else
 &lt;/script&gt;
       &lt;!-- /gab-pv-sequence_une_voir.php--&gt;
 
-&lt;!-- gab-pv-appel_sequence.php --&gt;  
-      
+&lt;!-- gab-pv-appel_sequence.php --&gt;
+
          &lt;div class=&quot;pg-dte&quot;&gt;
            &lt;div class=&quot;header-bg&quot;&gt;&lt;a href=&quot;/web/sequence/0,2-823448,1-0,0.html&quot;&gt;&lt;div class=&quot;header-arrow&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;POLITIQUE&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;box-no-pad&quot; style=&quot;text-align:center;padding-top:2px;padding-bottom:2px;&quot;&gt;&lt;div style=&quot;text-align:left;font: 11px/15px verdana, sans-serif; color: #222222;&quot;&gt;
 &lt;img src=&quot;http://medias.lemonde.fr/medias/image_article/drapeau.gif&quot; alt=&quot;Politique&quot; title=&quot;Politique&quot; style=&quot;float: left; margin-right: 5px;&quot; border=&quot;0&quot; height=&quot;58&quot; width=&quot;87&quot;&gt;&lt;/a&gt;
   &lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-823448,1-0,0.html&quot;&gt;&lt;font class=&quot;type&quot;&gt;TOUTE L'ACTUALIT&amp;Eacute; POLITIQUE&lt;/font&gt;&lt;/a&gt;&lt;br&gt;
-  &lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-823448,1-0,0.html&quot;&gt;Suivez l'actualit&#233; politique au quotidien&lt;/a&gt;&lt;br&gt;
-L'info en continu, portraits, chats, vid&#233;os, suivi complet du Web.&lt;br&gt;
+  &lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-823448,1-0,0.html&quot;&gt;Suivez l'actualit&#239;&#191;&#189; politique au quotidien&lt;/a&gt;&lt;br&gt;
+L'info en continu, portraits, chats, vid&#239;&#191;&#189;os, suivi complet du Web.&lt;br&gt;
   &lt;span class=&quot;type-gr&quot;&gt;Fil RSS&lt;/span&gt;&lt;a href=&quot;http://www.lemonde.fr/rss/fil/0,57-0,64-823353,0.xml&quot;&gt; Recevez l'actu politique en continu&lt;/a&gt;&lt;br&gt;
- &lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt; 
+ &lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;
 &lt;/div&gt; &lt;/div&gt;&lt;div class=&quot;box&quot;&gt;
                           &lt;table cellpadding=0 cellspacing=0 border=0&gt;
                           &lt;tr valign=top&gt;
-                          
+
                   &lt;td width=91&gt;
-                     &lt;a href=&quot;/web/article/0,1-0@2-823448,36-977722,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_1_ill_977917_flosse.jpg width=87 height=58 border=0 alt='Le secr&#233;taire d&amp;#039;Etat charg&#233; de l&amp;#039;Outre-Mer, Christian Estrosi, s&amp;#039;entretient avec le s&#233;nateur UMP Gaston Flosse, le 31 Octobre 2007 &#224; Papeete, lors d&amp;#039;une visite officielle dans la r&#233;gion.  | AFP/GREGORY BOISSY' title='Le secr&#233;taire d&amp;#039;Etat charg&#233; de l&amp;#039;Outre-Mer, Christian Estrosi, s&amp;#039;entretient avec le s&#233;nateur UMP Gaston Flosse, le 31 Octobre 2007 &#224; Papeete, lors d&amp;#039;une visite officielle dans la r&#233;gion.  | AFP/GREGORY BOISSY' &gt;&lt;/a&gt;
+                     &lt;a href=&quot;/web/article/0,1-0@2-823448,36-977722,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/13/h_1_ill_977917_flosse.jpg width=87 height=58 border=0 alt='Le secr&#239;&#191;&#189;taire d&amp;#039;Etat charg&#239;&#191;&#189; de l&amp;#039;Outre-Mer, Christian Estrosi, s&amp;#039;entretient avec le s&#239;&#191;&#189;nateur UMP Gaston Flosse, le 31 Octobre 2007 &#239;&#191;&#189; Papeete, lors d&amp;#039;une visite officielle dans la r&#239;&#191;&#189;gion.  | AFP/GREGORY BOISSY' title='Le secr&#239;&#191;&#189;taire d&amp;#039;Etat charg&#239;&#191;&#189; de l&amp;#039;Outre-Mer, Christian Estrosi, s&amp;#039;entretient avec le s&#239;&#191;&#189;nateur UMP Gaston Flosse, le 31 Octobre 2007 &#239;&#191;&#189; Papeete, lors d&amp;#039;une visite officielle dans la r&#239;&#191;&#189;gion.  | AFP/GREGORY BOISSY' &gt;&lt;/a&gt;
                   &lt;/td&gt;
                   &lt;td&gt;
                      &lt;div class=type-gr&gt;Les faits&lt;/div&gt;
-                     &lt;a href=&quot;/web/article/0,1-0@2-823448,36-977722,0.html&quot; &gt;Divorce entre M. Flosse et le gouvernement sur la r&#233;forme de la Polyn&#233;sie&lt;/a&gt;&lt;br&gt;
+                     &lt;a href=&quot;/web/article/0,1-0@2-823448,36-977722,0.html&quot; &gt;Divorce entre M. Flosse et le gouvernement sur la r&#239;&#191;&#189;forme de la Polyn&#239;&#191;&#189;sie&lt;/a&gt;&lt;br&gt;
                   &lt;/td&gt;
                           &lt;/tr&gt;
                           &lt;tr&gt;
                                        &lt;td colspan=2&gt;
-                                       
-                     &lt;div class=lien&gt;&lt;span class=type-gr&gt;Pratique&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-823448,36-977710,0.html&quot; &gt;Les lignes de TGV et le m&#233;tro parisien seront tr&#232;s perturb&#233;s&lt;/a&gt;&lt;/div&gt;
-                     
-                  &lt;div class=lien&gt;&lt;span class=type-gr&gt;Radiozapping &lt;/span&gt; &lt;a href=&quot;/web/panorama/0,11-0@2-3236,32-977215,0.html&quot; &gt;&quot;La gr&#232;ve, c'est aussi la f&#234;te !&quot; &lt;/a&gt;&lt;/div&gt;
-                  
+
+                     &lt;div class=lien&gt;&lt;span class=type-gr&gt;Pratique&lt;/span&gt; &lt;a href=&quot;/web/article/0,1-0@2-823448,36-977710,0.html&quot; &gt;Les lignes de TGV et le m&#239;&#191;&#189;tro parisien seront tr&#239;&#191;&#189;s perturb&#239;&#191;&#189;s&lt;/a&gt;&lt;/div&gt;
+
+                  &lt;div class=lien&gt;&lt;span class=type-gr&gt;Radiozapping &lt;/span&gt; &lt;a href=&quot;/web/panorama/0,11-0@2-3236,32-977215,0.html&quot; &gt;&quot;La gr&#239;&#191;&#189;ve, c'est aussi la f&#239;&#191;&#189;te !&quot; &lt;/a&gt;&lt;/div&gt;
+
                                        &lt;/td&gt;
                           &lt;/tr&gt;
                         &lt;/table&gt;
-                        &lt;/div&gt; &lt;div class=&quot;box&quot;&gt;      
+                        &lt;/div&gt; &lt;div class=&quot;box&quot;&gt;
     &lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;
         &lt;tbody&gt;
         &lt;tr valign=&quot;top&quot;&gt;
-       
+
             &lt;td width=&quot;91&quot;&gt;
                 &lt;a href=&quot;http://www.lemonde.fr/web/articleinteractif/0,41-0@2-823448,49-974593,0.html&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/edt/ill/2007/10/18/h_1_ill_968199_ratp_242853.jpg&quot; alt=&quot;Pratique&quot; title=&quot;Pratique&quot; border=&quot;0&quot; height=&quot;58&quot; width=&quot;87&quot;&gt;&lt;/a&gt;
             &lt;/td&gt;
-           
+
             &lt;td&gt;
-                &lt;div class=&quot;type-gr&quot;&gt;Les cl&#233;s&lt;/div&gt;
-                &lt;a href=&quot;http://www.lemonde.fr/web/articleinteractif/0,41-0@2-823448,49-974593,0.html&quot;&gt;Les mouvements de gr&#232;ve pr&#233;vus en novembre&lt;/a&gt;&lt;br&gt;
+                &lt;div class=&quot;type-gr&quot;&gt;Les cl&#239;&#191;&#189;s&lt;/div&gt;
+                &lt;a href=&quot;http://www.lemonde.fr/web/articleinteractif/0,41-0@2-823448,49-974593,0.html&quot;&gt;Les mouvements de gr&#239;&#191;&#189;ve pr&#239;&#191;&#189;vus en novembre&lt;/a&gt;&lt;br&gt;
             &lt;/td&gt;
         &lt;/tr&gt;
         &lt;/tbody&gt;
     &lt;/table&gt;
-&lt;/div&gt;           
+&lt;/div&gt;
          &lt;/div&gt;&lt;!-- /gab-pv-appel_sequence.php--&gt;
 
 
 
-&lt;!-- gab-pv-appel_sequence.php --&gt;  
-      
+&lt;!-- gab-pv-appel_sequence.php --&gt;
+
          &lt;div class=&quot;pg-dte&quot;&gt;
            &lt;div class=&quot;header-bg&quot;&gt;&lt;a href=&quot;/web/sequence/0,2-3504,1-0,0.html&quot;&gt;&lt;div class=&quot;header-arrow&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;TALENTS.FR&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;box&quot;&gt;Les offres d'emploi, les informations et les chiffres. &lt;/div&gt; &lt;div class=box&gt;
-&lt;div class=lien&gt;&lt;a href=&quot;http://www.talents.fr/web/article/0,1-0@2-3504,36-977169@51-821368,0.html&quot; target=&quot;_blank&quot;&gt;Emploi des handicap&#233;s : la fonction publique contrainte de revoir sa copie&lt;/div&gt;
-&lt;div class=lien&gt;&lt;a href=&quot;http://www.talents.fr/web/article/0,1-0@2-3504,36-977172@51-821368,0.html&quot; target=&quot;_blank&quot;&gt;La pr&#233;vention des risques psychosociaux se d&#233;veloppe&lt;/a&gt;&lt;/div&gt;
+&lt;div class=lien&gt;&lt;a href=&quot;http://www.talents.fr/web/article/0,1-0@2-3504,36-977169@51-821368,0.html&quot; target=&quot;_blank&quot;&gt;Emploi des handicap&#239;&#191;&#189;s : la fonction publique contrainte de revoir sa copie&lt;/div&gt;
+&lt;div class=lien&gt;&lt;a href=&quot;http://www.talents.fr/web/article/0,1-0@2-3504,36-977172@51-821368,0.html&quot; target=&quot;_blank&quot;&gt;La pr&#239;&#191;&#189;vention des risques psychosociaux se d&#239;&#191;&#189;veloppe&lt;/a&gt;&lt;/div&gt;
 &lt;/div&gt;
-&lt;a href=&quot;http://www.talents.fr/web/articleinteractif/0,41-0@2-3506,49-938867@45-3998@51-938868,0.html&quot; onclick=&quot;xt_clic('N','testetvous')&quot; target=_blank&gt;&lt;img src=http://medias.lemonde.fr/mmpub/img/com/appel-testetvous-326x64.gif border=0&gt;&lt;/a&gt;           
+&lt;a href=&quot;http://www.talents.fr/web/articleinteractif/0,41-0@2-3506,49-938867@45-3998@51-938868,0.html&quot; onclick=&quot;xt_clic('N','testetvous')&quot; target=_blank&gt;&lt;img src=http://medias.lemonde.fr/mmpub/img/com/appel-testetvous-326x64.gif border=0&gt;&lt;/a&gt;
          &lt;/div&gt;&lt;!-- /gab-pv-appel_sequence.php--&gt;
 
 
-&lt;!-- gab-pv-sequence_une_focus.php --&gt; 
-&lt;div class=&quot;pg-dte&quot;&gt;   &lt;div class=&quot;header-bg&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;FOCUS&lt;/div&gt;&lt;/div&gt;   &lt;table class=&quot;focus&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;326&quot;&gt;   &lt;tr&gt;&lt;td width=&quot;50%&quot; class=&quot;foo&quot;&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3234,55-975818,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2005/06/22/h_1_ill_665026_ent_reserves_050622_reuters.jpg width=87 height=58 border=0 alt='Le baril de p&#233;trole se rapproche du seuil de 100 dollars. | Atef Hassan/Reuters' title='Le baril de p&#233;trole se rapproche du seuil de 100 dollars. | Atef Hassan/Reuters' &gt;&lt;/a&gt;&lt;br&gt;&lt;span class=&quot;type-gr&quot;&gt;Chat&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3234,55-975818,0.html&quot; &gt;Jean-Fran&#231;ois Gruson : &quot;L'impact de la hausse actuelle du p&#233;trole est moins fort que lors des chocs de 1973 ou 1979&quot;&lt;/a&gt;&lt;/td&gt;&lt;td width=&quot;50%&quot; class=&quot;bar&quot;&gt;&lt;a href=&quot;/web/article/0,1-0@2-3224,36-977303,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_1_ill_977138_bistouri.jpg width=87 height=58 border=0 alt='&amp;quot;Je voudrais tenter de r&#233;tablir la v&#233;rit&#233; du m&#233;tier de chirurgien&amp;quot;. | GAMMA/CARSON GANCI' title='&amp;quot;Je voudrais tenter de r&#233;tablir la v&#233;rit&#233; du m&#233;tier de chirurgien&amp;quot;. | GAMMA/CARSON GANCI' &gt;&lt;/a&gt;&lt;br&gt;&lt;span class=&quot;type-gr&quot;&gt;T&#233;moignage&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/article/0,1-0@2-3224,36-977303,0.html&quot; &gt;Moi, Laurent S., chirurgien de l'h&#244;pital public&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;50%&quot; class=&quot;bar&quot;&gt;&lt;a href=&quot;/web/article/0,1-0@2-3216,36-977304,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2006/02/16/h_1_ill_742198_alang.jpg width=87 height=58 border=0 alt='Des ouvriers du chantier d&amp;#039;Alang, en Inde, le 21 janvier 2006. | AFP/EMMANUEL DUNAND' title='Des ouvriers du chantier d&amp;#039;Alang, en Inde, le 21 janvier 2006. | AFP/EMMANUEL DUNAND' &gt;&lt;/a&gt;&lt;br&gt;&lt;span class=&quot;type-gr&quot;&gt;Reportage&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/article/0,1-0@2-3216,36-977304,0.html&quot; &gt;Inde : les chantiers interdits d'Alang&lt;/a&gt;&lt;/td&gt;&lt;td width=&quot;50%&quot; class=&quot;foo&quot;&gt;&lt;a href=&quot;/web/article/0,1-0@2-3246,36-977307,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_1_ill_977139_johnny-hallyday.jpg width=87 height=58 border=0 alt='Johnny Hallyday &#224; Paris, le 15 octobre 2007. | GAMMA/PIERRE HOUNSFIELD/EYEDEA PRESSE' title='Johnny Hallyday &#224; Paris, le 15 octobre 2007. | GAMMA/PIERRE HOUNSFIELD/EYEDEA PRESSE' &gt;&lt;/a&gt;&lt;br&gt;&lt;span class=&quot;type-gr&quot;&gt;Les faits&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/article/0,1-0@2-3246,36-977307,0.html&quot; &gt;Johnny Hallyday sort son &quot;album de blues&quot;, devenu un enjeu inattendu pour sa carri&#232;re&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;50%&quot; class=&quot;foo&quot;&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3224,55-966503,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/10/15/h_1_ill_967310_avocats.jpg width=87 height=58 border=0 alt='Des avocats manifestent le 12 octobre 2007 devant le palais de justice de Lille lors de la venue du garde des sceaux, Rachida Dati, et du premier ministre, Fran&#231;ois Fillon. | AFP/PHILIPPE HUGUEN' title='Des avocats manifestent le 12 octobre 2007 devant le palais de justice de Lille lors de la venue du garde des sceaux, Rachida Dati, et du premier ministre, Fran&#231;ois Fillon. | AFP/PHILIPPE HUGUEN' &gt;&lt;/a&gt;&lt;br&gt;&lt;span class=&quot;type-gr&quot;&gt;Chat&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3224,55-966503,0.html&quot; &gt;Le r&#233;forme de la carte judiciaire &quot;risque d'&#233;loigner le citoyen des tribunaux&quot;&lt;/a&gt;&lt;/td&gt;&lt;td width=&quot;50%&quot; class=&quot;bar&quot;&gt;&lt;a href=&quot;/web/article/0,1-0@2-3246,36-977312,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/v_5_ill_977140_aff-animal.jpg width=87 height=111 border=0 alt='Affiche de l&amp;#039;exposition &amp;quot;Animal&amp;quot; au Mus&#233;e Dapper &#224; Paris, jusqu&amp;#039;au 30 mars 2008. | D.R.' title='Affiche de l&amp;#039;exposition &amp;quot;Animal&amp;quot; au Mus&#233;e Dapper &#224; Paris, jusqu&amp;#039;au 30 mars 2008. | D.R.' &gt;&lt;/a&gt;&lt;br&gt;&lt;span class=&quot;type-gr&quot;&gt;Critique&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/article/0,1-0@2-3246,36-977312,0.html&quot; &gt;Exposition : l'animal en Afrique, puissance surnaturelle&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_une_focus.php--&gt;
-&lt;!-- gab-pv-sequence_une_pause.php --&gt; 
-&lt;div class=&quot;pg-dte&quot;&gt;   &lt;div class=&quot;header-bg&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;LA PAUSE&lt;/div&gt;&lt;/div&gt;   &lt;table class=&quot;focus&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;326&quot;&gt;   &lt;tr&gt;      &lt;td width=&quot;50%&quot; class=&quot;pause&quot;&gt;&lt;a href=&quot;/web/panorama/0,11-0@2-3236,32-977215,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_12_radiozapping155.jpg width=153 height=103 border=0 alt='Le Radiozapping, chaque jour &#224; midi, tout ce qu&amp;#039;il ne fallait pas rater des matinales radio. | Le Monde.fr' title='Le Radiozapping, chaque jour &#224; midi, tout ce qu&amp;#039;il ne fallait pas rater des matinales radio. | Le Monde.fr' &gt;&lt;/a&gt;      &lt;/td&gt;      &lt;td width=&quot;50%&quot; class=&quot;pause&quot;&gt;&lt;a href=&quot;/web/vi/0,47-0@2-3546,54-929092,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/06/29/h_12_blog-inter-155.jpg width=155 height=103 border=0 alt='Une carte interactive de blogs d&amp;#039;abonn&#233;s du Monde.fr aux quatre coins du monde. | DR' title='Une carte interactive de blogs d&amp;#039;abonn&#233;s du Monde.fr aux quatre coins du monde. | DR' &gt;&lt;/a&gt;      &lt;/td&gt;   &lt;/tr&gt;   &lt;/table&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_une_pause.php--&gt;&lt;!-- gab-pv-sequence_une_service.php --&gt; 
+&lt;!-- gab-pv-sequence_une_focus.php --&gt;
+&lt;div class=&quot;pg-dte&quot;&gt;   &lt;div class=&quot;header-bg&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;FOCUS&lt;/div&gt;&lt;/div&gt;   &lt;table class=&quot;focus&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;326&quot;&gt;   &lt;tr&gt;&lt;td width=&quot;50%&quot; class=&quot;foo&quot;&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3234,55-975818,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2005/06/22/h_1_ill_665026_ent_reserves_050622_reuters.jpg width=87 height=58 border=0 alt='Le baril de p&#239;&#191;&#189;trole se rapproche du seuil de 100 dollars. | Atef Hassan/Reuters' title='Le baril de p&#239;&#191;&#189;trole se rapproche du seuil de 100 dollars. | Atef Hassan/Reuters' &gt;&lt;/a&gt;&lt;br&gt;&lt;span class=&quot;type-gr&quot;&gt;Chat&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3234,55-975818,0.html&quot; &gt;Jean-Fran&#239;&#191;&#189;ois Gruson : &quot;L'impact de la hausse actuelle du p&#239;&#191;&#189;trole est moins fort que lors des chocs de 1973 ou 1979&quot;&lt;/a&gt;&lt;/td&gt;&lt;td width=&quot;50%&quot; class=&quot;bar&quot;&gt;&lt;a href=&quot;/web/article/0,1-0@2-3224,36-977303,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_1_ill_977138_bistouri.jpg width=87 height=58 border=0 alt='&amp;quot;Je voudrais tenter de r&#239;&#191;&#189;tablir la v&#239;&#191;&#189;rit&#239;&#191;&#189; du m&#239;&#191;&#189;tier de chirurgien&amp;quot;. | GAMMA/CARSON GANCI' title='&amp;quot;Je voudrais tenter de r&#239;&#191;&#189;tablir la v&#239;&#191;&#189;rit&#239;&#191;&#189; du m&#239;&#191;&#189;tier de chirurgien&amp;quot;. | GAMMA/CARSON GANCI' &gt;&lt;/a&gt;&lt;br&gt;&lt;span class=&quot;type-gr&quot;&gt;T&#239;&#191;&#189;moignage&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/article/0,1-0@2-3224,36-977303,0.html&quot; &gt;Moi, Laurent S., chirurgien de l'h&#239;&#191;&#189;pital public&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;50%&quot; class=&quot;bar&quot;&gt;&lt;a href=&quot;/web/article/0,1-0@2-3216,36-977304,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2006/02/16/h_1_ill_742198_alang.jpg width=87 height=58 border=0 alt='Des ouvriers du chantier d&amp;#039;Alang, en Inde, le 21 janvier 2006. | AFP/EMMANUEL DUNAND' title='Des ouvriers du chantier d&amp;#039;Alang, en Inde, le 21 janvier 2006. | AFP/EMMANUEL DUNAND' &gt;&lt;/a&gt;&lt;br&gt;&lt;span class=&quot;type-gr&quot;&gt;Reportage&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/article/0,1-0@2-3216,36-977304,0.html&quot; &gt;Inde : les chantiers interdits d'Alang&lt;/a&gt;&lt;/td&gt;&lt;td width=&quot;50%&quot; class=&quot;foo&quot;&gt;&lt;a href=&quot;/web/article/0,1-0@2-3246,36-977307,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_1_ill_977139_johnny-hallyday.jpg width=87 height=58 border=0 alt='Johnny Hallyday &#239;&#191;&#189; Paris, le 15 octobre 2007. | GAMMA/PIERRE HOUNSFIELD/EYEDEA PRESSE' title='Johnny Hallyday &#239;&#191;&#189; Paris, le 15 octobre 2007. | GAMMA/PIERRE HOUNSFIELD/EYEDEA PRESSE' &gt;&lt;/a&gt;&lt;br&gt;&lt;span class=&quot;type-gr&quot;&gt;Les faits&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/article/0,1-0@2-3246,36-977307,0.html&quot; &gt;Johnny Hallyday sort son &quot;album de blues&quot;, devenu un enjeu inattendu pour sa carri&#239;&#191;&#189;re&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width=&quot;50%&quot; class=&quot;foo&quot;&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3224,55-966503,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/10/15/h_1_ill_967310_avocats.jpg width=87 height=58 border=0 alt='Des avocats manifestent le 12 octobre 2007 devant le palais de justice de Lille lors de la venue du garde des sceaux, Rachida Dati, et du premier ministre, Fran&#239;&#191;&#189;ois Fillon. | AFP/PHILIPPE HUGUEN' title='Des avocats manifestent le 12 octobre 2007 devant le palais de justice de Lille lors de la venue du garde des sceaux, Rachida Dati, et du premier ministre, Fran&#239;&#191;&#189;ois Fillon. | AFP/PHILIPPE HUGUEN' &gt;&lt;/a&gt;&lt;br&gt;&lt;span class=&quot;type-gr&quot;&gt;Chat&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/chat/0,46-0@2-3224,55-966503,0.html&quot; &gt;Le r&#239;&#191;&#189;forme de la carte judiciaire &quot;risque d'&#239;&#191;&#189;loigner le citoyen des tribunaux&quot;&lt;/a&gt;&lt;/td&gt;&lt;td width=&quot;50%&quot; class=&quot;bar&quot;&gt;&lt;a href=&quot;/web/article/0,1-0@2-3246,36-977312,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/v_5_ill_977140_aff-animal.jpg width=87 height=111 border=0 alt='Affiche de l&amp;#039;exposition &amp;quot;Animal&amp;quot; au Mus&#239;&#191;&#189;e Dapper &#239;&#191;&#189; Paris, jusqu&amp;#039;au 30 mars 2008. | D.R.' title='Affiche de l&amp;#039;exposition &amp;quot;Animal&amp;quot; au Mus&#239;&#191;&#189;e Dapper &#239;&#191;&#189; Paris, jusqu&amp;#039;au 30 mars 2008. | D.R.' &gt;&lt;/a&gt;&lt;br&gt;&lt;span class=&quot;type-gr&quot;&gt;Critique&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;/web/article/0,1-0@2-3246,36-977312,0.html&quot; &gt;Exposition : l'animal en Afrique, puissance surnaturelle&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_une_focus.php--&gt;
+&lt;!-- gab-pv-sequence_une_pause.php --&gt;
+&lt;div class=&quot;pg-dte&quot;&gt;   &lt;div class=&quot;header-bg&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;LA PAUSE&lt;/div&gt;&lt;/div&gt;   &lt;table class=&quot;focus&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;326&quot;&gt;   &lt;tr&gt;      &lt;td width=&quot;50%&quot; class=&quot;pause&quot;&gt;&lt;a href=&quot;/web/panorama/0,11-0@2-3236,32-977215,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/11/12/h_12_radiozapping155.jpg width=153 height=103 border=0 alt='Le Radiozapping, chaque jour &#239;&#191;&#189; midi, tout ce qu&amp;#039;il ne fallait pas rater des matinales radio. | Le Monde.fr' title='Le Radiozapping, chaque jour &#239;&#191;&#189; midi, tout ce qu&amp;#039;il ne fallait pas rater des matinales radio. | Le Monde.fr' &gt;&lt;/a&gt;      &lt;/td&gt;      &lt;td width=&quot;50%&quot; class=&quot;pause&quot;&gt;&lt;a href=&quot;/web/vi/0,47-0@2-3546,54-929092,0.html&quot; &gt;&lt;img src=http://medias.lemonde.fr/mmpub/edt/ill/2007/06/29/h_12_blog-inter-155.jpg width=155 height=103 border=0 alt='Une carte interactive de blogs d&amp;#039;abonn&#239;&#191;&#189;s du Monde.fr aux quatre coins du monde. | DR' title='Une carte interactive de blogs d&amp;#039;abonn&#239;&#191;&#189;s du Monde.fr aux quatre coins du monde. | DR' &gt;&lt;/a&gt;      &lt;/td&gt;   &lt;/tr&gt;   &lt;/table&gt;&lt;/div&gt;&lt;!-- /gab-pv-sequence_une_pause.php--&gt;&lt;!-- gab-pv-sequence_une_service.php --&gt;
 &lt;div class=&quot;pg-dte&quot;&gt;&lt;div class=&quot;header-bg&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;SERVICES&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;box&quot;&gt;&lt;table border=0 cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tr&gt;
-&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;http://www.lemonde.fr/web/meteo/0,31-0,42-355,0.html&quot; onclick=&quot;xt_clic('N','Services: M&#233;teo')&quot;&gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;ser_bt_0&quot; onmouseover=&quot;ser_on(0)&quot; onmouseout=&quot;ser_out(0)&quot;&gt;M&#233;t&#233;o&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;
-&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/eco/accueil/0,58-0@2-3234,1-0,0.html?NAV1=MAR&amp;NAV2=ACCUEIL&quot; onclick=&quot;xt_clic('N','Services: March&#233;s')&quot;&gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;ser_bt_1&quot; onmouseover=&quot;ser_on(1)&quot; onmouseout=&quot;ser_out(1)&quot;&gt;March&amp;eacute;s&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;
+&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;http://www.lemonde.fr/web/meteo/0,31-0,42-355,0.html&quot; onclick=&quot;xt_clic('N','Services: M&#239;&#191;&#189;teo')&quot;&gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;ser_bt_0&quot; onmouseover=&quot;ser_on(0)&quot; onmouseout=&quot;ser_out(0)&quot;&gt;M&#239;&#191;&#189;t&#239;&#191;&#189;o&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;
+&lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/eco/accueil/0,58-0@2-3234,1-0,0.html?NAV1=MAR&amp;NAV2=ACCUEIL&quot; onclick=&quot;xt_clic('N','Services: March&#239;&#191;&#189;s')&quot;&gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;ser_bt_1&quot; onmouseover=&quot;ser_on(1)&quot; onmouseout=&quot;ser_out(1)&quot;&gt;March&amp;eacute;s&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;
 &lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/rss/0,48-0,1-0,0.html&quot; onclick=&quot;xt_clic('N','Services: RSS')&quot;&gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;ser_bt_2&quot; onmouseover=&quot;ser_on(2)&quot; onmouseout=&quot;ser_out(2)&quot;&gt;RSS &amp; Podcast&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;
 &lt;/tr&gt;&lt;tr&gt;
 &lt;td&gt;&lt;div class=&quot;no-underline&quot;&gt;&lt;a href=&quot;/web/inscription/formulaire/1,27-0,1-0,0.html&quot; onclick=&quot;xt_clic('N','Services: Newsletters')&quot;&gt;&lt;div class=&quot;bt-big-off&quot; id=&quot;ser_bt_3&quot; onmouseover=&quot;ser_on(3)&quot; onmouseout=&quot;ser_out(3)&quot;&gt;Newsletters&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;
@@ -1247,7 +1247,7 @@ L'info en continu, portraits, chats, vid
 &lt;tr&gt;
 &lt;td colspan=&quot;3&quot;&gt;&lt;div class=&quot;content&quot;&gt;
 &lt;div id=&quot;ser_content_0&quot; class=&quot;service&quot;&gt;
-  &lt;a href=&quot;http://www.lemonde.fr/web/meteo/0,31-0,42-355,0.html&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/met/gd/18.gif&quot; border=&quot;0&quot; alt=&quot;Pluie fine. Partiellement ensoleill&#233;. Vif.&quot; title=&quot;Pluie fine. Partiellement ensoleill&#233;. Vif.&quot; style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; hspace=1&gt;&lt;/a&gt;  &lt;div class=&quot;desc&quot;&gt;    &lt;a href=&quot;http://www.lemonde.fr/web/meteo/0,31-0,42-355,0.html&quot;&gt;Paris, France&lt;/a&gt;&lt;br/&gt;    &lt;b&gt;7&amp;nbsp;&#176;C&lt;/b&gt;&lt;br/&gt;Pluie fine. Partiellement ensoleill&#233;. Vif.  &lt;/div&gt;&lt;/div&gt;
+  &lt;a href=&quot;http://www.lemonde.fr/web/meteo/0,31-0,42-355,0.html&quot;&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/met/gd/18.gif&quot; border=&quot;0&quot; alt=&quot;Pluie fine. Partiellement ensoleill&#239;&#191;&#189;. Vif.&quot; title=&quot;Pluie fine. Partiellement ensoleill&#239;&#191;&#189;. Vif.&quot; style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; hspace=1&gt;&lt;/a&gt;  &lt;div class=&quot;desc&quot;&gt;    &lt;a href=&quot;http://www.lemonde.fr/web/meteo/0,31-0,42-355,0.html&quot;&gt;Paris, France&lt;/a&gt;&lt;br/&gt;    &lt;b&gt;7&amp;nbsp;&#239;&#191;&#189;C&lt;/b&gt;&lt;br/&gt;Pluie fine. Partiellement ensoleill&#239;&#191;&#189;. Vif.  &lt;/div&gt;&lt;/div&gt;
 &lt;link type=&quot;text/css&quot; rel=&quot;stylesheet&quot; href=&quot;http://medias.lemonde.fr/mmpub/css/finance_graphcoldroite.css&quot;&gt;
       &lt;script language=&quot;javascript&quot;&gt;
       &lt;!--
@@ -1351,7 +1351,7 @@ function coldroit(id_notation) {cible = document.getElementById(id_notation);
    &lt;div id=&quot;ser_content_2&quot; class=&quot;service&quot;&gt;
       &lt;a href=&quot;/web/rss/0,48-0,1-0,0.html&quot; &gt;
          &lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/rss-hq.gif&quot; width=70 border=0 alt=&quot;flux rss&quot; title=&quot;flux rss&quot; style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;
-         &lt;div class=lien&gt;Fils d'information du Monde.fr et vid&#233;os &#224; podcaster.&lt;/div&gt;
+         &lt;div class=lien&gt;Fils d'information du Monde.fr et vid&#239;&#191;&#189;os &#239;&#191;&#189; podcaster.&lt;/div&gt;
       &lt;/a&gt;
    &lt;/div&gt;
 &lt;div id=&quot;ser_content_3&quot; class=&quot;service&quot;&gt;&lt;div class=desc&gt;      Recevez la newsletter gratuite         &lt;a href=&quot;javascript:window.open('http://www.lemonde.fr/web/newsletter_exemple/0,30-0,62-0@60-5@45-2,0.html', 'newsletter_exemple', 'status=yes,resizable=yes,scrollbars=yes,width=660,height=500'); void(0); &quot;&gt; &quot;Les titres du jour&quot; :&lt;/a&gt;&lt;/div&gt;&lt;form name=&quot;coldte_news&quot; method=&quot;POST&quot; action=&quot;/web/inscription_newsletter/1,27-0,1-0,0.html&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;nb_elem&quot; value=&quot;1&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;liste_newsletters&quot; value=&quot;&quot;/&gt;&lt;input type=&quot;hidden&quot; name=&quot;newsletter_1&quot; value=&quot;5&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;format_nl&quot; value=&quot;2&quot; checked valign=&quot;top&quot;/&gt;
@@ -1359,12 +1359,12 @@ function coldroit(id_notation) {cible = document.getElementById(id_notation);
                &lt;div class=lien&gt;
                   Votre adresse e-mail &lt;input type=&quot;text&quot; name=&quot;email&quot; size=24 value=&quot;&quot;&gt;  &lt;input type=&quot;image&quot; src=&quot;http://medias.lemonde.fr/mmpub/img/bt/go.gif&quot; onclick=&quot;submit();&quot; width=&quot;14&quot; height=&quot;14&quot; border=&quot;0&quot; align=&quot;absmiddle&quot;/&gt;
                &lt;/div&gt;
-            &lt;/div&gt;&lt;a href=&quot;/web/inscription_newsletter/1,27-0,1-0,0.html&quot;&gt;Recevez nos newsletters th&#233;matiques, abonnez-vous.&lt;/a&gt;&lt;/form&gt;&lt;/div&gt;
+            &lt;/div&gt;&lt;a href=&quot;/web/inscription_newsletter/1,27-0,1-0,0.html&quot;&gt;Recevez nos newsletters th&#239;&#191;&#189;matiques, abonnez-vous.&lt;/a&gt;&lt;/form&gt;&lt;/div&gt;
 
    &lt;div id=&quot;ser_content_4&quot; class=&quot;service&quot;&gt;
       &lt;a href=&quot;/web/articleinteractif/0,41-0@2-3388,49-888182,0.html&quot;&gt;
          &lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/servicepda.gif&quot; alt=&quot;service pda&quot; title=&quot;service pda&quot; width=70 border=0 style=&quot;float:left; margin-right:5px;margin-bottom:3px;&quot; vspace=4 hspace=1&gt;
-         &lt;div class=lien&gt;Emportez et consultez Le Monde.fr o&#249; que vous soyez !&lt;/div&gt;
+         &lt;div class=lien&gt;Emportez et consultez Le Monde.fr o&#239;&#191;&#189; que vous soyez !&lt;/div&gt;
       &lt;/a&gt;
    &lt;/div&gt;
       &lt;script language=&quot;JavaScript&quot;&gt;
@@ -1434,7 +1434,7 @@ function coldroit(id_notation) {cible = document.getElementById(id_notation);
       &lt;div id=&quot;ser_content_5&quot; class=&quot;service&quot;&gt;&lt;div id=&quot;sytadin&quot; class=&quot;desc&quot; &gt;  &lt;div id=&quot;coldte_sytadin&quot; style=&quot;position:relative;overflow:hidden;width:140;height:80;float:left;cursor:move;&quot;&gt;
     &lt;div style=&quot;position:absolute;top:-115px;left:-150px;width:437px;height:370px; background-image: url('http://www.sytadin.equipement.gouv.fr/tempsreel/general.gif');background-position:left; background-repeat:no-repeat;&quot; id=&quot;coldte_sytadin_sub&quot; useMap=&quot;#mapgene&quot;/&gt;&lt;/div&gt;
   &lt;/div&gt;
-&lt;div style=&quot;float:left; width:150px; margin:0px; padding:0px; padding-left:4px; &quot;&gt;&lt;div class=&quot;lien&quot; style=&quot;margin:0px; padding:0px;&quot;&gt;&lt;a href=&quot;/web/traficidf/0,53-0,1-0,0.html&quot;&gt;Circulation en temps r&#233;el en Ile-de-France&lt;/a&gt;&lt;/div&gt;
+&lt;div style=&quot;float:left; width:150px; margin:0px; padding:0px; padding-left:4px; &quot;&gt;&lt;div class=&quot;lien&quot; style=&quot;margin:0px; padding:0px;&quot;&gt;&lt;a href=&quot;/web/traficidf/0,53-0,1-0,0.html&quot;&gt;Circulation en temps r&#239;&#191;&#189;el en Ile-de-France&lt;/a&gt;&lt;/div&gt;
          &lt;div class=&quot;sytadin-box&quot; style=&quot;background-color:#00FF00;&quot;&gt;&amp;nbsp;&lt;/div&gt;Fluide&lt;br/&gt;
          &lt;div class=&quot;sytadin-box&quot; style=&quot;background-color:#FF0000;&quot;&gt;&amp;nbsp;&lt;/div&gt;Embouteillages&lt;br/&gt;
          &lt;div class=&quot;sytadin-box&quot; style=&quot;background-color:#CC00FF;&quot;&gt;&amp;nbsp;&lt;/div&gt;Fermeture&lt;br/&gt;
@@ -1473,7 +1473,7 @@ function coldroit(id_notation) {cible = document.getElementById(id_notation);
 
       function ser(num)
       {
-         // si tous les onglets sauf March&#233;s, on plie les indices en plus
+         // si tous les onglets sauf March&#239;&#191;&#189;s, on plie les indices en plus
          if (num != 1)
          {
             plier_indices_marches(&quot;table-indices&quot;);
@@ -1522,19 +1522,19 @@ function coldroit(id_notation) {cible = document.getElementById(id_notation);
 &lt;!-- sondage: appel du composant: /web/sondage/cmp_col_droite/0,25-0@2-3208,15-977670@45-0,0.html --&gt;
 &lt;!-- Rosae:: mardi 13 novembre 2007 15:31:07.22123 0.060 terre --&gt;
 
-&lt;div class=&quot;header-bg&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;VOTRE AVIS&lt;/div&gt;&lt;/div&gt;&lt;div class=box&gt;En ce qui concerne les revendications des manifestants et des gr&#233;vistes sur les r&#233;gimes sp&#233;ciaux de retraite, souhaitez-vous que le gouvernement&#8230;&lt;br&gt;&lt;br&gt;
+&lt;div class=&quot;header-bg&quot;&gt;&lt;div class=&quot;header-txt&quot;&gt;VOTRE AVIS&lt;/div&gt;&lt;/div&gt;&lt;div class=box&gt;En ce qui concerne les revendications des manifestants et des gr&#239;&#191;&#189;vistes sur les r&#239;&#191;&#189;gimes sp&#239;&#191;&#189;ciaux de retraite, souhaitez-vous que le gouvernement&#239;&#191;&#189;&lt;br&gt;&lt;br&gt;
 
 &lt;script language=&quot;javascript&quot;&gt;
-function getCookieVal (offset) 
+function getCookieVal (offset)
 {
    var endstr = document.cookie.indexOf (&quot;;&quot;, offset);
    if (endstr == -1)
      endstr = document.cookie.length;
-   return unescape(document.cookie.substring(offset, endstr)); 
+   return unescape(document.cookie.substring(offset, endstr));
 }
-function GetCookie (name) 
+function GetCookie (name)
 {
-   var arg = name + &quot;=&quot;;   
+   var arg = name + &quot;=&quot;;
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
@@ -1547,20 +1547,20 @@ function GetCookie (name)
     }
    return null;
 }
-function FixCookieDate (date) 
+function FixCookieDate (date)
 {
    var base = new Date(0);
    var skew = base.getTime(); // dawn of (Unix) time - should be 0
    if (skew &gt; 0)  // Except on the Mac - ahead of its time
-     date.setTime (date.getTime() - skew); 
-} 
-function SetCookie (name,value,expires,path,domain,secure) 
+     date.setTime (date.getTime() - skew);
+}
+function SetCookie (name,value,expires,path,domain,secure)
 {
    document.cookie = name + &quot;=&quot; + escape (value) +
      ((expires) ? &quot;; expires=&quot; + expires.toGMTString() : &quot;&quot;) +
      ((path) ? &quot;; path=&quot; + path : &quot;&quot;) +
      ((domain) ? &quot;; domain=&quot; + domain : &quot;&quot;) +
-     ((secure) ? &quot;; secure&quot; : &quot;&quot;); 
+     ((secure) ? &quot;; secure&quot; : &quot;&quot;);
 }
 var nom_cookie=&quot;sondage977670&quot;;
 // Si on n'a pas de cookie, on n'a pas vote
@@ -1568,13 +1568,13 @@ if (!GetCookie(nom_cookie)) {
  var expdate = new Date ();
  var cookie_domaine = &quot;.lemonde.fr&quot;;
  FixCookieDate (expdate); // Correct for Mac date bug - call only once for given Date object!
- expdate.setTime (expdate.getTime() + 604800000); // On fixe la dur&#233;e de vie du cookie pour un sondage donn&#233; &#224; une semaine
+ expdate.setTime (expdate.getTime() + 604800000); // On fixe la dur&#239;&#191;&#189;e de vie du cookie pour un sondage donn&#239;&#191;&#189; &#239;&#191;&#189; une semaine
  var nom_cookie=&quot;sondage977670&quot;;
  var path_cookie=&quot;/&quot;;
 
- document.write('&lt;form name=form_sond977670 method=post action=http://www-org.lemonde.fr/web/sondage/insertion/1,25-0@2-3208,15-977670,0.html&gt;&lt;input type=radio name=num_reponse value=5335&gt;&#8230; en tienne compte et modifie ses projets &lt;br&gt;&lt;br&gt;&lt;input type=radio name=num_reponse value=5336&gt;&#8230; ou n&amp;#039;en tienne pas compte et maintienne ses projet&lt;br&gt;&lt;br&gt;&lt;input type=radio name=num_reponse value=5337&gt;Sans opinion&lt;br&gt;&lt;br&gt;&lt;div align=center&gt;&lt;input type=&quot;submit&quot; name=&quot;Exprimez-vous&quot; value=&quot;Exprimez-vous&quot; class=bouton onclick=&quot;javascript:SetCookie(nom_cookie, 1, expdate,path_cookie,cookie_domaine); document.form_sond977670.submit();&quot;&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;');
+ document.write('&lt;form name=form_sond977670 method=post action=http://www-org.lemonde.fr/web/sondage/insertion/1,25-0@2-3208,15-977670,0.html&gt;&lt;input type=radio name=num_reponse value=5335&gt;&#239;&#191;&#189; en tienne compte et modifie ses projets &lt;br&gt;&lt;br&gt;&lt;input type=radio name=num_reponse value=5336&gt;&#239;&#191;&#189; ou n&amp;#039;en tienne pas compte et maintienne ses projet&lt;br&gt;&lt;br&gt;&lt;input type=radio name=num_reponse value=5337&gt;Sans opinion&lt;br&gt;&lt;br&gt;&lt;div align=center&gt;&lt;input type=&quot;submit&quot; name=&quot;Exprimez-vous&quot; value=&quot;Exprimez-vous&quot; class=bouton onclick=&quot;javascript:SetCookie(nom_cookie, 1, expdate,path_cookie,cookie_domaine); document.form_sond977670.submit();&quot;&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;');
 } else {
- document.write('&#8230; en tienne compte et modifie ses projets .&lt;br&gt;&lt;img src=http://medias.lemonde.fr/mmpub/img/bg/x_99.gif height=12 width=74.8&gt;&amp;nbsp;&lt;b&gt;37.4&amp;nbsp;%&lt;/b&gt;&lt;br&gt;&lt;br&gt;&#8230; ou n&amp;#039;en tienne pas compte et maintienne ses projet.&lt;br&gt;&lt;img src=http://medias.lemonde.fr/mmpub/img/bg/x_99.gif height=12 width=118.2&gt;&amp;nbsp;&lt;b&gt;59.1&amp;nbsp;%&lt;/b&gt;&lt;br&gt;&lt;br&gt;Sans opinion.&lt;br&gt;&lt;img src=http://medias.lemonde.fr/mmpub/img/bg/x_99.gif height=12 width=7.2&gt;&amp;nbsp;&lt;b&gt;3.6&amp;nbsp;%&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;div class=dt&gt;Nombre de votants : 2321&lt;/div&gt;&lt;/div&gt;');}
+ document.write('&#239;&#191;&#189; en tienne compte et modifie ses projets .&lt;br&gt;&lt;img src=http://medias.lemonde.fr/mmpub/img/bg/x_99.gif height=12 width=74.8&gt;&amp;nbsp;&lt;b&gt;37.4&amp;nbsp;%&lt;/b&gt;&lt;br&gt;&lt;br&gt;&#239;&#191;&#189; ou n&amp;#039;en tienne pas compte et maintienne ses projet.&lt;br&gt;&lt;img src=http://medias.lemonde.fr/mmpub/img/bg/x_99.gif height=12 width=118.2&gt;&amp;nbsp;&lt;b&gt;59.1&amp;nbsp;%&lt;/b&gt;&lt;br&gt;&lt;br&gt;Sans opinion.&lt;br&gt;&lt;img src=http://medias.lemonde.fr/mmpub/img/bg/x_99.gif height=12 width=7.2&gt;&amp;nbsp;&lt;b&gt;3.6&amp;nbsp;%&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;div class=dt&gt;Nombre de votants : 2321&lt;/div&gt;&lt;/div&gt;');}
 ;
 &lt;/script&gt;
 
@@ -1634,27 +1634,27 @@ else
                      &lt;td width=&quot;323&quot; class=&quot;pnav&quot; rowspan=2 &gt;
                         &lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/icn/journal.gif&quot; width=&quot;75&quot; height=&quot;59&quot; border=&quot;0&quot; align=&quot;right&quot; alt=&quot;&quot;&gt;
                         &lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/lgo/lemonde.gif&quot; border=&quot;0&quot; vspace=&quot;2&quot; alt=&quot;&quot;&gt;&lt;br&gt;
-                        &lt;a href=&quot;http://eu.link.decdna.net/n/14763/31113/www.lemonde.fr/9a6886bd0025030000001fa400000000136ef32d0000000000000000000000000000000100/i/c?0&amp;pq=%2fabojournal%2f%3fxtor%3dAL%2d32280017&quot; onclick=&quot;xt_clic('N','Monde')&quot; target=_top&gt;&amp;raquo; Abonnez-vous au &lt;i&gt;Monde&lt;/i&gt; &#224; -60%&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/monabo/&quot; onclick=&quot;xt_clic('N','Deja abonne au journal')&quot; target=_top&gt;&amp;raquo; D&#233;j&#224; abonn&#233; au journal&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/kiosque&quot; onclick=&quot;xt_clic('N','Le journal en kiosque')&quot; target=_top&gt;&amp;raquo; Le journal en kiosque&lt;/a&gt;&lt;br&gt;         
-                     &lt;/td&gt;                  
+                        &lt;a href=&quot;http://eu.link.decdna.net/n/14763/31113/www.lemonde.fr/9a6886bd0025030000001fa400000000136ef32d0000000000000000000000000000000100/i/c?0&amp;pq=%2fabojournal%2f%3fxtor%3dAL%2d32280017&quot; onclick=&quot;xt_clic('N','Monde')&quot; target=_top&gt;&amp;raquo; Abonnez-vous au &lt;i&gt;Monde&lt;/i&gt; &#239;&#191;&#189; -60%&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/monabo/&quot; onclick=&quot;xt_clic('N','Deja abonne au journal')&quot; target=_top&gt;&amp;raquo; D&#239;&#191;&#189;j&#239;&#191;&#189; abonn&#239;&#191;&#189; au journal&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/kiosque&quot; onclick=&quot;xt_clic('N','Le journal en kiosque')&quot; target=_top&gt;&amp;raquo; Le journal en kiosque&lt;/a&gt;&lt;br&gt;
+                     &lt;/td&gt;
                   &lt;/tr&gt;
                   &lt;tr class=&quot;pnav&quot; valign=top&gt;
                      &lt;td width=&quot;100&quot;&gt;
-                        &lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3208,1-0,0.html&quot; onclick=&quot;xt_clic('N','A la une')&quot; target=_top&gt;&amp;raquo; A la une&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/desk/0,26-3424,1-0,0.html&quot; onclick=&quot;xt_clic('N','Le Desk')&quot; target=_top&gt;&amp;raquo; Le Desk&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3232,1-0,0.html&quot; onclick=&quot;xt_clic('N','Opinions')&quot; target=_top&gt;&amp;raquo; Opinions&lt;/a&gt;                          
+                        &lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3208,1-0,0.html&quot; onclick=&quot;xt_clic('N','A la une')&quot; target=_top&gt;&amp;raquo; A la une&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://abonnes.lemonde.fr/web/desk/0,26-3424,1-0,0.html&quot; onclick=&quot;xt_clic('N','Le Desk')&quot; target=_top&gt;&amp;raquo; Le Desk&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3232,1-0,0.html&quot; onclick=&quot;xt_clic('N','Opinions')&quot; target=_top&gt;&amp;raquo; Opinions&lt;/a&gt;
                      &lt;/td&gt;
                      &lt;td width=&quot;100&quot;&gt;
-                        &lt;a href=&quot;http://www.lemonde.fr/web/recherche/1,13-0,1-0,0.html&quot; onclick=&quot;xt_clic('N','Archives')&quot; target=_top&gt;&amp;raquo; Archives&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://forums.lemonde.fr&quot; onclick=&quot;xt_clic('N','Forums')&quot; target=_top&gt;&amp;raquo; Forums&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/blogs/0,39-0,48-0,0.html&quot; onclick=&quot;xt_clic('N','Blogs')&quot; target=_top&gt;&amp;raquo; Blogs&lt;/a&gt;         
+                        &lt;a href=&quot;http://www.lemonde.fr/web/recherche/1,13-0,1-0,0.html&quot; onclick=&quot;xt_clic('N','Archives')&quot; target=_top&gt;&amp;raquo; Archives&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://forums.lemonde.fr&quot; onclick=&quot;xt_clic('N','Forums')&quot; target=_top&gt;&amp;raquo; Forums&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/blogs/0,39-0,48-0,0.html&quot; onclick=&quot;xt_clic('N','Blogs')&quot; target=_top&gt;&amp;raquo; Blogs&lt;/a&gt;
                      &lt;/td&gt;
                      &lt;td width=&quot;100&quot;&gt;
-                        &lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3404,1-0,0.html&quot; onclick=&quot;xt_clic('N','Examens')&quot; target=_top&gt;&amp;raquo; Examens&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3246,1-0,0.html&quot; onclick=&quot;xt_clic('N','Culture')&quot; target=_top&gt;&amp;raquo; Culture&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3234,1-0,0.html&quot; onclick=&quot;xt_clic('N','Economie')&quot; target=_top&gt;&amp;raquo; Economie&lt;/a&gt;     
+                        &lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3404,1-0,0.html&quot; onclick=&quot;xt_clic('N','Examens')&quot; target=_top&gt;&amp;raquo; Examens&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3246,1-0,0.html&quot; onclick=&quot;xt_clic('N','Culture')&quot; target=_top&gt;&amp;raquo; Culture&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3234,1-0,0.html&quot; onclick=&quot;xt_clic('N','Economie')&quot; target=_top&gt;&amp;raquo; Economie&lt;/a&gt;
                      &lt;/td&gt;
                      &lt;td width=&quot;100&quot;&gt;
-                        &lt;a href=&quot;http://www.lemonde.fr/web/meteo/0,31-0,42-0,0.html&quot; onclick=&quot;xt_clic('N','Meteo')&quot; target=_top&gt;&amp;raquo; M&#233;t&#233;o&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3382,1-0,0.html&quot; onclick=&quot;xt_clic('N','Carnet')&quot; target=_top&gt;&amp;raquo; Carnet&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://lemonde.immostreet.com&quot; onclick=&quot;xt_clic('N','Immobilier')&quot; target=_top&gt;&amp;raquo; Immobilier&lt;/a&gt;     
+                        &lt;a href=&quot;http://www.lemonde.fr/web/meteo/0,31-0,42-0,0.html&quot; onclick=&quot;xt_clic('N','Meteo')&quot; target=_top&gt;&amp;raquo; M&#239;&#191;&#189;t&#239;&#191;&#189;o&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3382,1-0,0.html&quot; onclick=&quot;xt_clic('N','Carnet')&quot; target=_top&gt;&amp;raquo; Carnet&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://lemonde.immostreet.com&quot; onclick=&quot;xt_clic('N','Immobilier')&quot; target=_top&gt;&amp;raquo; Immobilier&lt;/a&gt;
                      &lt;/td&gt;
                      &lt;td width=&quot;100&quot;&gt;
-                        &lt;a href=&quot;http://www.talents.fr/&quot; onclick=&quot;xt_clic('N','Emploi')&quot; target=_top&gt;&amp;raquo; Emploi&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://shop.lemonde.fr&quot; onclick=&quot;xt_clic('N','Shopping')&quot; target=_top&gt;&amp;raquo; Shopping&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://nautisme.lemonde.fr&quot; onclick=&quot;xt_clic('N','Nautisme')&quot; target=_top&gt;&amp;raquo; Nautisme&lt;/a&gt;     
+                        &lt;a href=&quot;http://www.talents.fr/&quot; onclick=&quot;xt_clic('N','Emploi')&quot; target=_top&gt;&amp;raquo; Emploi&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://shop.lemonde.fr&quot; onclick=&quot;xt_clic('N','Shopping')&quot; target=_top&gt;&amp;raquo; Shopping&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://nautisme.lemonde.fr&quot; onclick=&quot;xt_clic('N','Nautisme')&quot; target=_top&gt;&amp;raquo; Nautisme&lt;/a&gt;
                      &lt;/td&gt;
                      &lt;td width=&quot;100&quot;&gt;
-                         &lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3546,1-0,0.html&quot; onclick=&quot;xt_clic('N','Voyages')&quot; target=_top&gt;&amp;raquo; Voyages&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/inscription_newsletter/1,27-0,1-0,0.html&quot; onclick=&quot;xt_clic('N','Newsletters')&quot; target=_top&gt;&amp;raquo; Newsletters&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/rss/0,48-0,1-0,0.html&quot; onclick=&quot;xt_clic('N','RSS')&quot; target=_top&gt;&amp;raquo; RSS&lt;/a&gt;     
+                         &lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3546,1-0,0.html&quot; onclick=&quot;xt_clic('N','Voyages')&quot; target=_top&gt;&amp;raquo; Voyages&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/inscription_newsletter/1,27-0,1-0,0.html&quot; onclick=&quot;xt_clic('N','Newsletters')&quot; target=_top&gt;&amp;raquo; Newsletters&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.lemonde.fr/web/rss/0,48-0,1-0,0.html&quot; onclick=&quot;xt_clic('N','RSS')&quot; target=_top&gt;&amp;raquo; RSS&lt;/a&gt;
                      &lt;/td&gt;
                   &lt;/tr&gt;
                &lt;/table&gt;&lt;!-- /gab-pv-navigation_basse.php --&gt;&lt;!-- /gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
@@ -1693,7 +1693,7 @@ else
 &lt;!-- gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 
 &lt;!-- gab-pv-copyright.php --&gt;
-&lt;div class=&quot;pd&quot; &gt;&lt;a href=&quot;http://www.lemonde.fr/cgi-bin/ACHATS/acheter.cgi?offre=ZOP&quot; target=_top&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/bt/sabonner.gif&quot; border=0 align=absmiddle&gt;&lt;/a&gt;&lt;a href=&quot;http://www.lemonde.fr/demo/&quot; target=_top&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/bt/visiter.gif&quot; border=0 align=absmiddle&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://www.lemonde.fr/web/article/0,1-0@2-3388,36-139039,0.html&quot; target=_top&gt;&amp;copy; Le Monde.fr&lt;/a&gt;&#160;| &lt;a href=&quot;http://www.ojd.com/fr/adhchif/adhe_list.php?mode=chif&amp;cat=1784 &quot; target=_top&gt;Fr&#233;quentation certifi&#233;e par l'OJD&lt;/a&gt;&#160;| &lt;a href=&quot;http://www.lemonde.fr/cgv&quot; target=_top&gt;CGV&lt;/a&gt;&#160;| &lt;a href=&quot;http://www.lemonde.fr/web/article/0,1-0@2-3388,36-875325,0.html&quot; target=_top&gt;Mentions l&#233;gales&lt;/a&gt;&#160;| &lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3386,1-0,0.html&quot; target=_top&gt;Qui sommes-nous ?&lt;/a&gt;&#160;| &lt;a href=&quot;http://www.lemonde.fr/web/sitemap/0,0-0,1-0,0.html&quot; target=_top&gt;Index&lt;/a&gt;&#160;| &lt;a href=&quot;http://www.lemonde.fr/web/articleinteractif/0,41-0@2-3388,49-625731,0.html&quot; target=_top&gt;Aide&lt;/a&gt;&#160;&lt;/div&gt;&lt;!-- /gab-pv-copyright.php --&gt;
+&lt;div class=&quot;pd&quot; &gt;&lt;a href=&quot;http://www.lemonde.fr/cgi-bin/ACHATS/acheter.cgi?offre=ZOP&quot; target=_top&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/bt/sabonner.gif&quot; border=0 align=absmiddle&gt;&lt;/a&gt;&lt;a href=&quot;http://www.lemonde.fr/demo/&quot; target=_top&gt;&lt;img src=&quot;http://medias.lemonde.fr/mmpub/img/bt/visiter.gif&quot; border=0 align=absmiddle&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://www.lemonde.fr/web/article/0,1-0@2-3388,36-139039,0.html&quot; target=_top&gt;&amp;copy; Le Monde.fr&lt;/a&gt;&#239;&#191;&#189;| &lt;a href=&quot;http://www.ojd.com/fr/adhchif/adhe_list.php?mode=chif&amp;cat=1784 &quot; target=_top&gt;Fr&#239;&#191;&#189;quentation certifi&#239;&#191;&#189;e par l'OJD&lt;/a&gt;&#239;&#191;&#189;| &lt;a href=&quot;http://www.lemonde.fr/cgv&quot; target=_top&gt;CGV&lt;/a&gt;&#239;&#191;&#189;| &lt;a href=&quot;http://www.lemonde.fr/web/article/0,1-0@2-3388,36-875325,0.html&quot; target=_top&gt;Mentions l&#239;&#191;&#189;gales&lt;/a&gt;&#239;&#191;&#189;| &lt;a href=&quot;http://www.lemonde.fr/web/sequence/0,2-3386,1-0,0.html&quot; target=_top&gt;Qui sommes-nous ?&lt;/a&gt;&#239;&#191;&#189;| &lt;a href=&quot;http://www.lemonde.fr/web/sitemap/0,0-0,1-0,0.html&quot; target=_top&gt;Index&lt;/a&gt;&#239;&#191;&#189;| &lt;a href=&quot;http://www.lemonde.fr/web/articleinteractif/0,41-0@2-3388,49-625731,0.html&quot; target=_top&gt;Aide&lt;/a&gt;&#239;&#191;&#189;&lt;/div&gt;&lt;!-- /gab-pv-copyright.php --&gt;
 &lt;!-- /gab-ssq-1_col_empil_fixe_sans_espace.php --&gt;
 
 &lt;!-- /info_sq_1_zone --&gt;
@@ -1713,10 +1713,10 @@ var TAG_CHAPITRE = '';
 TAG_COMPTAGE=&quot;homepage/index&quot;;
 TAG_SITE=&quot;&amp;s2=5&quot;;
 if (cookie_chap !=null &amp;&amp; cookie_chap !=&quot;&quot;) {
-   if (cookie_chap !='ABONNE' &amp;&amp; cookie_chap != 'QUOTIDIEN') { 
+   if (cookie_chap !='ABONNE' &amp;&amp; cookie_chap != 'QUOTIDIEN') {
       TAG_CHAPITRE = cookie_chap +'::';
       TAG_SITE     = '&amp;s2=23';
-   } 
+   }
 }
 hsi = '&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;http://logc2.xiti.com/hit.xiti?s=43260'+TAG_SITE;
 hsi += '&amp;p='+TAG_CHAPITRE+TAG_COMPTAGE+'&amp;hl=' + hsh.getHours() + 'x' + hsh.getMinutes() + 'x' + hsh.getSeconds();</diff>
      <filename>lib/picolena/templates/spec/test_dirs/indexed/others/lemonde.htm</filename>
    </modified>
    <modified>
      <diff>@@ -10,36 +10,36 @@
 {\f165\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f497\fswiss\fcharset238\fprq2 Tahoma CE;}{\f498\fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f500\fswiss\fcharset161\fprq2 Tahoma Greek;}{\f501\fswiss\fcharset162\fprq2 Tahoma Tur;}
 {\f502\fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f503\fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f504\fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f505\fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f506\fswiss\fcharset222\fprq2 Tahoma (Thai);}}
 {\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
-\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 
-\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar\jclisttab\tx432\aspalpha\aspnum\faauto\ls11\outlinelevel0\adjustright\rin0\lin432\itap0 
-\b\f1\fs28\lang1033\langfe1033\kerning28\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 1;}{\s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar\jclisttab\tx576\aspalpha\aspnum\faauto\ls11\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 
-\b\i\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 2;}{\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls11\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 
-\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 3;}{\s4\ql \fi-864\li864\ri0\sb240\sa60\keepn\widctlpar\jclisttab\tx864\aspalpha\aspnum\faauto\ls11\ilvl3\outlinelevel3\adjustright\rin0\lin864\itap0 
-\b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 4;}{\s5\ql \fi-1008\li1008\ri0\sb240\sa60\widctlpar\jclisttab\tx1008\aspalpha\aspnum\faauto\ls11\ilvl4\outlinelevel4\adjustright\rin0\lin1008\itap0 
-\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 5;}{\s6\ql \fi-1152\li1152\ri0\sb240\sa60\widctlpar\jclisttab\tx1152\aspalpha\aspnum\faauto\ls11\ilvl5\outlinelevel5\adjustright\rin0\lin1152\itap0 
-\i\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 6;}{\s7\ql \fi-1296\li1296\ri0\sb240\sa60\widctlpar\jclisttab\tx1296\aspalpha\aspnum\faauto\ls11\ilvl6\outlinelevel6\adjustright\rin0\lin1296\itap0 
-\f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 7;}{\s8\ql \fi-1440\li1440\ri0\sb240\sa60\widctlpar\jclisttab\tx1440\aspalpha\aspnum\faauto\ls11\ilvl7\outlinelevel7\adjustright\rin0\lin1440\itap0 
-\i\f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 8;}{\s9\ql \fi-1584\li1584\ri0\sb240\sa60\widctlpar\jclisttab\tx1584\aspalpha\aspnum\faauto\ls11\ilvl8\outlinelevel8\adjustright\rin0\lin1584\itap0 
+\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar\jclisttab\tx432\aspalpha\aspnum\faauto\ls11\outlinelevel0\adjustright\rin0\lin432\itap0
+\b\f1\fs28\lang1033\langfe1033\kerning28\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 1;}{\s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar\jclisttab\tx576\aspalpha\aspnum\faauto\ls11\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0
+\b\i\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 2;}{\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls11\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0
+\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 3;}{\s4\ql \fi-864\li864\ri0\sb240\sa60\keepn\widctlpar\jclisttab\tx864\aspalpha\aspnum\faauto\ls11\ilvl3\outlinelevel3\adjustright\rin0\lin864\itap0
+\b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 4;}{\s5\ql \fi-1008\li1008\ri0\sb240\sa60\widctlpar\jclisttab\tx1008\aspalpha\aspnum\faauto\ls11\ilvl4\outlinelevel4\adjustright\rin0\lin1008\itap0
+\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 5;}{\s6\ql \fi-1152\li1152\ri0\sb240\sa60\widctlpar\jclisttab\tx1152\aspalpha\aspnum\faauto\ls11\ilvl5\outlinelevel5\adjustright\rin0\lin1152\itap0
+\i\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 6;}{\s7\ql \fi-1296\li1296\ri0\sb240\sa60\widctlpar\jclisttab\tx1296\aspalpha\aspnum\faauto\ls11\ilvl6\outlinelevel6\adjustright\rin0\lin1296\itap0
+\f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 7;}{\s8\ql \fi-1440\li1440\ri0\sb240\sa60\widctlpar\jclisttab\tx1440\aspalpha\aspnum\faauto\ls11\ilvl7\outlinelevel7\adjustright\rin0\lin1440\itap0
+\i\f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 8;}{\s9\ql \fi-1584\li1584\ri0\sb240\sa60\widctlpar\jclisttab\tx1584\aspalpha\aspnum\faauto\ls11\ilvl8\outlinelevel8\adjustright\rin0\lin1584\itap0
 \b\i\f1\fs18\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 9;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
-\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
-\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 
-\f1\fs18\cf6\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 Body Text;}{\s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\cf11\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext16 
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
+\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
+\f1\fs18\cf6\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 Body Text;}{\s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\cf11\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext16
 Body Text 3;}{\s17\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\cf6\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext17 Body Text 2;}{
 \s18\ql \li1440\ri1440\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin1440\lin1440\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext18 Block Text;}{
 \s19\ql \fi210\li0\ri0\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon15 \snext19 Body Text First Indent;}{
 \s20\ql \li283\ri0\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin283\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext20 Body Text Indent;}{
 \s21\ql \fi210\li283\ri0\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin283\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon17 \snext21 Body Text First Indent 2;}{\s22\ql \li283\ri0\sa120\sl480\slmult1
-\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin283\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext22 Body Text Indent 2;}{\s23\ql \li283\ri0\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin283\itap0 
-\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext23 Body Text Indent 3;}{\s24\ql \li0\ri0\sb120\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \b\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 
+\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin283\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext22 Body Text Indent 2;}{\s23\ql \li283\ri0\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin283\itap0
+\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext23 Body Text Indent 3;}{\s24\ql \li0\ri0\sb120\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \b\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
 \sbasedon0 \snext0 \ssemihidden caption;}{\s25\ql \li4252\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin4252\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext25 Closing;}{
 \s26\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext26 \ssemihidden annotation text;}{
-\s27\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 Date;}{\s28\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \cbpat9 
-\f36\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext28 \ssemihidden Document Map;}{\s29\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 
+\s27\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 Date;}{\s28\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \cbpat9
+\f36\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext28 \ssemihidden Document Map;}{\s29\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
 \sbasedon0 \snext29 E-mail Signature;}{\s30\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \ssemihidden endnote text;}{
 \s31\ql \li2880\ri0\widctlpar\phpg\posxc\posyb\absh-1980\absw7920\dxfrtext180\dfrmtxtx180\dfrmtxty0\aspalpha\aspnum\faauto\adjustright\rin0\lin2880\itap0 \f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext31 envelope address;}{
 \s32\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext32 envelope return;}{\s33\ql \li0\ri0\widctlpar
-\tqc\tx4536\tqr\tx9072\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext33 footer;}{\s34\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 
-\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext34 \ssemihidden footnote text;}{\s35\ql \li0\ri0\widctlpar\tqc\tx4536\tqr\tx9072\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 
+\tqc\tx4536\tqr\tx9072\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext33 footer;}{\s34\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext34 \ssemihidden footnote text;}{\s35\ql \li0\ri0\widctlpar\tqc\tx4536\tqr\tx9072\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext35 header;}{\s36\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \i\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext36 HTML Address;}
 {\s37\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext37 HTML Preformatted;}{
 \s38\ql \fi-200\li200\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin200\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \sautoupd \ssemihidden index 1;}{
@@ -56,27 +56,27 @@ Body Text 3;}{\s17\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0
 \s49\ql \fi-283\li566\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin566\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext49 List 2;}{
 \s50\ql \fi-283\li849\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin849\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext50 List 3;}{
 \s51\ql \fi-283\li1132\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1132\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext51 List 4;}{
-\s52\ql \fi-283\li1415\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1415\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext52 List 5;}{\s53\ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn 
-\pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin360\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext53 \sautoupd List Bullet;}{\s54\ql \fi-360\li643\ri0\widctlpar\jclisttab\tx643{\*\pn 
-\pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin643\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext54 \sautoupd List Bullet 2;}{\s55\ql \fi-360\li926\ri0\widctlpar\jclisttab\tx926{\*\pn 
+\s52\ql \fi-283\li1415\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1415\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext52 List 5;}{\s53\ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn
+\pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin360\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext53 \sautoupd List Bullet;}{\s54\ql \fi-360\li643\ri0\widctlpar\jclisttab\tx643{\*\pn
+\pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin643\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext54 \sautoupd List Bullet 2;}{\s55\ql \fi-360\li926\ri0\widctlpar\jclisttab\tx926{\*\pn
 \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin926\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext55 \sautoupd List Bullet 3;}{\s56\ql \fi-360\li1209\ri0\widctlpar
 \jclisttab\tx1209{\*\pn \pnlvlbody\ilvl0\ls4\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1209\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext56 \sautoupd List Bullet 4;}{
-\s57\ql \fi-360\li1492\ri0\widctlpar\jclisttab\tx1492{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin1492\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext57 \sautoupd 
+\s57\ql \fi-360\li1492\ri0\widctlpar\jclisttab\tx1492{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin1492\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext57 \sautoupd
 List Bullet 5;}{\s58\ql \li283\ri0\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin283\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext58 List Continue;}{
 \s59\ql \li566\ri0\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin566\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext59 List Continue 2;}{
 \s60\ql \li849\ri0\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin849\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext60 List Continue 3;}{
 \s61\ql \li1132\ri0\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1132\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext61 List Continue 4;}{
-\s62\ql \li1415\ri0\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1415\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext62 List Continue 5;}{\s63\ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn 
-\pnlvlbody\ilvl0\ls6\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls6\adjustright\rin0\lin360\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext63 List Number;}{\s64\ql \fi-360\li643\ri0\widctlpar\jclisttab\tx643{\*\pn 
-\pnlvlbody\ilvl0\ls7\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin643\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext64 List Number 2;}{\s65\ql \fi-360\li926\ri0\widctlpar\jclisttab\tx926{\*\pn 
-\pnlvlbody\ilvl0\ls8\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls8\adjustright\rin0\lin926\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext65 List Number 3;}{\s66\ql \fi-360\li1209\ri0\widctlpar\jclisttab\tx1209{\*\pn 
-\pnlvlbody\ilvl0\ls9\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin1209\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext66 List Number 4;}{\s67\ql \fi-360\li1492\ri0\widctlpar\jclisttab\tx1492{\*\pn 
+\s62\ql \li1415\ri0\sa120\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1415\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext62 List Continue 5;}{\s63\ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn
+\pnlvlbody\ilvl0\ls6\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls6\adjustright\rin0\lin360\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext63 List Number;}{\s64\ql \fi-360\li643\ri0\widctlpar\jclisttab\tx643{\*\pn
+\pnlvlbody\ilvl0\ls7\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin643\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext64 List Number 2;}{\s65\ql \fi-360\li926\ri0\widctlpar\jclisttab\tx926{\*\pn
+\pnlvlbody\ilvl0\ls8\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls8\adjustright\rin0\lin926\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext65 List Number 3;}{\s66\ql \fi-360\li1209\ri0\widctlpar\jclisttab\tx1209{\*\pn
+\pnlvlbody\ilvl0\ls9\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin1209\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext66 List Number 4;}{\s67\ql \fi-360\li1492\ri0\widctlpar\jclisttab\tx1492{\*\pn
 \pnlvlbody\ilvl0\ls10\pnrnot0\pndec }\aspalpha\aspnum\faauto\ls10\adjustright\rin0\lin1492\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext67 List Number 5;}{\s68\ql \li0\ri0\widctlpar
 \tx480\tx960\tx1440\tx1920\tx2400\tx2880\tx3360\tx3840\tx4320\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext68 \ssemihidden macro;}{\s69\ql \fi-1134\li1134\ri0\widctlpar\brdrt
-\brdrs\brdrw15\brsp20 \brdrl\brdrs\brdrw15\brsp20 \brdrb\brdrs\brdrw15\brsp20 \brdrr\brdrs\brdrw15\brsp20 \aspalpha\aspnum\faauto\adjustright\rin0\lin1134\rtlgutter\itap0 \shading2000 \f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 
+\brdrs\brdrw15\brsp20 \brdrl\brdrs\brdrw15\brsp20 \brdrb\brdrs\brdrw15\brsp20 \brdrr\brdrs\brdrw15\brsp20 \aspalpha\aspnum\faauto\adjustright\rin0\lin1134\rtlgutter\itap0 \shading2000 \f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
 \sbasedon0 \snext69 Message Header;}{\s70\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext70 Normal (Web);}{
-\s71\ql \li720\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext71 Normal Indent;}{\s72\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 
-\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 Note Heading;}{\s73\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext73 
+\s71\ql \li720\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext71 Normal Indent;}{\s72\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
+\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 Note Heading;}{\s73\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext73
 Plain Text;}{\s74\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 Salutation;}{
 \s75\ql \li4252\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin4252\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext75 Signature;}{
 \s76\qc \li0\ri0\sa60\widctlpar\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext76 Subtitle;}{
@@ -92,17 +92,17 @@ Plain Text;}{\s74\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\
 \s86\ql \li1000\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1000\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \sautoupd \ssemihidden toc 6;}{
 \s87\ql \li1200\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1200\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \sautoupd \ssemihidden toc 7;}{
 \s88\ql \li1400\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1400\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \sautoupd \ssemihidden toc 8;}{
-\s89\ql \li1600\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1600\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \sautoupd \ssemihidden toc 9;}{\*\cs90 \additive \ul\cf2 \sbasedon10 Hyperlink;}{\*\cs91 
-\additive \ul\cf12 \sbasedon10 FollowedHyperlink;}{\*\cs92 \additive \sbasedon10 eudoraheader;}{\s93\ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0 \f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext93 HTML Body;}{\*\cs94 \additive 
-\sbasedon10 page number;}{\s95\ql \fi-1584\li1584\ri0\sb240\sa60\widctlpar\jclisttab\tx1584\aspalpha\aspnum\faauto\ls11\ilvl8\outlinelevel8\adjustright\rin0\lin1584\itap0 \b\i\f1\fs18\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon9 \snext95 
+\s89\ql \li1600\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1600\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \sautoupd \ssemihidden toc 9;}{\*\cs90 \additive \ul\cf2 \sbasedon10 Hyperlink;}{\*\cs91
+\additive \ul\cf12 \sbasedon10 FollowedHyperlink;}{\*\cs92 \additive \sbasedon10 eudoraheader;}{\s93\ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0 \f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext93 HTML Body;}{\*\cs94 \additive
+\sbasedon10 page number;}{\s95\ql \fi-1584\li1584\ri0\sb240\sa60\widctlpar\jclisttab\tx1584\aspalpha\aspnum\faauto\ls11\ilvl8\outlinelevel8\adjustright\rin0\lin1584\itap0 \b\i\f1\fs18\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon9 \snext95
 nromal;}{\s96\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext96 fixed;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}
-{\*\listtable{\list\listtemplateid238311458\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fi-360\li1492\jclisttab\tx1492\lin1492 }{\listname 
-;}\listid-132}{\list\listtemplateid1399480858\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fi-360\li1209\jclisttab\tx1209\lin1209 }{\listname 
-;}\listid-131}{\list\listtemplateid125368044\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fi-360\li926\jclisttab\tx926\lin926 }{\listname 
-;}\listid-130}{\list\listtemplateid-7427840\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fi-360\li643\jclisttab\tx643\lin643 }{\listname 
+{\*\listtable{\list\listtemplateid238311458\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fi-360\li1492\jclisttab\tx1492\lin1492 }{\listname
+;}\listid-132}{\list\listtemplateid1399480858\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fi-360\li1209\jclisttab\tx1209\lin1209 }{\listname
+;}\listid-131}{\list\listtemplateid125368044\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fi-360\li926\jclisttab\tx926\lin926 }{\listname
+;}\listid-130}{\list\listtemplateid-7427840\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fi-360\li643\jclisttab\tx643\lin643 }{\listname
 ;}\listid-129}{\list\listtemplateid-82277808\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li1492\jclisttab\tx1492\lin1492 }
 {\listname ;}\listid-128}{\list\listtemplateid-810542932\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li1209
-\jclisttab\tx1209\lin1209 }{\listname ;}\listid-127}{\list\listtemplateid-1997484882\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 
+\jclisttab\tx1209\lin1209 }{\listname ;}\listid-127}{\list\listtemplateid-1997484882\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0
 \fi-360\li926\jclisttab\tx926\lin926 }{\listname ;}\listid-126}{\list\listtemplateid-329112990\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}
 \f3\fbias0 \fi-360\li643\jclisttab\tx643\lin643 }{\listname ;}\listid-125}{\list\listtemplateid-1135548856\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
 \'02\'00.;}{\levelnumbers\'01;}\fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid-120}{\list\listtemplateid-256891814\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
@@ -118,33 +118,33 @@ nromal;}{\s96\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\
 {\listoverride\listid-129\listoverridecount0\ls2}{\listoverride\listid-130\listoverridecount0\ls3}{\listoverride\listid-131\listoverridecount0\ls4}{\listoverride\listid-132\listoverridecount0\ls5}{\listoverride\listid-119\listoverridecount0\ls6}
 {\listoverride\listid-125\listoverridecount0\ls7}{\listoverride\listid-126\listoverridecount0\ls8}{\listoverride\listid-127\listoverridecount0\ls9}{\listoverride\listid-128\listoverridecount0\ls10}{\listoverride\listid393167707\listoverridecount0\ls11}}
 {\*\rsidtbl \rsid3212768\rsid3221105\rsid7020582\rsid11021023\rsid15285138}{\*\generator Microsoft Word 11.0.6359;}{\info{\title Beta information}{\author Lars Henrik Morset}{\operator Lars Henrik Morset }{\creatim\yr2005\mo10\dy4\hr9\min29}
-{\revtim\yr2005\mo10\dy4\hr9\min29}{\printim\yr2001\mo5\dy9\hr10\min51}{\version2}{\edmins4}{\nofpages1}{\nofwords135}{\nofchars775}{\*\company Morset Sound Development}{\nofcharsws909}{\vern24703}}\margl1417\margr1417\margt1417\margb1417 
+{\revtim\yr2005\mo10\dy4\hr9\min29}{\printim\yr2001\mo5\dy9\hr10\min51}{\version2}{\edmins4}{\nofpages1}{\nofwords135}{\nofchars775}{\*\company Morset Sound Development}{\nofcharsws909}{\vern24703}}\margl1417\margr1417\margt1417\margb1417
 \widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dghspace180\dgvspace180\dghorigin1701\dgvorigin1984\dghshow0\dgvshow0
 \jexpand\viewkind3\viewscale100\pgbrdrhead\pgbrdrfoot\nolnhtadjtbl\rsidroot11021023 \fet0{\*\ftnsep \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
-\insrsid3221105 \chftnsep 
-\par }}{\*\ftnsepc \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3221105 \chftnsepc 
-\par }}{\*\aftnsep \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3221105 \chftnsep 
-\par }}{\*\aftnsepc \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3221105 \chftnsepc 
+\insrsid3221105 \chftnsep
+\par }}{\*\ftnsepc \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3221105 \chftnsepc
+\par }}{\*\aftnsep \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3221105 \chftnsep
+\par }}{\*\aftnsepc \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3221105 \chftnsepc
 \par }}\sectd \linex0\endnhere\sectdefaultcl\sftnbj {\footer \pard\plain \s33\ql \li0\ri0\widctlpar\tqc\tx4536\tqr\tx9072\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\field{\*\fldinst {
-\cs94\insrsid3221105  PAGE }}{\fldrslt {\cs94\lang1024\langfe1024\noproof\insrsid3221105 1}}}{\insrsid3221105 
+\cs94\insrsid3221105  PAGE }}{\fldrslt {\cs94\lang1024\langfe1024\noproof\insrsid3221105 1}}}{\insrsid3221105
 \par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}
 {\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8
-\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\bkmkstart _Toc519138597}{\*\bkmkstart _Toc514039177}{\*\bkmkstart _Toc516296399}{\listtext\pard\plain\s1 
-\b\f1\fs28\kerning28\insrsid3212768 \hich\af1\dbch\af0\loch\f1 1\tab}\pard\plain \s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar\jclisttab\tx432\aspalpha\aspnum\faauto\ls11\outlinelevel0\adjustright\rin0\lin432\itap0\pararsid3212768 
+\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\bkmkstart _Toc519138597}{\*\bkmkstart _Toc514039177}{\*\bkmkstart _Toc516296399}{\listtext\pard\plain\s1
+\b\f1\fs28\kerning28\insrsid3212768 \hich\af1\dbch\af0\loch\f1 1\tab}\pard\plain \s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar\jclisttab\tx432\aspalpha\aspnum\faauto\ls11\outlinelevel0\adjustright\rin0\lin432\itap0\pararsid3212768
 \b\f1\fs28\lang1033\langfe1033\kerning28\cgrid\langnp1033\langfenp1033 {\insrsid3212768 Remaining i}{\insrsid3221105\charrsid3212768 ssues
-\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\insrsid3221105 
+\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\insrsid3221105
 \par General:
 \par }{\insrsid3221105 Small parts are not completed in the Help file documentation.
-\par }{\insrsid3212768 
+\par }{\insrsid3212768
 \par Resampling when limiting the upper frequency of sine sweep give strange effects, this can be fixed by including a lowpass filter.
-\par }{\insrsid3221105 
+\par }{\insrsid3221105
 \par }{\b\insrsid3221105 Room Acoustics
 \par }{\insrsid3221105 Schroeder curve for 1/3 octave should have negative x-axis to include effects of backwards filtering.
-\par 
-\par Please see }{\field{\*\fldinst {\insrsid3221105  HYPERLINK &quot;http://www.winmls.com&quot; }{\insrsid11021023 {\*\datafield 
+\par
+\par Please see }{\field{\*\fldinst {\insrsid3221105  HYPERLINK &quot;http://www.winmls.com&quot; }{\insrsid11021023 {\*\datafield
 00d0c9ea79f9bace118c8200aa004ba90b02000000170000000f0000007700770077002e00770069006e006d006c0073002e0063006f006d000000e0c9ea79f9bace118c8200aa004ba90b2e00000068007400740070003a002f002f007700770077002e00770069006e006d006c0073002e0063006f006d002f00000000}}
 }{\fldrslt {\cs90\ul\cf2\insrsid3221105 www.winmls.com}}}{\insrsid3221105  for more information about the software.
-\par }{\insrsid3212768 
+\par }{\insrsid3212768
 \par {\listtext\pard\plain\s1 \b\f1\fs28\kerning28\insrsid3212768 \hich\af1\dbch\af0\loch\f1 2\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar
 \jclisttab\tx432\aspalpha\aspnum\faauto\ls11\outlinelevel0\adjustright\rin0\lin432\itap0\pararsid3212768 \b\f1\fs28\lang1033\langfe1033\kerning28\cgrid\langnp1033\langfenp1033 {\insrsid3212768 Update 1.07
 \par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3212768 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3212768 {\*\bkmkend _Toc519138597}{\*\bkmkend _Toc514039177}{\*\bkmkend _Toc516296399}
@@ -153,24 +153,24 @@ nromal;}{\s96\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\
 \jclisttab\tx576\aspalpha\aspnum\faauto\ls11\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0\pararsid3212768 \b\i\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3212768 New setups
 \par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3212768 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3212768 G}{\insrsid3212768 o to }{\b\insrsid3212768\charrsid3212768 Setup-&gt;Load...}{
 \insrsid3212768  }{\insrsid3212768 to load the}{\insrsid3212768  setup}{\insrsid3212768 s described below.
-\par 
+\par
 \par For measuring standing waves in a room:
 \par Room Acoustics_
-\par 
-\par }{\insrsid3212768 For measuring loudness, 
-\par }{\b\insrsid3212768\charrsid3212768 Level (Noise)_Loudness ISO532B DIN45631}{\b\insrsid3212768 
-\par }{\insrsid3212768 
+\par
+\par }{\insrsid3212768 For measuring loudness,
+\par }{\b\insrsid3212768\charrsid3212768 Level (Noise)_Loudness ISO532B DIN45631}{\b\insrsid3212768
+\par }{\insrsid3212768
 \par {\listtext\pard\plain\s2 \b\i\f1\insrsid3212768 \hich\af1\dbch\af0\loch\f1 2.2\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
 \jclisttab\tx576\aspalpha\aspnum\faauto\ls11\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0\pararsid3212768 \b\i\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3212768 New features
 \par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3212768 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3212768 Wizard now supports multiple languages.
-\par 
+\par
 \par Sine sweep can be inverted.
-\par 
+\par
 \par {\listtext\pard\plain\s2 \b\i\f1\insrsid3212768 \hich\af1\dbch\af0\loch\f1 2.3\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
 \jclisttab\tx576\aspalpha\aspnum\faauto\ls11\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0\pararsid3212768 \b\i\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3212768 Bug fixes
 \par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3212768 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid3212768 Toolbar positioning problem should now be fixed.
 \par }{\insrsid15285138 If microphone compensation is used, harmonic distortion }{\insrsid3221105 sine sweep measurement}{\insrsid15285138  }{\insrsid3221105 considers this}{\insrsid15285138 .
-\par }{\insrsid3221105 
+\par }{\insrsid3221105
 \par }{\insrsid3212768 Several minor fixes
-\par 
+\par
 \par }}
\ No newline at end of file</diff>
      <filename>lib/picolena/templates/spec/test_dirs/indexed/others/nested/ReadMe.rtf</filename>
    </modified>
    <modified>
      <diff>@@ -2166,4 +2166,3 @@
   )
  )
 )
-                
\ No newline at end of file</diff>
      <filename>lib/picolena/templates/spec/test_dirs/indexed/others/xor.vee</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@
 &lt;head&gt;
 	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot; /&gt;
 
-&lt;!-- 
+&lt;!--
 	This website is brought to you by TYPO3 - get.content.right
 	TYPO3 is a free open source Content Management Framework created by Kasper Skaarhoj and licensed under GNU/GPL.
 	TYPO3 is copyright 1998-2005 of Kasper Skaarhoj. Extensions are copyright of their respective owners.</diff>
      <filename>lib/picolena/templates/spec/test_dirs/indexed/others/zafh.net.html</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,7 @@ module RubiGen #:nodoc:
          system(&quot;rake #{task_name}&quot;)
         }
       end
-      
+
       # Copy one directory to another in destination_path
       # Can be useful to duplicate index from development to production,
       # instead of indexing twice.</diff>
      <filename>lib/rubigen_ext.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ REVISON 70 - Sept 2 2007
    # used by ActionView::Helpers::ActiveRecordHelper.error_messages_for
    active_record_helper_error_description: 'There were problems with the following fields:'
    active_record_helper_header_message: 'X errors prohibited this object from being saved' # 2 arguments you can use :error_count and :failed_object
-   translation example: 
+   translation example:
    active_record_helper_header_message: #{pluralize({error_count}, 'error')} prohibited this {failed_object} from being saved
 
 REVISON 56 - August 05 2007</diff>
      <filename>rails_plugins/globalite/CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,11 @@
 =Globalite
 
 
-Globalite is meant to be a breed of the best internationalization/localization plugins available for Rails. 
+Globalite is meant to be a breed of the best internationalization/localization plugins available for Rails.
 
-Globalite should provide you with a 3-in-1 solution: 
+Globalite should provide you with a 3-in-1 solution:
 
-* Easy UI localization. 
+* Easy UI localization.
 * Rails localization. (Localization of the core functions from rails)
 * Simple yet powerful solution for user content availability in multiple languages.
 
@@ -36,14 +36,14 @@ or from your vendor/plugins folder:
 
 ===UI Localization:
 
-Create a lang folder at the root of your project. Add your localization files in the lang/ui folder if you want to localize your interface. 
+Create a lang folder at the root of your project. Add your localization files in the lang/ui folder if you want to localize your interface.
 
-Declare the current locale or language in your environment.rb &gt; 
+Declare the current locale or language in your environment.rb &gt;
 	Globalite.language = :fr
 	
-Localize a key in your view &gt; 
-	:localization_key.l 
-or 
+Localize a key in your view &gt;
+	:localization_key.l
+or
 	:localization_key.localize
 
 
@@ -61,10 +61,10 @@ Note that variables can be used in any order the translator wants
 	
 You can also use pluralization right in your translations:
   geese_amount:  we have pluralize{{geese_count}, goose, geese} in the farm!
-  
+
 In your view do the following:
   :geese_amount.l_with_args({:geese_count =&gt; @geese.count})
-  
+
 Note that the pluralization form of your string is optional, you could use a translation like that too:
   cow_amount:  we have pluralize{{count}, cow} in the farm!
 
@@ -78,7 +78,7 @@ This solution was inspired by a discussion with Ivan:
 Localize a time object by using a predefined format (defined in the date_helper_time_formats variable that you can find  in globalite/lang/rails/[lang].yml)
 
 	Globalite.language = :fr
-	Time.now.l(:long)  
+	Time.now.l(:long)
 
 Localize a date object by using a predefined format (defined in the date_helper_date_formats variable that you can find  in globalite/lang/rails/[lang].yml)
 	
@@ -110,7 +110,7 @@ Check on the tests in the spec folder for more examples. There's also a demo app
 
 ==FAQ:
 
-===Why did you call your plugin 'Globalite'? 
+===Why did you call your plugin 'Globalite'?
 
 Globalize was already taken ;) More seriously, I was looking for a i18n/l10n solution for a project I was working on, after few hours testing Globalize, Josh http://joshknowles.com, Matt http://heidmotron.com/ and I http://railsontherun.com saw it wouldn't work for us. Since we only had the choice between very simple solutions and a complicated solution, I decided to make a &quot;lite&quot; version of Globalize ;)
 
@@ -121,14 +121,14 @@ Globalize was already taken ;) More seriously, I was looking for a i18n/l10n sol
 
 ===Internationalization, Localization, Locale:
 
-Internationalization refers to the process of modifying an application&#8217;s design so that it can support 
-locale differences like text orientation, currency, date and time format, sorting, and so forth. This can be done 
-by externalizing text strings into files or a database, and by developing currency and date formatting utilities. 
+Internationalization refers to the process of modifying an application&#8217;s design so that it can support
+locale differences like text orientation, currency, date and time format, sorting, and so forth. This can be done
+by externalizing text strings into files or a database, and by developing currency and date formatting utilities.
 
-Localization means adapting an application to a specific language or locale; for example, by translating 
-text into multiple languages. A locale is identified by the user&#8217;s language and country, and specifies how, for 
-example, numbers, currencies, and dates are displayed on the screen. The code for the US English locale is 
-en-US. Locales are specified by RFC 3066 and consist of two parts. The first is an ISO 639 language code and 
+Localization means adapting an application to a specific language or locale; for example, by translating
+text into multiple languages. A locale is identified by the user&#8217;s language and country, and specifies how, for
+example, numbers, currencies, and dates are displayed on the screen. The code for the US English locale is
+en-US. Locales are specified by RFC 3066 and consist of two parts. The first is an ISO 639 language code and
 uses lowercase letters. The second is usually an ISO 3166 country code in uppercase letters.
 [from Ruby on Rails Commerce (Hellsten, Laine)]
 </diff>
      <filename>rails_plugins/globalite/README</filename>
    </modified>
    <modified>
      <diff>@@ -44,12 +44,12 @@ date_helper_time_formats: # DON'T  TRANSLATE, RE ORDER
 # added at the end of date if your date system doesn't use a 24 hours system
 date_helper_am: am
 date_helper_pm: pm
-    
+
 # used by ActionView::Helpers::NumberHelper.number_to_currency
 number_helper_unit: &quot;&#8364;&quot;
 number_helper_separator: &quot;,&quot; #unit separator (between integer part and fraction part)
-number_helper_delimiter: &quot;.&quot; #delimiter between each group of thousands. Example: 1.234.567 
-number_helper_order: [ number, unit ] 
+number_helper_delimiter: &quot;.&quot; #delimiter between each group of thousands. Example: 1.234.567
+number_helper_order: [ number, unit ]
 #to support for instance French format, the order is different: Unit comes last (ex. &quot;1.234,00 &#8364;&quot;)
 
 # use by +Array#to_sentence()+
@@ -92,7 +92,7 @@ date_helper_abbr_month_names:
   - Nov
   - Dez
 
-date_helper_day_names: 
+date_helper_day_names:
   - Sonntag
   - Montag
   - Dienstag
@@ -101,13 +101,13 @@ date_helper_day_names:
   - Freitag
   - Samstag
 
-date_helper_abbr_day_names: 
+date_helper_abbr_day_names:
   - So
   - Mo
   - Di
   - Mi
   - Do
-  - Fr 
+  - Fr
   - Sa
 
 countries_list:</diff>
      <filename>rails_plugins/globalite/lang/rails/de-DE.yml</filename>
    </modified>
    <modified>
      <diff>@@ -44,12 +44,12 @@ date_helper_time_formats: # DON'T  TRANSLATE, RE ORDER
 # added at the end of date if your date system doesn't use a 24 hours system
 date_helper_am: am
 date_helper_pm: pm
-    
+
 # used by ActionView::Helpers::NumberHelper.number_to_currency
 number_helper_unit: &quot;&#163;&quot;
 number_helper_separator: &quot;.&quot; #unit separator (between integer part and fraction part)
-number_helper_delimiter: &quot;,&quot; #delimiter between each group of thousands. Example: 1.234.567 
-number_helper_order: [ unit, number ] 
+number_helper_delimiter: &quot;,&quot; #delimiter between each group of thousands. Example: 1.234.567
+number_helper_order: [ unit, number ]
 #to support for instance French format, the order is different: Unit comes last (ex. &quot;1.234,00 &#8364;&quot;)
 
 # use by +Array#to_sentence()+
@@ -92,7 +92,7 @@ date_helper_abbr_month_names:
   - Nov
   - Dec
 
-date_helper_day_names: 
+date_helper_day_names:
   - Sunday
   - Monday
   - Tuesday
@@ -101,13 +101,13 @@ date_helper_day_names:
   - Friday
   - Saturday
 
-date_helper_abbr_day_names: 
+date_helper_abbr_day_names:
   - Sun
   - Mon
   - Tue
   - Wed
   - Thu
-  - Fri 
+  - Fri
   - Sat
 
 countries_list:
@@ -130,7 +130,7 @@ countries_list:
   - Bahrain
   - Bangladesh
   - Barbados
-  - Belarus 
+  - Belarus
   - Belgium
   - Belize
   - Benin
@@ -141,7 +141,7 @@ countries_list:
   - Botswana
   - Bouvet Island
   - Brazil
-  - British Indian Ocean Territory 
+  - British Indian Ocean Territory
   - Brunei Darussalam
   - Bulgaria
   - Burkina Faso
@@ -192,7 +192,7 @@ countries_list:
   - French Polynesia
   - French Southern Territories
   - Gabon
-  - Gambia 
+  - Gambia
   - Georgia
   - Germany
   - Ghana
@@ -212,7 +212,7 @@ countries_list:
   - Honduras
   - Hong Kong
   - Hungary
-  - Iceland 
+  - Iceland
   - India
   - Indonesia
   - Ireland</diff>
      <filename>rails_plugins/globalite/lang/rails/en-UK.yml</filename>
    </modified>
    <modified>
      <diff>@@ -44,12 +44,12 @@ date_helper_time_formats: # DON'T  TRANSLATE, RE ORDER
 # added at the end of date if your date system doesn't use a 24 hours system
 date_helper_am: am
 date_helper_pm: pm
-    
+
 # used by ActionView::Helpers::NumberHelper.number_to_currency
 number_helper_unit: &quot;$&quot;
 number_helper_separator: &quot;.&quot; #unit separator (between integer part and fraction part)
-number_helper_delimiter: &quot;,&quot; #delimiter between each group of thousands. Example: 1.234.567 
-number_helper_order: [ unit, number ] 
+number_helper_delimiter: &quot;,&quot; #delimiter between each group of thousands. Example: 1.234.567
+number_helper_order: [ unit, number ]
 #to support for instance French format, the order is different: Unit comes last (ex. &quot;1.234,00 &#8364;&quot;)
 
 # use by +Array#to_sentence()+
@@ -92,7 +92,7 @@ date_helper_abbr_month_names:
   - Nov
   - Dec
 
-date_helper_day_names: 
+date_helper_day_names:
   - Sunday
   - Monday
   - Tuesday
@@ -101,13 +101,13 @@ date_helper_day_names:
   - Friday
   - Saturday
 
-date_helper_abbr_day_names: 
+date_helper_abbr_day_names:
   - Sun
   - Mon
   - Tue
   - Wed
   - Thu
-  - Fri 
+  - Fri
   - Sat
 
 countries_list:
@@ -130,7 +130,7 @@ countries_list:
   - Bahrain
   - Bangladesh
   - Barbados
-  - Belarus 
+  - Belarus
   - Belgium
   - Belize
   - Benin
@@ -141,7 +141,7 @@ countries_list:
   - Botswana
   - Bouvet Island
   - Brazil
-  - British Indian Ocean Territory 
+  - British Indian Ocean Territory
   - Brunei Darussalam
   - Bulgaria
   - Burkina Faso
@@ -192,7 +192,7 @@ countries_list:
   - French Polynesia
   - French Southern Territories
   - Gabon
-  - Gambia 
+  - Gambia
   - Georgia
   - Germany
   - Ghana
@@ -212,7 +212,7 @@ countries_list:
   - Honduras
   - Hong Kong
   - Hungary
-  - Iceland 
+  - Iceland
   - India
   - Indonesia
   - Ireland</diff>
      <filename>rails_plugins/globalite/lang/rails/en-US.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 locale_name: Espa&#241;ol (Espa&#241;a)
-# Spanish translation file. 
+# Spanish translation file.
 # Translation by Luis Villa del Campo (www.grancomo.com)
 
 # ActiveRecord::Errors.default_error_messages
@@ -47,11 +47,11 @@ date_helper_time_formats: # DON'T  TRANSLATE, RE ORDER
 # added at the end of date if your date system doesn't use a 24 hours system
 date_helper_am: am
 date_helper_pm: pm
-  
+
 # used by ActionView::Helpers::NumberHelper.number_to_currency
 number_helper_unit: &quot;&#8364;&quot;
 number_helper_separator: &quot;,&quot; #unit separator (between integer part and fraction part)
-number_helper_delimiter: &quot;.&quot; #delimiter between each group of thousands. Example: 1.234.567 
+number_helper_delimiter: &quot;.&quot; #delimiter between each group of thousands. Example: 1.234.567
 number_helper_order: [number, unit] #order is at present unsupported in Rails
 #to support for instance French format, the order is different: Unit comes last (ex. &quot;1.234,00 &#8364;&quot;)
 
@@ -91,7 +91,7 @@ date_helper_abbr_month_names:
   - Nov
   - Dic
 
-date_helper_day_names: 
+date_helper_day_names:
   - domingo
   - lunes
   - martes
@@ -100,16 +100,16 @@ date_helper_day_names:
   - viernes
   - s&#225;bado
 
-date_helper_abbr_day_names: 
+date_helper_abbr_day_names:
   - Dom
   - Lun
   - Mar
   - Mi&#233;
   - Jue
-  - Vie 
+  - Vie
   - S&#225;b
 
-# STILL NEEDS TRANSLATIONS      
+# STILL NEEDS TRANSLATIONS
 countries_list:
   - Afghanistan
   - Albanie
@@ -130,7 +130,7 @@ countries_list:
   - Bahrain
   - Bangladesh
   - Barbados
-  - Belarus 
+  - Belarus
   - Belgium
   - Belize
   - Benin
@@ -141,7 +141,7 @@ countries_list:
   - Botswana
   - Bouvet Island
   - Brazil
-  - British Indian Ocean Territory 
+  - British Indian Ocean Territory
   - Brunei Darussalam
   - Bulgaria
   - Burkina Faso
@@ -192,7 +192,7 @@ countries_list:
   - French Polynesia
   - French Southern Territories
   - Gabon
-  - Gambia 
+  - Gambia
   - Georgia
   - Germany
   - Ghana
@@ -212,7 +212,7 @@ countries_list:
   - Honduras
   - Hong Kong
   - Hungary
-  - Iceland 
+  - Iceland
   - India
   - Indonesia
   - Ireland</diff>
      <filename>rails_plugins/globalite/lang/rails/es-ES.yml</filename>
    </modified>
    <modified>
      <diff>@@ -46,11 +46,11 @@ date_helper_time_formats: # DON'T  TRANSLATE, RE ORDER
 # added at the end of date if your date system doesn't use a 24 hours system
 date_helper_am: am
 date_helper_pm: pm
-  
+
 # used by ActionView::Helpers::NumberHelper.number_to_currency
 number_helper_unit: &quot;&#8364;&quot;
 number_helper_separator: &quot;,&quot; #unit separator (between integer part and fraction part)
-number_helper_delimiter: &quot;&quot; #delimiter between each group of thousands. Example: 1.234.567 
+number_helper_delimiter: &quot;&quot; #delimiter between each group of thousands. Example: 1.234.567
 number_helper_order: [number, unit] #order is at present unsupported in Rails
 #to support for instance French format, the order is different: Unit comes last (ex. &quot;1.234,00 &#8364;&quot;)
 
@@ -94,7 +94,7 @@ date_helper_abbr_month_names:
   - Nov
   - D&#233;c
 
-date_helper_day_names: 
+date_helper_day_names:
   - Dimanche
   - Lundi
   - Mardi
@@ -103,15 +103,15 @@ date_helper_day_names:
   - Vendredi
   - Samedi
 
-date_helper_abbr_day_names: 
+date_helper_abbr_day_names:
   - Dim
   - Lun
   - Mar
   - Mer
   - Jeu
-  - Ven 
+  - Ven
   - Sam
-      
+
 countries_list:
   - Afghanistan
   - Albanie
@@ -132,7 +132,7 @@ countries_list:
   - Bahrain
   - Bangladesh
   - Barbados
-  - Belarus 
+  - Belarus
   - Belgium
   - Belize
   - Benin
@@ -143,7 +143,7 @@ countries_list:
   - Botswana
   - Bouvet Island
   - Brazil
-  - British Indian Ocean Territory 
+  - British Indian Ocean Territory
   - Brunei Darussalam
   - Bulgaria
   - Burkina Faso
@@ -194,7 +194,7 @@ countries_list:
   - French Polynesia
   - French Southern Territories
   - Gabon
-  - Gambia 
+  - Gambia
   - Georgia
   - Germany
   - Ghana
@@ -214,7 +214,7 @@ countries_list:
   - Honduras
   - Hong Kong
   - Hungary
-  - Iceland 
+  - Iceland
   - India
   - Indonesia
   - Ireland</diff>
      <filename>rails_plugins/globalite/lang/rails/fr-FR.yml</filename>
    </modified>
    <modified>
      <diff>@@ -45,11 +45,11 @@ date_helper_time_formats: # DON'T  TRANSLATE, RE ORDER
 # added at the end of date if your date system doesn't use a 24 hours system
 date_helper_am: am
 date_helper_pm: pm
-  
+
 # used by ActionView::Helpers::NumberHelper.number_to_currency
 number_helper_unit: &quot;&#8364;&quot;
 number_helper_separator: &quot;,&quot; #unit separator (between integer part and fraction part)
-number_helper_delimiter: &quot;.&quot; #delimiter between each group of thousands. Example: 1.234.567 
+number_helper_delimiter: &quot;.&quot; #delimiter between each group of thousands. Example: 1.234.567
 number_helper_order: [number, unit] #order is at present unsupported in Rails
 #to support for instance French format, the order is different: Unit comes last (ex. &quot;1.234,00 &#8364;&quot;)
 
@@ -92,7 +92,7 @@ date_helper_abbr_month_names:
   - Nov
   - Dic
 
-date_helper_day_names: 
+date_helper_day_names:
   - Domenica
   - Luned&#236;
   - Marted&#236;
@@ -101,16 +101,16 @@ date_helper_day_names:
   - Venerd&#236;
   - Sabato
 
-date_helper_abbr_day_names: 
+date_helper_abbr_day_names:
   - Dom
   - Lun
   - Mar
   - Mer
   - Gio
-  - Ven 
+  - Ven
   - Sab
 
-# STILL NOT TRANSLATED IN ITALIAN      
+# STILL NOT TRANSLATED IN ITALIAN
 countries_list:
   - Afghanistan
   - Albanie
@@ -131,7 +131,7 @@ countries_list:
   - Bahrain
   - Bangladesh
   - Barbados
-  - Belarus 
+  - Belarus
   - Belgium
   - Belize
   - Benin
@@ -142,7 +142,7 @@ countries_list:
   - Botswana
   - Bouvet Island
   - Brazil
-  - British Indian Ocean Territory 
+  - British Indian Ocean Territory
   - Brunei Darussalam
   - Bulgaria
   - Burkina Faso
@@ -193,7 +193,7 @@ countries_list:
   - French Polynesia
   - French Southern Territories
   - Gabon
-  - Gambia 
+  - Gambia
   - Georgia
   - Germany
   - Ghana
@@ -213,7 +213,7 @@ countries_list:
   - Honduras
   - Hong Kong
   - Hungary
-  - Iceland 
+  - Iceland
   - India
   - Indonesia
   - Ireland</diff>
      <filename>rails_plugins/globalite/lang/rails/it.yml</filename>
    </modified>
    <modified>
      <diff>@@ -46,12 +46,12 @@ date_helper_time_formats: # DON'T  TRANSLATE, RE ORDER
 # added at the end of date if your date system doesn't use a 24 hours system
 date_helper_am: am
 date_helper_pm: pm
-    
+
 # used by ActionView::Helpers::NumberHelper.number_to_currency
 number_helper_unit: &quot;R$&quot;
 number_helper_separator: &quot;,&quot; #unit separator (between integer part and fraction part)
-number_helper_delimiter: &quot;.&quot; #delimiter between each group of thousands. Example: 1.234.567 
-number_helper_order: [ unit, number ] 
+number_helper_delimiter: &quot;.&quot; #delimiter between each group of thousands. Example: 1.234.567
+number_helper_order: [ unit, number ]
 #to support for instance French format, the order is different: Unit comes last (ex. &quot;1.234,00 &#8364;&quot;)
 
 # use by +Array#to_sentence()+
@@ -93,7 +93,7 @@ date_helper_abbr_month_names:
   - Nov
   - Dez
 
-date_helper_day_names: 
+date_helper_day_names:
   - Domingo
   - Segunda-feira
   - Ter&#231;a-feira
@@ -102,13 +102,13 @@ date_helper_day_names:
   - Sexta-feira
   - S&#225;bado
 
-date_helper_abbr_day_names: 
+date_helper_abbr_day_names:
   - Dom
   - Seg
   - Ter
   - Qua
   - Qui
-  - Sex 
+  - Sex
   - Sab
 
 countries_list:</diff>
      <filename>rails_plugins/globalite/lang/rails/pt-BR.yml</filename>
    </modified>
    <modified>
      <diff>@@ -46,12 +46,12 @@ date_helper_time_formats: # DON'T  TRANSLATE, RE ORDER
 # added at the end of date if your date system doesn't use a 24 hours system
 date_helper_am: am
 date_helper_pm: pm
-    
+
 # used by ActionView::Helpers::NumberHelper.number_to_currency
 number_helper_unit: &quot;&#8364;&quot;
 number_helper_separator: &quot;,&quot; #unit separator (between integer part and fraction part)
-number_helper_delimiter: &quot;.&quot; #delimiter between each group of thousands. Example: 1.234.567 
-number_helper_order: [ unit, number ] 
+number_helper_delimiter: &quot;.&quot; #delimiter between each group of thousands. Example: 1.234.567
+number_helper_order: [ unit, number ]
 #to support for instance French format, the order is different: Unit comes last (ex. &quot;1.234,00 &#8364;&quot;)
 
 # use by +Array#to_sentence()+
@@ -93,7 +93,7 @@ date_helper_abbr_month_names:
   - Nov
   - Dez
 
-date_helper_day_names: 
+date_helper_day_names:
   - Domingo
   - Segunda-feira
   - Ter&#231;a-feira
@@ -102,13 +102,13 @@ date_helper_day_names:
   - Sexta-feira
   - S&#225;bado
 
-date_helper_abbr_day_names: 
+date_helper_abbr_day_names:
   - Dom
   - Seg
   - Ter
   - Qua
   - Qui
-  - Sex 
+  - Sex
   - Sab
 
 countries_list:</diff>
      <filename>rails_plugins/globalite/lang/rails/pt-PT.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
-module Globalite 
+module Globalite
 
   module L10n
-    
+
     @@default_language = :en
     attr_reader :default_language
 
@@ -50,7 +50,7 @@ module Globalite
     def country
       @@current_country || default_country
     end
-    alias :current_country :country 
+    alias :current_country :country
 
     def current_locale
       &quot;#{current_language}-#{current_country}&quot;.to_sym
@@ -78,12 +78,12 @@ module Globalite
       localize_rails
       @@current_language
     end
-    alias :current_language= :language= 
+    alias :current_language= :language=
 
     # Set the current country code (ISO 3166 country code in uppercase letters)
     # Usage:
     # Globalite.country = 'US' or Globalite.country = :fr
-    # Will store the current country code if supported 
+    # Will store the current country code if supported
     # Will try to automatically find the language for your country
     # If the country isn't unknown to the system, the country will be set as :*
     #
@@ -95,16 +95,16 @@ module Globalite
       if @@locales.include?(&quot;#{current_language}-#{country}&quot;.to_sym)
         @@current_country = country
       elsif locales.each {|locale| locale =~ /[a-z][a-z]-#{country.to_s}/ }
-        locales.each do |key| 
-          if key.to_s.include?(country.to_s)  
+        locales.each do |key|
+          if key.to_s.include?(country.to_s)
             @new_language = key.to_s.split('-')[0].downcase.to_sym
           end
         end
         if @new_language &amp;&amp; @@locales.include?(&quot;#{@new_language}-#{country}&quot;.to_sym)
-          @@current_language = @new_language 
-          @@current_country = country 
+          @@current_language = @new_language
+          @@current_country = country
         end
-      else  
+      else
         @@current_country = :*
       end
       #Locale.update_session_locale
@@ -128,8 +128,8 @@ module Globalite
     end
 
     # List localizations for the current locale
-    def localizations 
-      @@locales[Locale.code] || {} 
+    def localizations
+      @@locales[Locale.code] || {}
     end
 
     # Return the translation for the key, a string can be passed to replaced a missing translation
@@ -146,26 +146,26 @@ module Globalite
       # Get translations from another country but in the same language if Globalite can't find a translation for my locale
       #
       if localized == error_msg
-        locales.each do |t_locale|  
+        locales.each do |t_locale|
           if t_locale.to_s.include?(&quot;#{current_language.to_s}-&quot;) &amp;&amp; t_locale != Locale.code
             localized =  @@locales[t_locale][key] || error_msg
-          end  
+          end
         end
-      end  
+      end
       localized = interpolate_string(localized.dup, args.dup) if localized.class == String &amp;&amp; localized != error_msg
-      
+
       # let's handle pluralization if needed
       # the translation must include pluralize{count, singular string} to be translated
       # the translator can also pass the plural form if needed:
       #    pluralize{3, goose, geese}
       localized = localized.gsub( /pluralize\{(.*)\}/){ |erb| pluralize(Regexp.last_match(1)) } if localized.is_a?(String) &amp;&amp; (localized=~ /pluralize\{(.*)\}/)
-      
+
       # Set the locale back to normal
       #
       unless locale.nil?
         Locale.code = @original_locale
       end
-            
+
       return localized
     end
     alias :loc :localize
@@ -185,7 +185,7 @@ module Globalite
     def pluralize(l_string) #count, singular, plural = nil)
       # map the arguments like in the original pluralize method
       count, singular, plural = l_string.split(',').map{ |arg| arg.strip}
-      
+
        &quot;#{count} &quot; + if count == 1 || count == '1'
         singular
       elsif plural
@@ -196,7 +196,7 @@ module Globalite
         singular + &quot;s&quot;
       end
     end
-    
+
     def reset_l10n_data
       @@languages = []
       @@countries = []
@@ -205,7 +205,7 @@ module Globalite
       @@ui_locales = {}
     end
 
-    # Loads ALL the UI localization in memory, I might want to refactor this later on. 
+    # Loads ALL the UI localization in memory, I might want to refactor this later on.
     # (can be hard on the memory if you load 25 languages with 900 entries each)
     def load_localization!
       reset_l10n_data
@@ -226,7 +226,7 @@ module Globalite
             end
             @@languages &lt;&lt; lang unless @@languages.include? lang
           else
-            @@languages &lt;&lt; lang unless @@languages.include? lang 
+            @@languages &lt;&lt; lang unless @@languages.include? lang
             @f_locale = &quot;#{lang}-*&quot;.to_sym
             @@locales[@f_locale] = @@locales[@f_locale].merge(YAML.load_file(file).symbolize_keys) if locales.include?(@f_locale)
             @@locales[@f_locale] = YAML.load_file(file).symbolize_keys unless locales.include?(@f_locale)
@@ -235,10 +235,10 @@ module Globalite
       end
       alias :load_translations! :load_localization!
       alias :load_localizations! :load_localization!
-      
+
       # Load the UI localization
       if ui_localization_files
-        ui_localization_files.each do |file| 
+        ui_localization_files.each do |file|
           lang = File.basename(file, '.*')[0,2].downcase.to_sym
           if File.basename(file, '.*')[3,5]
             country = File.basename(file, '.*')[3,5].upcase.to_sym
@@ -251,7 +251,7 @@ module Globalite
           if locales.include?(@file_locale)
             @@locales[@file_locale] = @@locales[@file_locale].merge(YAML.load_file(file).symbolize_keys)
             @@ui_locales[locale_name(&quot;#{lang}-#{country}&quot;)] = &quot;#{lang}-#{country}&quot;.to_sym
-          else  
+          else
             @@locales[@file_locale] = YAML.load_file(file).symbolize_keys
             @@ui_locales[locale_name(&quot;#{lang}-#{country}&quot;)] = &quot;#{lang}-#{country}&quot;.to_sym
           end</diff>
      <filename>rails_plugins/globalite/lib/globalite/l10n.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,35 +15,35 @@ class Locale
   def self.code
     &quot;#{Globalite.language}-#{Globalite.country}&quot;.to_sym
   end
-  
+
   #
   def self.set_code(locale)
-    if locale.to_s.split('-') &amp;&amp; locale.to_s.length.between?(4,5) &amp;&amp; Globalite.locales.include?(locale.to_sym) 
+    if locale.to_s.split('-') &amp;&amp; locale.to_s.length.between?(4,5) &amp;&amp; Globalite.locales.include?(locale.to_sym)
        Globalite.language = locale.to_s.split('-')[0].downcase.to_sym if locale.to_s.split('-')[0]
        Globalite.country = locale.to_s.split('-')[1].upcase.to_sym if locale.to_s.split('-')[1]
     end
   end
-  
+
   def self.code=(locale)
     self.set_code(locale)
   end
-  
+
   # Return the available locales
   def self.codes
     Globalite.locales
   end
-  
+
   # Return the locale name in its own language for instance fr-FR =&gt; Fran&#231;ais
   def self.name(locale)
     Globalite.locale_name(locale)
   end
-  
+
   # Return the list of the UI locales with their name
   def self.ui_locales
     Globalite.ui_locales
   end
-  
-  # Return the list of the Rails locales with their name 
+
+  # Return the list of the Rails locales with their name
   def self.rails_locales
     Globalite.rails_locales
   end
@@ -52,5 +52,5 @@ class Locale
   def self.reset!
     Locale.set_code(&quot;#{Globalite.default_language}-#{Globalite.default_country}&quot;)
   end
-  
+
 end</diff>
      <filename>rails_plugins/globalite/lib/globalite/locale.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,19 @@
 module SymbolExtension # :nodoc:
-  # Localizes the symbol into the current locale. 
+  # Localizes the symbol into the current locale.
   # If there is no translation available, the replacement string will be returned
   def localize(replacement_string = '__localization_missing__', args={})
     Globalite.localize(self, replacement_string, args)
   end
   alias :l :localize
-  
+
   def l_in(locale, args={})
     Globalite.localize(self, '_localization_missing_', args, locale) unless locale.nil?
   end
-  
+
   # Note that this method takes the replacement string after the args hash unlike other Globalite methods
   def localize_with_args(args={}, replacement_string = '__localization_missing__')
     Globalite.localize(self, replacement_string, args)
   end
   alias :l_with_args :localize_with_args
-  
+
 end</diff>
      <filename>rails_plugins/globalite/lib/rails/core_ext.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,7 +20,7 @@ class Time
       cc = c.sub(/^%[EO]?(.)$/o, '%\\1')
       case cc
       when '%A'; o &lt;&lt; :date_helper_day_names.l[wday]
-      when '%a'; o &lt;&lt; :date_helper_abbr_day_names.l[wday] 
+      when '%a'; o &lt;&lt; :date_helper_abbr_day_names.l[wday]
       when '%B'; o &lt;&lt; :date_helper_month_names.l[mon]
       when '%b'; o &lt;&lt; :date_helper_abbr_month_names.l[mon]
         #when '%c'; o &lt;&lt; :date_helper_time_formats.l[:default] ? :date_helper_date_formats.l[:default] : strftime('%Y-%m-%d')
@@ -43,7 +43,7 @@ class Date
       cc = c.sub(/^%[EO]?(.)$/o, '%\\1')
       case cc
       when '%A'; o &lt;&lt; :date_helper_day_names.l[wday]
-      when '%a'; o &lt;&lt; :date_helper_abbr_day_names.l[wday] 
+      when '%a'; o &lt;&lt; :date_helper_abbr_day_names.l[wday]
       when '%B'; o &lt;&lt; :date_helper_month_names.l[mon]
       when '%b'; o &lt;&lt; :date_helper_abbr_month_names.l[mon]
         #when '%c'; o &lt;&lt; :date_helper_time_formats.l[:default] ? :date_helper_date_formats.l[:default] : strftime('%Y-%m-%d')
@@ -54,5 +54,5 @@ class Date
     strftime(o)
   end
   alias :l :localize
-  
+
 end
\ No newline at end of file</diff>
      <filename>rails_plugins/globalite/lib/rails/localization.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,11 @@
 module ActionView
-  
+
   # Modify DateHelper to use localization keys
   module Helpers
-    
+
     #Modify DateHelper distance_of_time_in_words
     module DateHelper
-      
+
       def distance_of_time_in_words(from_time, to_time = 0, include_seconds = false)
         from_time = from_time.to_time if from_time.respond_to?(:to_time)
         to_time = to_time.to_time if to_time.respond_to?(:to_time)
@@ -19,32 +19,32 @@ module ActionView
           when 0..5        then format( :date_helper_less_than_x_seconds.l , 5 )
           when 6..10       then format( :date_helper_less_than_x_seconds.l , 10 )
           when 11..20      then format( :date_helper_less_than_x_seconds.l , 20 )
-          when 21..40      then :date_helper_half_a_minute.l 
-          when 41..59      then :date_helper_less_than_a_minute.l 
-          else                  :date_helper_one_minute.l 
+          when 21..40      then :date_helper_half_a_minute.l
+          when 41..59      then :date_helper_less_than_a_minute.l
+          else                  :date_helper_one_minute.l
           end
 
         when 2..44           then format(:date_helper_x_minutes.l, distance_in_minutes)
-        when 45..89          then :date_helper_one_hour.l 
+        when 45..89          then :date_helper_one_hour.l
         when 90..1439        then format( :date_helper_x_hours.l , (distance_in_minutes.to_f / 60.0).round )
-        when 1440..2879      then :date_helper_one_day.l 
+        when 1440..2879      then :date_helper_one_day.l
         when 2880..43199     then format( :date_helper_x_days.l , (distance_in_minutes / 1440).round )
-        when 43200..86399    then :date_helper_one_month.l 
+        when 43200..86399    then :date_helper_one_month.l
         when 86400..525959   then format( :date_helper_x_months.l , (distance_in_minutes / 43200).round )
-        when 525960..1051919 then :date_helper_one_year.l 
+        when 525960..1051919 then :date_helper_one_year.l
         else                      format( :date_helper_x_years.l , (distance_in_minutes / 525960).round )
         end
       end
     end
 
     module NumberHelper
-      
+
       # modify number_to_currency to accept :order option
       def number_to_currency(number, options = {})
         # Blend default options with localized currency options
         options.reverse_merge!({:unit =&gt; :number_helper_unit.l, :separator =&gt; :number_helper_separator.l, :delimiter =&gt; :number_helper_delimiter.l, :order =&gt; :number_helper_order.l})
         options = options.stringify_keys
-        
+
         precision, unit, separator, delimiter = options.delete(&quot;precision&quot;) { 2 }, options.delete(&quot;unit&quot;) { &quot;$&quot; }, options.delete(&quot;separator&quot;) { &quot;.&quot; }, options.delete(&quot;delimiter&quot;) { &quot;,&quot; }
         separator = &quot;&quot; unless precision &gt; 0
 
@@ -69,7 +69,7 @@ module ActionView
     end# module NumberHelper
 
     module DateHelper
-      
+
       # Blend default options with localized :order option and add locale support
       # Example:
       # &lt;% form_for(@page) do |f| %&gt;
@@ -82,7 +82,7 @@ module ActionView
         if options[:locale]
           @original_locale = Locale.code
           Locale.code = options[:locale]
-        end 
+        end
         options.reverse_merge!( :order =&gt; :date_helper_order.l )
         @selector = InstanceTag.new(object_name, method, self, nil, options.delete(:object)).to_date_select_tag(options)
         Locale.code = @original_locale if options[:locale]
@@ -135,12 +135,12 @@ module ActionView
         Locale.code = @original_locale if options[:locale]
         return @selector
       end
-      
+
     end #module DateHelper
 
 
     module FormOptionsHelper
-      
+
       def country_options_for_select(selected = nil, priority_countries = nil)
         country_options = &quot;&quot;
 
@@ -157,7 +157,7 @@ module ActionView
 
         return country_options
       end
-      
+
     end #module FormOptionsHelper
 
 		module ActiveRecordHelper</diff>
      <filename>rails_plugins/globalite/lib/rails/localized_action_view.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 module ActiveRecord
   class Errors
-    
+
     # Error messages modified in lang file
     @@default_error_messages.update({
               :inclusion           =&gt; :error_message_inclusion.l,
@@ -16,7 +16,7 @@ module ActiveRecord
               :taken               =&gt; :error_message_taken.l,
               :not_a_number        =&gt; :error_message_not_a_number.l,
             })
-    
+
     # Reloads the localization
     def self.relocalize
       @@default_error_messages.update({
@@ -34,12 +34,12 @@ module ActiveRecord
                 :not_a_number        =&gt; :error_message_not_a_number.l,
               })
     end
-    
+
     # # Handle model error localization
     # def add(attribute, msg = @@default_error_messages[:invalid])
     #        @errors[attribute.l] = [] if @errors[attribute.to_s].nil?
     #        @errors[attribute.l] &lt;&lt; msg
     # end
-    
+
   end
 end
\ No newline at end of file</diff>
      <filename>rails_plugins/globalite/lib/rails/localized_active_record.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -94,7 +94,7 @@
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/ActionView.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -103,7 +103,7 @@ Module &lt;a href=&quot;Helpers/NumberHelper.html&quot; class=&quot;link&quot;&gt;ActionView::Helpers::Num
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/ActionView/Helpers.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -118,7 +118,7 @@ href=&quot;DateHelper.html#M000042&quot;&gt;distance_of_time_in_words&lt;/a&gt;
     &lt;/div&gt;
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;
@@ -133,7 +133,7 @@ href=&quot;DateHelper.html#M000042&quot;&gt;distance_of_time_in_words&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;date_select&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(object_name, method, options = {})&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 alias_method :orig_date_select, :&lt;a
@@ -164,7 +164,7 @@ href=&quot;DateHelper.html#M000043&quot;&gt;date_select&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;datetime_select&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(object_name, method, options = {})&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 alias_method :orig_datetime_select, :&lt;a
@@ -195,7 +195,7 @@ href=&quot;DateHelper.html#M000044&quot;&gt;datetime_select&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;distance_of_time_in_words&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(from_time, to_time = 0, include_seconds = false)&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000042-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -207,7 +207,7 @@ href=&quot;DateHelper.html#M000044&quot;&gt;datetime_select&lt;/a&gt;
 12:         &lt;span class=&quot;ruby-identifier&quot;&gt;to_time&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;to_time&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_time&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;to_time&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;respond_to?&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;:to_time&lt;/span&gt;)
 13:         &lt;span class=&quot;ruby-identifier&quot;&gt;distance_in_minutes&lt;/span&gt; = (((&lt;span class=&quot;ruby-identifier&quot;&gt;to_time&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;from_time&lt;/span&gt;).&lt;span class=&quot;ruby-identifier&quot;&gt;abs&lt;/span&gt;)&lt;span class=&quot;ruby-operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;60&lt;/span&gt;).&lt;span class=&quot;ruby-identifier&quot;&gt;round&lt;/span&gt;
 14:         &lt;span class=&quot;ruby-identifier&quot;&gt;distance_in_seconds&lt;/span&gt; = ((&lt;span class=&quot;ruby-identifier&quot;&gt;to_time&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;from_time&lt;/span&gt;).&lt;span class=&quot;ruby-identifier&quot;&gt;abs&lt;/span&gt;).&lt;span class=&quot;ruby-identifier&quot;&gt;round&lt;/span&gt;
-15: 
+15:
 16:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;distance_in_minutes&lt;/span&gt;
 17:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;1&lt;/span&gt;
 18:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;return&lt;/span&gt; (&lt;span class=&quot;ruby-identifier&quot;&gt;distance_in_minutes&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;0&lt;/span&gt;) &lt;span class=&quot;ruby-operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_less_than_a_minute&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;:&lt;/span&gt;  &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_one_minute&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;include_seconds&lt;/span&gt;
@@ -215,19 +215,19 @@ href=&quot;DateHelper.html#M000044&quot;&gt;datetime_select&lt;/a&gt;
 20:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;5&lt;/span&gt;        &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;format&lt;/span&gt;( &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_less_than_x_seconds&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; , &lt;span class=&quot;ruby-value&quot;&gt;5&lt;/span&gt; )
 21:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;10&lt;/span&gt;       &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;format&lt;/span&gt;( &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_less_than_x_seconds&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; , &lt;span class=&quot;ruby-value&quot;&gt;10&lt;/span&gt; )
 22:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;20&lt;/span&gt;      &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;format&lt;/span&gt;( &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_less_than_x_seconds&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; , &lt;span class=&quot;ruby-value&quot;&gt;20&lt;/span&gt; )
-23:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;40&lt;/span&gt;      &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_half_a_minute&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; 
-24:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;41&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;59&lt;/span&gt;      &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_less_than_a_minute&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; 
-25:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;else&lt;/span&gt;                  &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_one_minute&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; 
+23:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;40&lt;/span&gt;      &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_half_a_minute&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;
+24:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;41&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;59&lt;/span&gt;      &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_less_than_a_minute&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;
+25:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;else&lt;/span&gt;                  &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_one_minute&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;
 26:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
-27: 
+27:
 28:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;44&lt;/span&gt;           &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;format&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_x_minutes&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;, &lt;span class=&quot;ruby-identifier&quot;&gt;distance_in_minutes&lt;/span&gt;)
-29:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;45&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;89&lt;/span&gt;          &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_one_hour&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; 
+29:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;45&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;89&lt;/span&gt;          &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_one_hour&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;
 30:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;90&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;1439&lt;/span&gt;        &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;format&lt;/span&gt;( &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_x_hours&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; , (&lt;span class=&quot;ruby-identifier&quot;&gt;distance_in_minutes&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_f&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;60.0&lt;/span&gt;).&lt;span class=&quot;ruby-identifier&quot;&gt;round&lt;/span&gt; )
-31:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;1440&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;2879&lt;/span&gt;      &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_one_day&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; 
+31:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;1440&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;2879&lt;/span&gt;      &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_one_day&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;
 32:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;2880&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;43199&lt;/span&gt;     &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;format&lt;/span&gt;( &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_x_days&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; , (&lt;span class=&quot;ruby-identifier&quot;&gt;distance_in_minutes&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;1440&lt;/span&gt;).&lt;span class=&quot;ruby-identifier&quot;&gt;round&lt;/span&gt; )
-33:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;43200&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;86399&lt;/span&gt;    &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_one_month&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; 
+33:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;43200&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;86399&lt;/span&gt;    &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_one_month&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;
 34:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;86400&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;525959&lt;/span&gt;   &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;format&lt;/span&gt;( &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_x_months&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; , (&lt;span class=&quot;ruby-identifier&quot;&gt;distance_in_minutes&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;43200&lt;/span&gt;).&lt;span class=&quot;ruby-identifier&quot;&gt;round&lt;/span&gt; )
-35:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;525960&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;1051919&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_one_year&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; 
+35:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;525960&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;ruby-value&quot;&gt;1051919&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;then&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_one_year&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;
 36:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;else&lt;/span&gt;                      &lt;span class=&quot;ruby-identifier&quot;&gt;format&lt;/span&gt;( &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_x_years&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; , (&lt;span class=&quot;ruby-identifier&quot;&gt;distance_in_minutes&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;525960&lt;/span&gt;).&lt;span class=&quot;ruby-identifier&quot;&gt;round&lt;/span&gt; )
 37:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
 38:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
@@ -244,7 +244,7 @@ href=&quot;DateHelper.html#M000044&quot;&gt;datetime_select&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;select_month&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(date, options = {})&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000045-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -269,7 +269,7 @@ href=&quot;DateHelper.html#M000044&quot;&gt;datetime_select&lt;/a&gt;
 109:             &lt;span class=&quot;ruby-keyword kw&quot;&gt;else&lt;/span&gt;
 110:               &lt;span class=&quot;ruby-identifier&quot;&gt;month_names&lt;/span&gt;[&lt;span class=&quot;ruby-identifier&quot;&gt;month_number&lt;/span&gt;]
 111:             &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
-112: 
+112:
 113:             &lt;span class=&quot;ruby-identifier&quot;&gt;month_options&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; ((&lt;span class=&quot;ruby-identifier&quot;&gt;val&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;month_number&lt;/span&gt;) &lt;span class=&quot;ruby-operator&quot;&gt;?&lt;/span&gt;
 114:               &lt;span class=&quot;ruby-node&quot;&gt;%(&amp;lt;option value=&amp;quot;#{month_number}&amp;quot; selected=&amp;quot;selected&amp;quot;&amp;gt;#{month_name}&amp;lt;/option&amp;gt;\n)&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;:&lt;/span&gt;
 115:               &lt;span class=&quot;ruby-node&quot;&gt;%(&amp;lt;option value=&amp;quot;#{month_number}&amp;quot;&amp;gt;#{month_name}&amp;lt;/option&amp;gt;\n)&lt;/span&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/ActionView/Helpers/DateHelper.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -95,7 +95,7 @@
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;
@@ -110,7 +110,7 @@
           &lt;span class=&quot;method-name&quot;&gt;country_options_for_select&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(selected = nil, priority_countries = nil)&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000040-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -119,18 +119,18 @@
      &lt;span class=&quot;ruby-comment cmt&quot;&gt;# File lib/rails/localized_action_view.rb, line 127&lt;/span&gt;
 127:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;country_options_for_select&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;selected&lt;/span&gt; = &lt;span class=&quot;ruby-keyword kw&quot;&gt;nil&lt;/span&gt;, &lt;span class=&quot;ruby-identifier&quot;&gt;priority_countries&lt;/span&gt; = &lt;span class=&quot;ruby-keyword kw&quot;&gt;nil&lt;/span&gt;)
 128:         &lt;span class=&quot;ruby-identifier&quot;&gt;country_options&lt;/span&gt; = &lt;span class=&quot;ruby-value str&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;
-129: 
+129:
 130:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;priority_countries&lt;/span&gt;
 131:           &lt;span class=&quot;ruby-identifier&quot;&gt;country_options&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;options_for_select&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;priority_countries&lt;/span&gt;, &lt;span class=&quot;ruby-identifier&quot;&gt;selected&lt;/span&gt;)
 132:           &lt;span class=&quot;ruby-identifier&quot;&gt;country_options&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;ruby-value str&quot;&gt;&amp;quot;&amp;lt;option value=\&amp;quot;\&amp;quot;&amp;gt;-------------&amp;lt;/option&amp;gt;\n&amp;quot;&lt;/span&gt;
 133:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
-134: 
+134:
 135:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;priority_countries&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;priority_countries&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;selected&lt;/span&gt;)
 136:           &lt;span class=&quot;ruby-identifier&quot;&gt;country_options&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;options_for_select&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;:countries_list&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;priority_countries&lt;/span&gt;, &lt;span class=&quot;ruby-identifier&quot;&gt;selected&lt;/span&gt;)
 137:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;else&lt;/span&gt;
 138:           &lt;span class=&quot;ruby-identifier&quot;&gt;country_options&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;options_for_select&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;:countries_list&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;, &lt;span class=&quot;ruby-identifier&quot;&gt;selected&lt;/span&gt;)
 139:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
-140: 
+140:
 141:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;country_options&lt;/span&gt;
 142:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
 &lt;/pre&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/ActionView/Helpers/FormOptionsHelper.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -108,7 +108,7 @@
     &lt;/div&gt;
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;
@@ -123,7 +123,7 @@
           &lt;span class=&quot;method-name&quot;&gt;number_to_currency&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(number, options = {})&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 modify &lt;a href=&quot;NumberHelper.html#M000041&quot;&gt;number_to_currency&lt;/a&gt; to accept
@@ -143,10 +143,10 @@ modify &lt;a href=&quot;NumberHelper.html#M000041&quot;&gt;number_to_currency&lt;/a&gt; to accept
 51:         &lt;span class=&quot;ruby-comment cmt&quot;&gt;#        end&lt;/span&gt;
 52:         &lt;span class=&quot;ruby-comment cmt&quot;&gt;#        options[:order] ||= [:unit, :number]&lt;/span&gt;
 53:         &lt;span class=&quot;ruby-identifier&quot;&gt;options&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;options&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;stringify_keys&lt;/span&gt;
-54:         
+54:
 55:         &lt;span class=&quot;ruby-identifier&quot;&gt;precision&lt;/span&gt;, &lt;span class=&quot;ruby-identifier&quot;&gt;unit&lt;/span&gt;, &lt;span class=&quot;ruby-identifier&quot;&gt;separator&lt;/span&gt;, &lt;span class=&quot;ruby-identifier&quot;&gt;delimiter&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;options&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;delete&lt;/span&gt;(&lt;span class=&quot;ruby-value str&quot;&gt;&amp;quot;precision&amp;quot;&lt;/span&gt;) { &lt;span class=&quot;ruby-value&quot;&gt;2&lt;/span&gt; }, &lt;span class=&quot;ruby-identifier&quot;&gt;options&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;delete&lt;/span&gt;(&lt;span class=&quot;ruby-value str&quot;&gt;&amp;quot;unit&amp;quot;&lt;/span&gt;) { &lt;span class=&quot;ruby-value str&quot;&gt;&amp;quot;$&amp;quot;&lt;/span&gt; }, &lt;span class=&quot;ruby-identifier&quot;&gt;options&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;delete&lt;/span&gt;(&lt;span class=&quot;ruby-value str&quot;&gt;&amp;quot;separator&amp;quot;&lt;/span&gt;) { &lt;span class=&quot;ruby-value str&quot;&gt;&amp;quot;.&amp;quot;&lt;/span&gt; }, &lt;span class=&quot;ruby-identifier&quot;&gt;options&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;delete&lt;/span&gt;(&lt;span class=&quot;ruby-value str&quot;&gt;&amp;quot;delimiter&amp;quot;&lt;/span&gt;) { &lt;span class=&quot;ruby-value str&quot;&gt;&amp;quot;,&amp;quot;&lt;/span&gt; }
 56:         &lt;span class=&quot;ruby-identifier&quot;&gt;separator&lt;/span&gt; = &lt;span class=&quot;ruby-value str&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;precision&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;ruby-value&quot;&gt;0&lt;/span&gt;
-57: 
+57:
 58:         &lt;span class=&quot;ruby-comment cmt&quot;&gt;#add leading space before trailing unit&lt;/span&gt;
 59:         &lt;span class=&quot;ruby-identifier&quot;&gt;unit&lt;/span&gt; = &lt;span class=&quot;ruby-value str&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;unit&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;options&lt;/span&gt;[&lt;span class=&quot;ruby-value str&quot;&gt;&amp;quot;order&amp;quot;&lt;/span&gt;] &lt;span class=&quot;ruby-operator&quot;&gt;==&lt;/span&gt; [&lt;span class=&quot;ruby-value str&quot;&gt;'number'&lt;/span&gt;, &lt;span class=&quot;ruby-value str&quot;&gt;'unit'&lt;/span&gt;]
 60:         &lt;span class=&quot;ruby-identifier&quot;&gt;output&lt;/span&gt; = &lt;span class=&quot;ruby-value str&quot;&gt;''&lt;/span&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/ActionView/Helpers/NumberHelper.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -94,7 +94,7 @@
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/ActiveRecord.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -101,7 +101,7 @@
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;
@@ -116,7 +116,7 @@
           &lt;span class=&quot;method-name&quot;&gt;relocalize&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Reloads the localization</diff>
      <filename>rails_plugins/globalite/rdoc/classes/ActiveRecord/Errors.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -114,7 +114,7 @@
     &lt;/div&gt;
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;
@@ -129,7 +129,7 @@
           &lt;span class=&quot;method-name&quot;&gt;to_sentence&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(options = {})&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000003-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/Array.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -102,7 +102,7 @@
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;
@@ -115,7 +115,7 @@
         &lt;div class=&quot;method-heading&quot;&gt;
           &lt;span class=&quot;method-name&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(format='default')&lt;/span&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Alias for &lt;a href=&quot;Date.html#M000009&quot;&gt;localize&lt;/a&gt;
@@ -131,7 +131,7 @@ Alias for &lt;a href=&quot;Date.html#M000009&quot;&gt;localize&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;localize&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(format='default')&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Acts the same as strftime, but returns a localized version of the formatted
@@ -150,7 +150,7 @@ date string.
 43:       &lt;span class=&quot;ruby-identifier&quot;&gt;cc&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;c&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;sub&lt;/span&gt;(&lt;span class=&quot;ruby-regexp re&quot;&gt;/^%[EO]?(.)$/o&lt;/span&gt;, &lt;span class=&quot;ruby-value str&quot;&gt;'%\\1'&lt;/span&gt;)
 44:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;cc&lt;/span&gt;
 45:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value str&quot;&gt;'%A'&lt;/span&gt;; &lt;span class=&quot;ruby-identifier&quot;&gt;o&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_day_names&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;[&lt;span class=&quot;ruby-identifier&quot;&gt;wday&lt;/span&gt;]
-46:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value str&quot;&gt;'%a'&lt;/span&gt;; &lt;span class=&quot;ruby-identifier&quot;&gt;o&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_abbr_day_names&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;[&lt;span class=&quot;ruby-identifier&quot;&gt;wday&lt;/span&gt;] 
+46:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value str&quot;&gt;'%a'&lt;/span&gt;; &lt;span class=&quot;ruby-identifier&quot;&gt;o&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_abbr_day_names&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;[&lt;span class=&quot;ruby-identifier&quot;&gt;wday&lt;/span&gt;]
 47:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value str&quot;&gt;'%B'&lt;/span&gt;; &lt;span class=&quot;ruby-identifier&quot;&gt;o&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_month_names&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;[&lt;span class=&quot;ruby-identifier&quot;&gt;mon&lt;/span&gt;]
 48:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value str&quot;&gt;'%b'&lt;/span&gt;; &lt;span class=&quot;ruby-identifier&quot;&gt;o&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_abbr_month_names&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;[&lt;span class=&quot;ruby-identifier&quot;&gt;mon&lt;/span&gt;]
 49:         &lt;span class=&quot;ruby-comment cmt&quot;&gt;#when '%c'; o &amp;lt;&amp;lt; :date_helper_time_formats.l[:default] ? :date_helper_date_formats.l[:default] : strftime('%Y-%m-%d')&lt;/span&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/Date.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -105,7 +105,7 @@
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;
@@ -120,7 +120,7 @@
           &lt;span class=&quot;method-name&quot;&gt;localize_rails&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000011-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/Globalite.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -134,7 +134,7 @@
         &lt;/table&gt;
       &lt;/div&gt;
     &lt;/div&gt;
-      
+
 
 
     &lt;!-- if method_list --&gt;
@@ -149,7 +149,7 @@
           &lt;span class=&quot;method-name&quot;&gt;add_localization_source&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(path)&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000025-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -173,7 +173,7 @@
           &lt;span class=&quot;method-name&quot;&gt;add_reserved_key&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(*key)&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000032-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -194,7 +194,7 @@
         &lt;div class=&quot;method-heading&quot;&gt;
           &lt;span class=&quot;method-name&quot;&gt;add_reserved_keys&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(*key)&lt;/span&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Alias for &lt;a href=&quot;L10n.html#M000032&quot;&gt;add_reserved_key&lt;/a&gt;
@@ -210,7 +210,7 @@ Alias for &lt;a href=&quot;L10n.html#M000032&quot;&gt;add_reserved_key&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;countries&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000014-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -231,7 +231,7 @@ Alias for &lt;a href=&quot;L10n.html#M000032&quot;&gt;add_reserved_key&lt;/a&gt;
         &lt;div class=&quot;method-heading&quot;&gt;
           &lt;span class=&quot;method-name&quot;&gt;country&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Alias for &lt;a href=&quot;L10n.html#M000018&quot;&gt;current_country&lt;/a&gt;
@@ -247,7 +247,7 @@ Alias for &lt;a href=&quot;L10n.html#M000018&quot;&gt;current_country&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;current_country&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000018-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -270,7 +270,7 @@ Alias for &lt;a href=&quot;L10n.html#M000018&quot;&gt;current_country&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;current_country=&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(country)&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Set the current &lt;a href=&quot;L10n.html#M000019&quot;&gt;country&lt;/a&gt; code (ISO 3166 &lt;a
@@ -292,20 +292,20 @@ the &lt;a href=&quot;L10n.html#M000019&quot;&gt;country&lt;/a&gt; will be set as :*
  79:       &lt;span class=&quot;ruby-identifier&quot;&gt;load_localization!&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;defined?&lt;/span&gt; &lt;span class=&quot;ruby-constant&quot;&gt;RAILS_ENV&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;ruby-constant&quot;&gt;RAILS_ENV&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ruby-value str&quot;&gt;'development'&lt;/span&gt;
  80:       &lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;upcase&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ruby-constant&quot;&gt;Symbol&lt;/span&gt;
  81:       &lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;upcase&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ruby-constant&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;empty?&lt;/span&gt;
- 82: 
+ 82:
  83:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-ivar&quot;&gt;@@locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-node&quot;&gt;&amp;quot;#{current_language}-#{country}&amp;quot;&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt;)
  84:         &lt;span class=&quot;ruby-ivar&quot;&gt;@@current_country&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt;
  85:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;each&lt;/span&gt; {&lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;ruby-node&quot;&gt;/[a-z][a-z]-#{country.to_s}/&lt;/span&gt; }
- 86:         &lt;span class=&quot;ruby-identifier&quot;&gt;locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;each&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;ruby-identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt; 
- 87:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;key&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;)  
+ 86:         &lt;span class=&quot;ruby-identifier&quot;&gt;locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;each&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;ruby-identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt;
+ 87:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;key&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;)
  88:             &lt;span class=&quot;ruby-ivar&quot;&gt;@new_language&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;key&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;split&lt;/span&gt;(&lt;span class=&quot;ruby-value str&quot;&gt;'-'&lt;/span&gt;)[&lt;span class=&quot;ruby-value&quot;&gt;0&lt;/span&gt;].&lt;span class=&quot;ruby-identifier&quot;&gt;downcase&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt;
  89:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
  90:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
  91:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-ivar&quot;&gt;@new_language&lt;/span&gt;
- 92:           &lt;span class=&quot;ruby-ivar&quot;&gt;@@current_language&lt;/span&gt; = &lt;span class=&quot;ruby-ivar&quot;&gt;@new_language&lt;/span&gt; 
- 93:           &lt;span class=&quot;ruby-ivar&quot;&gt;@@current_country&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt; 
+ 92:           &lt;span class=&quot;ruby-ivar&quot;&gt;@@current_language&lt;/span&gt; = &lt;span class=&quot;ruby-ivar&quot;&gt;@new_language&lt;/span&gt;
+ 93:           &lt;span class=&quot;ruby-ivar&quot;&gt;@@current_country&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt;
  94:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
- 95:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;else&lt;/span&gt;  
+ 95:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;else&lt;/span&gt;
  96:         &lt;span class=&quot;ruby-ivar&quot;&gt;@@current_country&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;:*&lt;/span&gt;
  97:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
  98:       &lt;span class=&quot;ruby-constant&quot;&gt;Locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;update_session_locale&lt;/span&gt;
@@ -324,7 +324,7 @@ the &lt;a href=&quot;L10n.html#M000019&quot;&gt;country&lt;/a&gt; will be set as :*
           &lt;span class=&quot;method-name&quot;&gt;current_language&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000016-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -347,7 +347,7 @@ the &lt;a href=&quot;L10n.html#M000019&quot;&gt;country&lt;/a&gt; will be set as :*
           &lt;span class=&quot;method-name&quot;&gt;current_language=&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(language)&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Set the current &lt;a href=&quot;L10n.html#M000017&quot;&gt;language&lt;/a&gt; ( ISO 639-1 &lt;a
@@ -363,17 +363,17 @@ href=&quot;L10n.html#M000017&quot;&gt;language&lt;/a&gt;
 &lt;pre&gt;
     &lt;span class=&quot;ruby-comment cmt&quot;&gt;# File lib/globalite/l10n.rb, line 54&lt;/span&gt;
 54:     &lt;span class=&quot;ruby-keyword kw&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;current_language=&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;language&lt;/span&gt;)
-55:       
+55:
 56:       &lt;span class=&quot;ruby-identifier&quot;&gt;language&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;language&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;downcase&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;language&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ruby-constant&quot;&gt;Symbol&lt;/span&gt;
 57:       &lt;span class=&quot;ruby-identifier&quot;&gt;language&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;language&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;downcase&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;language&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ruby-constant&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;ruby-identifier&quot;&gt;language&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;empty?&lt;/span&gt;
-58: 
+58:
 59:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-ivar&quot;&gt;@@languages&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;language&lt;/span&gt;)
 60:         &lt;span class=&quot;ruby-ivar&quot;&gt;@@current_language&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;language&lt;/span&gt;
 61:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;ruby-ivar&quot;&gt;@@locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-node&quot;&gt;&amp;quot;#{language}-#{@@current_country}&amp;quot;&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt;)
 62:           &lt;span class=&quot;ruby-ivar&quot;&gt;@@current_country&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;:*&lt;/span&gt;
 63:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
 64:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
-65:       
+65:
 66:       &lt;span class=&quot;ruby-constant&quot;&gt;Locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;update_session_locale&lt;/span&gt;
 67:       &lt;span class=&quot;ruby-identifier&quot;&gt;localize_rails&lt;/span&gt;
 68:       &lt;span class=&quot;ruby-ivar&quot;&gt;@@current_language&lt;/span&gt;
@@ -391,7 +391,7 @@ href=&quot;L10n.html#M000017&quot;&gt;language&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;current_locale&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000020-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -414,7 +414,7 @@ href=&quot;L10n.html#M000017&quot;&gt;language&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;current_locale=&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(locale)&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000024-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -437,7 +437,7 @@ href=&quot;L10n.html#M000017&quot;&gt;language&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;default_language&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000013-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -458,7 +458,7 @@ href=&quot;L10n.html#M000017&quot;&gt;language&lt;/a&gt;
         &lt;div class=&quot;method-heading&quot;&gt;
           &lt;span class=&quot;method-name&quot;&gt;l_with_args&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(key, args={})&lt;/span&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Alias for &lt;a href=&quot;L10n.html#M000030&quot;&gt;localize_with_args&lt;/a&gt;
@@ -472,7 +472,7 @@ Alias for &lt;a href=&quot;L10n.html#M000030&quot;&gt;localize_with_args&lt;/a&gt;
         &lt;div class=&quot;method-heading&quot;&gt;
           &lt;span class=&quot;method-name&quot;&gt;language&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Alias for &lt;a href=&quot;L10n.html#M000016&quot;&gt;current_language&lt;/a&gt;
@@ -488,7 +488,7 @@ Alias for &lt;a href=&quot;L10n.html#M000016&quot;&gt;current_language&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;languages&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000012-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -511,7 +511,7 @@ Alias for &lt;a href=&quot;L10n.html#M000016&quot;&gt;current_language&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;load_localization!&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Loads ALL the UI localization in memory, I might want to refactor this
@@ -525,7 +525,7 @@ href=&quot;L10n.html#M000012&quot;&gt;languages&lt;/a&gt; with 900 strings in each)
      &lt;span class=&quot;ruby-comment cmt&quot;&gt;# File lib/globalite/l10n.rb, line 154&lt;/span&gt;
 154:     &lt;span class=&quot;ruby-keyword kw&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;load_localization!&lt;/span&gt;
 155:       &lt;span class=&quot;ruby-identifier&quot;&gt;reset_l10n_data&lt;/span&gt;
-156:       
+156:
 157:       &lt;span class=&quot;ruby-comment cmt&quot;&gt;# Load the rails localization&lt;/span&gt;
 158:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;rails_localization_files&lt;/span&gt;
 159:         &lt;span class=&quot;ruby-identifier&quot;&gt;rails_localization_files&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;each&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;ruby-identifier&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt;
@@ -540,17 +540,17 @@ href=&quot;L10n.html#M000012&quot;&gt;languages&lt;/a&gt; with 900 strings in each)
 168:             &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
 169:             &lt;span class=&quot;ruby-ivar&quot;&gt;@@languages&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;lang&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;ruby-ivar&quot;&gt;@@languages&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;lang&lt;/span&gt;
 170:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;else&lt;/span&gt;
-171:             &lt;span class=&quot;ruby-ivar&quot;&gt;@@languages&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;lang&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;ruby-ivar&quot;&gt;@@languages&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;lang&lt;/span&gt; 
+171:             &lt;span class=&quot;ruby-ivar&quot;&gt;@@languages&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;lang&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;ruby-ivar&quot;&gt;@@languages&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;lang&lt;/span&gt;
 172:             &lt;span class=&quot;ruby-ivar&quot;&gt;@f_locale&lt;/span&gt; = &lt;span class=&quot;ruby-node&quot;&gt;&amp;quot;#{lang}-*&amp;quot;&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt;
 173:             &lt;span class=&quot;ruby-ivar&quot;&gt;@@locales&lt;/span&gt;[&lt;span class=&quot;ruby-ivar&quot;&gt;@f_locale&lt;/span&gt;] = &lt;span class=&quot;ruby-ivar&quot;&gt;@@locales&lt;/span&gt;[&lt;span class=&quot;ruby-ivar&quot;&gt;@f_locale&lt;/span&gt;].&lt;span class=&quot;ruby-identifier&quot;&gt;merge&lt;/span&gt;(&lt;span class=&quot;ruby-constant&quot;&gt;YAML&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;load_file&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;file&lt;/span&gt;).&lt;span class=&quot;ruby-identifier&quot;&gt;symbolize_keys&lt;/span&gt;) &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-ivar&quot;&gt;@f_locale&lt;/span&gt;)
 174:             &lt;span class=&quot;ruby-ivar&quot;&gt;@@locales&lt;/span&gt;[&lt;span class=&quot;ruby-ivar&quot;&gt;@f_locale&lt;/span&gt;] = &lt;span class=&quot;ruby-constant&quot;&gt;YAML&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;load_file&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;file&lt;/span&gt;).&lt;span class=&quot;ruby-identifier&quot;&gt;symbolize_keys&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-ivar&quot;&gt;@f_locale&lt;/span&gt;)
 175:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
 176:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
 177:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
-178:       
+178:
 179:       &lt;span class=&quot;ruby-comment cmt&quot;&gt;# Load the UI localization&lt;/span&gt;
 180:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;ui_localization_files&lt;/span&gt;
-181:         &lt;span class=&quot;ruby-identifier&quot;&gt;ui_localization_files&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;each&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;ruby-identifier&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt; 
+181:         &lt;span class=&quot;ruby-identifier&quot;&gt;ui_localization_files&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;each&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;ruby-identifier&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt;
 182:           &lt;span class=&quot;ruby-identifier&quot;&gt;lang&lt;/span&gt; = &lt;span class=&quot;ruby-constant&quot;&gt;File&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;basename&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;file&lt;/span&gt;, &lt;span class=&quot;ruby-value str&quot;&gt;'.*'&lt;/span&gt;)[&lt;span class=&quot;ruby-value&quot;&gt;0&lt;/span&gt;,&lt;span class=&quot;ruby-value&quot;&gt;2&lt;/span&gt;].&lt;span class=&quot;ruby-identifier&quot;&gt;downcase&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt;
 183:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-constant&quot;&gt;File&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;basename&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;file&lt;/span&gt;, &lt;span class=&quot;ruby-value str&quot;&gt;'.*'&lt;/span&gt;)[&lt;span class=&quot;ruby-value&quot;&gt;3&lt;/span&gt;,&lt;span class=&quot;ruby-value&quot;&gt;5&lt;/span&gt;]
 184:             &lt;span class=&quot;ruby-identifier&quot;&gt;country&lt;/span&gt; = &lt;span class=&quot;ruby-constant&quot;&gt;File&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;basename&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;file&lt;/span&gt;, &lt;span class=&quot;ruby-value str&quot;&gt;'.*'&lt;/span&gt;)[&lt;span class=&quot;ruby-value&quot;&gt;3&lt;/span&gt;,&lt;span class=&quot;ruby-value&quot;&gt;5&lt;/span&gt;].&lt;span class=&quot;ruby-identifier&quot;&gt;upcase&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt;
@@ -562,7 +562,7 @@ href=&quot;L10n.html#M000012&quot;&gt;languages&lt;/a&gt; with 900 strings in each)
 190:           &lt;span class=&quot;ruby-ivar&quot;&gt;@file_locale&lt;/span&gt; = &lt;span class=&quot;ruby-node&quot;&gt;&amp;quot;#{lang}-#{country}&amp;quot;&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt;
 191:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-ivar&quot;&gt;@file_locale&lt;/span&gt;)
 192:             &lt;span class=&quot;ruby-ivar&quot;&gt;@@locales&lt;/span&gt;[&lt;span class=&quot;ruby-ivar&quot;&gt;@file_locale&lt;/span&gt;] = &lt;span class=&quot;ruby-ivar&quot;&gt;@@locales&lt;/span&gt;[&lt;span class=&quot;ruby-ivar&quot;&gt;@file_locale&lt;/span&gt;].&lt;span class=&quot;ruby-identifier&quot;&gt;merge&lt;/span&gt;(&lt;span class=&quot;ruby-constant&quot;&gt;YAML&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;load_file&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;file&lt;/span&gt;).&lt;span class=&quot;ruby-identifier&quot;&gt;symbolize_keys&lt;/span&gt;)
-193:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;else&lt;/span&gt;  
+193:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;else&lt;/span&gt;
 194:             &lt;span class=&quot;ruby-ivar&quot;&gt;@@locales&lt;/span&gt;[&lt;span class=&quot;ruby-ivar&quot;&gt;@file_locale&lt;/span&gt;] = &lt;span class=&quot;ruby-constant&quot;&gt;YAML&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;load_file&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;file&lt;/span&gt;).&lt;span class=&quot;ruby-identifier&quot;&gt;symbolize_keys&lt;/span&gt;
 195:           &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
 196:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
@@ -582,7 +582,7 @@ href=&quot;L10n.html#M000012&quot;&gt;languages&lt;/a&gt; with 900 strings in each)
         &lt;div class=&quot;method-heading&quot;&gt;
           &lt;span class=&quot;method-name&quot;&gt;loc&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(key, string='__localization_missing__', args={})&lt;/span&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Alias for &lt;a href=&quot;L10n.html#M000028&quot;&gt;localize&lt;/a&gt;
@@ -596,7 +596,7 @@ Alias for &lt;a href=&quot;L10n.html#M000028&quot;&gt;localize&lt;/a&gt;
         &lt;div class=&quot;method-heading&quot;&gt;
           &lt;span class=&quot;method-name&quot;&gt;locale&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Alias for &lt;a href=&quot;L10n.html#M000020&quot;&gt;current_locale&lt;/a&gt;
@@ -612,7 +612,7 @@ Alias for &lt;a href=&quot;L10n.html#M000020&quot;&gt;current_locale&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;locales&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000015-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -635,7 +635,7 @@ Alias for &lt;a href=&quot;L10n.html#M000020&quot;&gt;current_locale&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;localization_sources&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000026-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -658,7 +658,7 @@ Alias for &lt;a href=&quot;L10n.html#M000020&quot;&gt;current_locale&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;localizations&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 List &lt;a href=&quot;L10n.html#M000027&quot;&gt;localizations&lt;/a&gt; for the current &lt;a
@@ -670,12 +670,12 @@ href=&quot;L10n.html#M000021&quot;&gt;locale&lt;/a&gt;
 &lt;pre&gt;
      &lt;span class=&quot;ruby-comment cmt&quot;&gt;# File lib/globalite/l10n.rb, line 117&lt;/span&gt;
 117:     &lt;span class=&quot;ruby-keyword kw&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;localizations&lt;/span&gt;
-118:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;ruby-identifier&quot;&gt;locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-constant&quot;&gt;Locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;code&lt;/span&gt;) 
+118:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;ruby-identifier&quot;&gt;locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-constant&quot;&gt;Locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;code&lt;/span&gt;)
 119:           &lt;span class=&quot;ruby-identifier&quot;&gt;locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;each&lt;/span&gt; { &lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;ruby-identifier&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;ruby-operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;ruby-ivar&quot;&gt;@t_locale&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;key&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;key&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-node&quot;&gt;&amp;quot;#{@@current_language.to_s}&amp;quot;&lt;/span&gt;) }
 120:           &lt;span class=&quot;ruby-ivar&quot;&gt;@@locales&lt;/span&gt;[&lt;span class=&quot;ruby-ivar&quot;&gt;@t_locale&lt;/span&gt;] &lt;span class=&quot;ruby-operator&quot;&gt;||&lt;/span&gt; {}
-121:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;else&lt;/span&gt; 
+121:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;else&lt;/span&gt;
 122:           &lt;span class=&quot;ruby-ivar&quot;&gt;@@locales&lt;/span&gt;[&lt;span class=&quot;ruby-constant&quot;&gt;Locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;code&lt;/span&gt;] &lt;span class=&quot;ruby-operator&quot;&gt;||&lt;/span&gt; {}
-123:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;  
+123:         &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
 124:     &lt;span class=&quot;ruby-keyword kw&quot;&gt;end&lt;/span&gt;
 &lt;/pre&gt;
           &lt;/div&gt;
@@ -690,7 +690,7 @@ href=&quot;L10n.html#M000021&quot;&gt;locale&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;localize&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(key, string='__localization_missing__', args={})&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Returns the translation for the key, a string can be passed to replaced a
@@ -720,7 +720,7 @@ missing translation TODO support interpolation of passed arguments
           &lt;span class=&quot;method-name&quot;&gt;localize_with_args&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(key, args={})&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000030-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -743,7 +743,7 @@ missing translation TODO support interpolation of passed arguments
           &lt;span class=&quot;method-name&quot;&gt;reset_l10n_data&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000034-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -770,7 +770,7 @@ missing translation TODO support interpolation of passed arguments
           &lt;span class=&quot;method-name&quot;&gt;interpolate_string&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(string, args={})&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000038-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -798,7 +798,7 @@ missing translation TODO support interpolation of passed arguments
           &lt;span class=&quot;method-name&quot;&gt;rails_localization_files&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Rails localization files, doesn&amp;#8216;t support &lt;a
@@ -826,7 +826,7 @@ href=&quot;L10n.html#M000017&quot;&gt;language&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;ui_localization_files&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000036-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/Globalite/L10n.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -102,7 +102,7 @@ added &lt;a href=&quot;Kernel.html#M000046&quot;&gt;Boolean&lt;/a&gt; function to
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;
@@ -117,7 +117,7 @@ added &lt;a href=&quot;Kernel.html#M000046&quot;&gt;Boolean&lt;/a&gt; function to
           &lt;span class=&quot;method-name&quot;&gt;Boolean&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(string)&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000046-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/Kernel.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -128,7 +128,7 @@
         &lt;/table&gt;
       &lt;/div&gt;
     &lt;/div&gt;
-      
+
 
 
     &lt;!-- if method_list --&gt;
@@ -143,7 +143,7 @@
           &lt;span class=&quot;method-name&quot;&gt;code&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000006-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -166,7 +166,7 @@
           &lt;span class=&quot;method-name&quot;&gt;country&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000005-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -189,7 +189,7 @@
           &lt;span class=&quot;method-name&quot;&gt;language&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000004-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -212,7 +212,7 @@
           &lt;span class=&quot;method-name&quot;&gt;set_code&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(locale= code)&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000007-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;
@@ -220,7 +220,7 @@
 &lt;pre&gt;
     &lt;span class=&quot;ruby-comment cmt&quot;&gt;# File lib/globalite/locale.rb, line 20&lt;/span&gt;
 20:   &lt;span class=&quot;ruby-keyword kw&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;self&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;set_code&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt;= &lt;span class=&quot;ruby-identifier&quot;&gt;code&lt;/span&gt;)
-21:     &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;split&lt;/span&gt;(&lt;span class=&quot;ruby-value str&quot;&gt;'-'&lt;/span&gt;) &lt;span class=&quot;ruby-operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;length&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;between?&lt;/span&gt;(&lt;span class=&quot;ruby-value&quot;&gt;4&lt;/span&gt;,&lt;span class=&quot;ruby-value&quot;&gt;5&lt;/span&gt;) &lt;span class=&quot;ruby-operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;ruby-constant&quot;&gt;Globalite&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt;) 
+21:     &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;split&lt;/span&gt;(&lt;span class=&quot;ruby-value str&quot;&gt;'-'&lt;/span&gt;) &lt;span class=&quot;ruby-operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;length&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;between?&lt;/span&gt;(&lt;span class=&quot;ruby-value&quot;&gt;4&lt;/span&gt;,&lt;span class=&quot;ruby-value&quot;&gt;5&lt;/span&gt;) &lt;span class=&quot;ruby-operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;ruby-constant&quot;&gt;Globalite&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;locales&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;include?&lt;/span&gt;(&lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt;)
 22:       &lt;span class=&quot;ruby-constant&quot;&gt;Globalite&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;current_language&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;split&lt;/span&gt;(&lt;span class=&quot;ruby-value str&quot;&gt;'-'&lt;/span&gt;)[&lt;span class=&quot;ruby-value&quot;&gt;0&lt;/span&gt;].&lt;span class=&quot;ruby-identifier&quot;&gt;downcase&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;split&lt;/span&gt;(&lt;span class=&quot;ruby-value str&quot;&gt;'-'&lt;/span&gt;)[&lt;span class=&quot;ruby-value&quot;&gt;0&lt;/span&gt;]
 23:       &lt;span class=&quot;ruby-constant&quot;&gt;Globalite&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;current_country&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;split&lt;/span&gt;(&lt;span class=&quot;ruby-value str&quot;&gt;'-'&lt;/span&gt;)[&lt;span class=&quot;ruby-value&quot;&gt;1&lt;/span&gt;].&lt;span class=&quot;ruby-identifier&quot;&gt;upcase&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_sym&lt;/span&gt; &lt;span class=&quot;ruby-keyword kw&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;locale&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;to_s&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;split&lt;/span&gt;(&lt;span class=&quot;ruby-value str&quot;&gt;'-'&lt;/span&gt;)[&lt;span class=&quot;ruby-value&quot;&gt;1&lt;/span&gt;]
 24:       &lt;span class=&quot;ruby-identifier&quot;&gt;set_session_locale&lt;/span&gt;(&lt;span class=&quot;ruby-node&quot;&gt;&amp;quot;#{Globalite.language}-#{Globalite.country}&amp;quot;&lt;/span&gt;)
@@ -239,7 +239,7 @@
           &lt;span class=&quot;method-name&quot;&gt;update_session_locale&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;()&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;&lt;a class=&quot;source-toggle&quot; href=&quot;#&quot;
             onclick=&quot;toggleCode('M000008-source');return false;&quot;&gt;[Source]&lt;/a&gt;&lt;/p&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/Locale.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -102,7 +102,7 @@
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;
@@ -115,7 +115,7 @@
         &lt;div class=&quot;method-heading&quot;&gt;
           &lt;span class=&quot;method-name&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(format='default')&lt;/span&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Alias for &lt;a href=&quot;Time.html#M000001&quot;&gt;localize&lt;/a&gt;
@@ -131,7 +131,7 @@ Alias for &lt;a href=&quot;Time.html#M000001&quot;&gt;localize&lt;/a&gt;
           &lt;span class=&quot;method-name&quot;&gt;localize&lt;/span&gt;&lt;span class=&quot;method-args&quot;&gt;(format='default')&lt;/span&gt;
           &lt;/a&gt;
         &lt;/div&gt;
-      
+
         &lt;div class=&quot;method-description&quot;&gt;
           &lt;p&gt;
 Acts the same as strftime, but returns a localized version of the formatted
@@ -150,7 +150,7 @@ date/time string.
 20:       &lt;span class=&quot;ruby-identifier&quot;&gt;cc&lt;/span&gt; = &lt;span class=&quot;ruby-identifier&quot;&gt;c&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;sub&lt;/span&gt;(&lt;span class=&quot;ruby-regexp re&quot;&gt;/^%[EO]?(.)$/o&lt;/span&gt;, &lt;span class=&quot;ruby-value str&quot;&gt;'%\\1'&lt;/span&gt;)
 21:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;cc&lt;/span&gt;
 22:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value str&quot;&gt;'%A'&lt;/span&gt;; &lt;span class=&quot;ruby-identifier&quot;&gt;o&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_day_names&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;[&lt;span class=&quot;ruby-identifier&quot;&gt;wday&lt;/span&gt;]
-23:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value str&quot;&gt;'%a'&lt;/span&gt;; &lt;span class=&quot;ruby-identifier&quot;&gt;o&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_abbr_day_names&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;[&lt;span class=&quot;ruby-identifier&quot;&gt;wday&lt;/span&gt;] 
+23:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value str&quot;&gt;'%a'&lt;/span&gt;; &lt;span class=&quot;ruby-identifier&quot;&gt;o&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_abbr_day_names&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;[&lt;span class=&quot;ruby-identifier&quot;&gt;wday&lt;/span&gt;]
 24:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value str&quot;&gt;'%B'&lt;/span&gt;; &lt;span class=&quot;ruby-identifier&quot;&gt;o&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_month_names&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;[&lt;span class=&quot;ruby-identifier&quot;&gt;mon&lt;/span&gt;]
 25:       &lt;span class=&quot;ruby-keyword kw&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;ruby-value str&quot;&gt;'%b'&lt;/span&gt;; &lt;span class=&quot;ruby-identifier&quot;&gt;o&lt;/span&gt; &lt;span class=&quot;ruby-operator&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;ruby-identifier&quot;&gt;:date_helper_abbr_month_names&lt;/span&gt;.&lt;span class=&quot;ruby-identifier&quot;&gt;l&lt;/span&gt;[&lt;span class=&quot;ruby-identifier&quot;&gt;mon&lt;/span&gt;]
 26:         &lt;span class=&quot;ruby-comment cmt&quot;&gt;#when '%c'; o &amp;lt;&amp;lt; :date_helper_time_formats.l[:default] ? :date_helper_date_formats.l[:default] : strftime('%Y-%m-%d')&lt;/span&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/classes/Time.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -339,7 +339,7 @@ href=&quot;http://railsontherun.com/globalite&quot;&gt;railsontherun.com/globalite&lt;/a&gt;
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/files/README.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -84,7 +84,7 @@
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/files/lib/globalite/l10n_rb.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -84,7 +84,7 @@
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/files/lib/globalite/locale_rb.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -102,7 +102,7 @@ Add support for localization keys
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/files/lib/globalite_rb.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -91,7 +91,7 @@ ruby built-in and standard classes.
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/files/lib/rails/core_ext_rb.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -84,7 +84,7 @@
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/files/lib/rails/localization_rb.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -84,7 +84,7 @@
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/files/lib/rails/localized_action_view_rb.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 
@@ -25,7 +25,7 @@
       return false;
 
     elemStyle = elem.style;
-    
+
     if ( elemStyle.display != &quot;block&quot; ) {
       elemStyle.display = &quot;block&quot;
     } else {
@@ -34,10 +34,10 @@
 
     return true;
   }
-  
+
   // Make codeblocks hidden by default
   document.writeln( &quot;&lt;style type=\&quot;text/css\&quot;&gt;div.method-source-code { display: none }&lt;/style&gt;&quot; )
-  
+
   // ]]&gt;
   &lt;/script&gt;
 
@@ -84,7 +84,7 @@
 
 
 
-      
+
 
 
     &lt;!-- if method_list --&gt;</diff>
      <filename>rails_plugins/globalite/rdoc/files/lib/rails/localized_active_record_rb.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 </diff>
      <filename>rails_plugins/globalite/rdoc/fr_class_index.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 </diff>
      <filename>rails_plugins/globalite/rdoc/fr_file_index.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
 </diff>
      <filename>rails_plugins/globalite/rdoc/fr_method_index.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
      PUBLIC &quot;-//W3C//DTD XHTML 1.0 Frameset//EN&quot;
      &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd&quot;&gt;
 </diff>
      <filename>rails_plugins/globalite/rdoc/index.html</filename>
    </modified>
    <modified>
      <diff>@@ -7,15 +7,15 @@ include ActionView::Helpers::NumberHelper
 include ActionView::Helpers::FormOptionsHelper
 
 describe &quot;when Rails is loaded&quot; do
-  
+
   before(:each) do
     Globalite.current_locale = 'en-US'
   end
-  
+
   it &quot;should have loaded fr&quot; do
     Globalite.locales.should include(:&quot;fr-FR&quot;)
-  end  
-    
+  end
+
   it &quot;should have loaded the rails localization file in English and French&quot; do
     :error_message_inclusion.l.should == &quot;is not included in the list&quot;
     Globalite.locale = :&quot;fr-FR&quot;
@@ -25,13 +25,13 @@ describe &quot;when Rails is loaded&quot; do
     Globalite.localizations[:error_message_inclusion].should_not be(nil)
     :error_message_inclusion.l.should == &quot;n'est pas inclus dans la liste.&quot;
   end
-  
+
   it &quot;ActiveRecord error messages should be localized in English&quot; do
     ActiveRecord::Errors.default_error_messages[:confirmation].should include(&quot;doesn't match confirmation&quot;)
     Globalite.current_language = :fr
     ActiveRecord::Errors.default_error_messages[:confirmation].should include(&quot;ne correspond pas &#224; la confirmation&quot;)
   end
-  
+
   it &quot;distance_of_time_in_words should be localized properly&quot; do
     from = Time.mktime(2004, 3, 6, 21, 41, 18)
     distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 25)).should == &quot;less than a minute&quot;
@@ -40,42 +40,42 @@ describe &quot;when Rails is loaded&quot; do
     distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 25)).should == &quot;moins d'une minute&quot;
     distance_of_time_in_words(Time.mktime(2004, 3, 7, 1, 20), from).should == &quot;environ 4 heures&quot;
   end
-  
+
   it &quot;currency should be localized&quot; do
      number_to_currency(123).should == &quot;$123.00&quot;
      Globalite.current_language = :fr
      number_to_currency(123).should == &quot;123,00 &#8364;&quot;
   end
-  
+
   it &quot;should support different locales&quot; do
     Globalite.current_locale = :&quot;en-US&quot;
     number_to_currency(123).should == &quot;$123.00&quot;
     Globalite.current_locale = :&quot;en-UK&quot;
     number_to_currency(123).should == &quot;&#163;123.00&quot;
   end
-  
+
   it &quot;date_select should be localized&quot; do
     select_day(Time.mktime(2003, 8, 16)).should == %Q(&lt;select id=\&quot;date_day\&quot; name=\&quot;date[day]\&quot;&gt;\n&lt;option value=\&quot;1\&quot;&gt;1&lt;/option&gt;\n&lt;option value=\&quot;2\&quot;&gt;2&lt;/option&gt;\n&lt;option value=\&quot;3\&quot;&gt;3&lt;/option&gt;\n&lt;option value=\&quot;4\&quot;&gt;4&lt;/option&gt;\n&lt;option value=\&quot;5\&quot;&gt;5&lt;/option&gt;\n&lt;option value=\&quot;6\&quot;&gt;6&lt;/option&gt;\n&lt;option value=\&quot;7\&quot;&gt;7&lt;/option&gt;\n&lt;option value=\&quot;8\&quot;&gt;8&lt;/option&gt;\n&lt;option value=\&quot;9\&quot;&gt;9&lt;/option&gt;\n&lt;option value=\&quot;10\&quot;&gt;10&lt;/option&gt;\n&lt;option value=\&quot;11\&quot;&gt;11&lt;/option&gt;\n&lt;option value=\&quot;12\&quot;&gt;12&lt;/option&gt;\n&lt;option value=\&quot;13\&quot;&gt;13&lt;/option&gt;\n&lt;option value=\&quot;14\&quot;&gt;14&lt;/option&gt;\n&lt;option value=\&quot;15\&quot;&gt;15&lt;/option&gt;\n&lt;option value=\&quot;16\&quot; selected=\&quot;selected\&quot;&gt;16&lt;/option&gt;\n&lt;option value=\&quot;17\&quot;&gt;17&lt;/option&gt;\n&lt;option value=\&quot;18\&quot;&gt;18&lt;/option&gt;\n&lt;option value=\&quot;19\&quot;&gt;19&lt;/option&gt;\n&lt;option value=\&quot;20\&quot;&gt;20&lt;/option&gt;\n&lt;option value=\&quot;21\&quot;&gt;21&lt;/option&gt;\n&lt;option value=\&quot;22\&quot;&gt;22&lt;/option&gt;\n&lt;option value=\&quot;23\&quot;&gt;23&lt;/option&gt;\n&lt;option value=\&quot;24\&quot;&gt;24&lt;/option&gt;\n&lt;option value=\&quot;25\&quot;&gt;25&lt;/option&gt;\n&lt;option value=\&quot;26\&quot;&gt;26&lt;/option&gt;\n&lt;option value=\&quot;27\&quot;&gt;27&lt;/option&gt;\n&lt;option value=\&quot;28\&quot;&gt;28&lt;/option&gt;\n&lt;option value=\&quot;29\&quot;&gt;29&lt;/option&gt;\n&lt;option value=\&quot;30\&quot;&gt;30&lt;/option&gt;\n&lt;option value=\&quot;31\&quot;&gt;31&lt;/option&gt;\n&lt;/select&gt;\n)
-    
+
     select_day(Time.mktime(2003, 8, 16), :include_blank =&gt; true).should == %Q(&lt;select id=&quot;date_day&quot; name=&quot;date[day]&quot;&gt;\n&lt;option value=&quot;&quot;&gt;&lt;/option&gt;\n&lt;option value=&quot;1&quot;&gt;1&lt;/option&gt;\n&lt;option value=&quot;2&quot;&gt;2&lt;/option&gt;\n&lt;option value=&quot;3&quot;&gt;3&lt;/option&gt;\n&lt;option value=&quot;4&quot;&gt;4&lt;/option&gt;\n&lt;option value=&quot;5&quot;&gt;5&lt;/option&gt;\n&lt;option value=&quot;6&quot;&gt;6&lt;/option&gt;\n&lt;option value=&quot;7&quot;&gt;7&lt;/option&gt;\n&lt;option value=&quot;8&quot;&gt;8&lt;/option&gt;\n&lt;option value=&quot;9&quot;&gt;9&lt;/option&gt;\n&lt;option value=&quot;10&quot;&gt;10&lt;/option&gt;\n&lt;option value=&quot;11&quot;&gt;11&lt;/option&gt;\n&lt;option value=&quot;12&quot;&gt;12&lt;/option&gt;\n&lt;option value=&quot;13&quot;&gt;13&lt;/option&gt;\n&lt;option value=&quot;14&quot;&gt;14&lt;/option&gt;\n&lt;option value=&quot;15&quot;&gt;15&lt;/option&gt;\n&lt;option value=&quot;16&quot; selected=&quot;selected&quot;&gt;16&lt;/option&gt;\n&lt;option value=&quot;17&quot;&gt;17&lt;/option&gt;\n&lt;option value=&quot;18&quot;&gt;18&lt;/option&gt;\n&lt;option value=&quot;19&quot;&gt;19&lt;/option&gt;\n&lt;option value=&quot;20&quot;&gt;20&lt;/option&gt;\n&lt;option value=&quot;21&quot;&gt;21&lt;/option&gt;\n&lt;option value=&quot;22&quot;&gt;22&lt;/option&gt;\n&lt;option value=&quot;23&quot;&gt;23&lt;/option&gt;\n&lt;option value=&quot;24&quot;&gt;24&lt;/option&gt;\n&lt;option value=&quot;25&quot;&gt;25&lt;/option&gt;\n&lt;option value=&quot;26&quot;&gt;26&lt;/option&gt;\n&lt;option value=&quot;27&quot;&gt;27&lt;/option&gt;\n&lt;option value=&quot;28&quot;&gt;28&lt;/option&gt;\n&lt;option value=&quot;29&quot;&gt;29&lt;/option&gt;\n&lt;option value=&quot;30&quot;&gt;30&lt;/option&gt;\n&lt;option value=&quot;31&quot;&gt;31&lt;/option&gt;\n&lt;/select&gt;\n)
     select_day(16, :include_blank =&gt; true).should == %Q(&lt;select id=&quot;date_day&quot; name=&quot;date[day]&quot;&gt;\n&lt;option value=&quot;&quot;&gt;&lt;/option&gt;\n&lt;option value=&quot;1&quot;&gt;1&lt;/option&gt;\n&lt;option value=&quot;2&quot;&gt;2&lt;/option&gt;\n&lt;option value=&quot;3&quot;&gt;3&lt;/option&gt;\n&lt;option value=&quot;4&quot;&gt;4&lt;/option&gt;\n&lt;option value=&quot;5&quot;&gt;5&lt;/option&gt;\n&lt;option value=&quot;6&quot;&gt;6&lt;/option&gt;\n&lt;option value=&quot;7&quot;&gt;7&lt;/option&gt;\n&lt;option value=&quot;8&quot;&gt;8&lt;/option&gt;\n&lt;option value=&quot;9&quot;&gt;9&lt;/option&gt;\n&lt;option value=&quot;10&quot;&gt;10&lt;/option&gt;\n&lt;option value=&quot;11&quot;&gt;11&lt;/option&gt;\n&lt;option value=&quot;12&quot;&gt;12&lt;/option&gt;\n&lt;option value=&quot;13&quot;&gt;13&lt;/option&gt;\n&lt;option value=&quot;14&quot;&gt;14&lt;/option&gt;\n&lt;option value=&quot;15&quot;&gt;15&lt;/option&gt;\n&lt;option value=&quot;16&quot; selected=&quot;selected&quot;&gt;16&lt;/option&gt;\n&lt;option value=&quot;17&quot;&gt;17&lt;/option&gt;\n&lt;option value=&quot;18&quot;&gt;18&lt;/option&gt;\n&lt;option value=&quot;19&quot;&gt;19&lt;/option&gt;\n&lt;option value=&quot;20&quot;&gt;20&lt;/option&gt;\n&lt;option value=&quot;21&quot;&gt;21&lt;/option&gt;\n&lt;option value=&quot;22&quot;&gt;22&lt;/option&gt;\n&lt;option value=&quot;23&quot;&gt;23&lt;/option&gt;\n&lt;option value=&quot;24&quot;&gt;24&lt;/option&gt;\n&lt;option value=&quot;25&quot;&gt;25&lt;/option&gt;\n&lt;option value=&quot;26&quot;&gt;26&lt;/option&gt;\n&lt;option value=&quot;27&quot;&gt;27&lt;/option&gt;\n&lt;option value=&quot;28&quot;&gt;28&lt;/option&gt;\n&lt;option value=&quot;29&quot;&gt;29&lt;/option&gt;\n&lt;option value=&quot;30&quot;&gt;30&lt;/option&gt;\n&lt;option value=&quot;31&quot;&gt;31&lt;/option&gt;\n&lt;/select&gt;\n)
     Globalite.current_language = :fr
     select_day(Time.mktime(2003, 8, 16)).should == %Q(&lt;select id=\&quot;date_day\&quot; name=\&quot;date[day]\&quot;&gt;\n&lt;option value=\&quot;1\&quot;&gt;1&lt;/option&gt;\n&lt;option value=\&quot;2\&quot;&gt;2&lt;/option&gt;\n&lt;option value=\&quot;3\&quot;&gt;3&lt;/option&gt;\n&lt;option value=\&quot;4\&quot;&gt;4&lt;/option&gt;\n&lt;option value=\&quot;5\&quot;&gt;5&lt;/option&gt;\n&lt;option value=\&quot;6\&quot;&gt;6&lt;/option&gt;\n&lt;option value=\&quot;7\&quot;&gt;7&lt;/option&gt;\n&lt;option value=\&quot;8\&quot;&gt;8&lt;/option&gt;\n&lt;option value=\&quot;9\&quot;&gt;9&lt;/option&gt;\n&lt;option value=\&quot;10\&quot;&gt;10&lt;/option&gt;\n&lt;option value=\&quot;11\&quot;&gt;11&lt;/option&gt;\n&lt;option value=\&quot;12\&quot;&gt;12&lt;/option&gt;\n&lt;option value=\&quot;13\&quot;&gt;13&lt;/option&gt;\n&lt;option value=\&quot;14\&quot;&gt;14&lt;/option&gt;\n&lt;option value=\&quot;15\&quot;&gt;15&lt;/option&gt;\n&lt;option value=\&quot;16\&quot; selected=\&quot;selected\&quot;&gt;16&lt;/option&gt;\n&lt;option value=\&quot;17\&quot;&gt;17&lt;/option&gt;\n&lt;option value=\&quot;18\&quot;&gt;18&lt;/option&gt;\n&lt;option value=\&quot;19\&quot;&gt;19&lt;/option&gt;\n&lt;option value=\&quot;20\&quot;&gt;20&lt;/option&gt;\n&lt;option value=\&quot;21\&quot;&gt;21&lt;/option&gt;\n&lt;option value=\&quot;22\&quot;&gt;22&lt;/option&gt;\n&lt;option value=\&quot;23\&quot;&gt;23&lt;/option&gt;\n&lt;option value=\&quot;24\&quot;&gt;24&lt;/option&gt;\n&lt;option value=\&quot;25\&quot;&gt;25&lt;/option&gt;\n&lt;option value=\&quot;26\&quot;&gt;26&lt;/option&gt;\n&lt;option value=\&quot;27\&quot;&gt;27&lt;/option&gt;\n&lt;option value=\&quot;28\&quot;&gt;28&lt;/option&gt;\n&lt;option value=\&quot;29\&quot;&gt;29&lt;/option&gt;\n&lt;option value=\&quot;30\&quot;&gt;30&lt;/option&gt;\n&lt;option value=\&quot;31\&quot;&gt;31&lt;/option&gt;\n&lt;/select&gt;\n)
-    
+
   end
-  
+
   it &quot;datetime_select should be localized&quot; do
     select_datetime(nil, :prefix =&gt; &quot;date[first]&quot;).should include('January')
     Globalite.language = :fr
     select_datetime(nil, :prefix =&gt; &quot;date[first]&quot;).should include('Janvier')
   end
-  
+
   it &quot;the months names and their abbreviations should be localized&quot; do
     select_month(Time.mktime(2003, 8, 16)).should == %Q(&lt;select id=\&quot;date_month\&quot; name=\&quot;date[month]\&quot;&gt;\n&lt;option value=\&quot;1\&quot;&gt;January&lt;/option&gt;\n&lt;option value=\&quot;2\&quot;&gt;February&lt;/option&gt;\n&lt;option value=\&quot;3\&quot;&gt;March&lt;/option&gt;\n&lt;option value=\&quot;4\&quot;&gt;April&lt;/option&gt;\n&lt;option value=\&quot;5\&quot;&gt;May&lt;/option&gt;\n&lt;option value=\&quot;6\&quot;&gt;June&lt;/option&gt;\n&lt;option value=\&quot;7\&quot;&gt;July&lt;/option&gt;\n&lt;option value=\&quot;8\&quot; selected=\&quot;selected\&quot;&gt;August&lt;/option&gt;\n&lt;option value=\&quot;9\&quot;&gt;September&lt;/option&gt;\n&lt;option value=\&quot;10\&quot;&gt;October&lt;/option&gt;\n&lt;option value=\&quot;11\&quot;&gt;November&lt;/option&gt;\n&lt;option value=\&quot;12\&quot;&gt;December&lt;/option&gt;\n&lt;/select&gt;\n)
     Globalite.language = :fr
     select_month(Time.mktime(2003, 8, 16)).should == %Q(&lt;select id=\&quot;date_month\&quot; name=\&quot;date[month]\&quot;&gt;\n&lt;option value=\&quot;1\&quot;&gt;Janvier&lt;/option&gt;\n&lt;option value=\&quot;2\&quot;&gt;F&#233;vrier&lt;/option&gt;\n&lt;option value=\&quot;3\&quot;&gt;Mars&lt;/option&gt;\n&lt;option value=\&quot;4\&quot;&gt;Avril&lt;/option&gt;\n&lt;option value=\&quot;5\&quot;&gt;Mai&lt;/option&gt;\n&lt;option value=\&quot;6\&quot;&gt;Juin&lt;/option&gt;\n&lt;option value=\&quot;7\&quot;&gt;Juillet&lt;/option&gt;\n&lt;option value=\&quot;8\&quot; selected=\&quot;selected\&quot;&gt;Ao&#251;t&lt;/option&gt;\n&lt;option value=\&quot;9\&quot;&gt;Septembre&lt;/option&gt;\n&lt;option value=\&quot;10\&quot;&gt;Octobre&lt;/option&gt;\n&lt;option value=\&quot;11\&quot;&gt;Novembre&lt;/option&gt;\n&lt;option value=\&quot;12\&quot;&gt;D&#233;cembre&lt;/option&gt;\n&lt;/select&gt;\n)
   end
-  
+
   it &quot;the country list should be localized&quot; do
     expected_en = %Q(&lt;option value=\&quot;Afghanistan\&quot;&gt;Afghanistan&lt;/option&gt;\n&lt;option value=\&quot;Albania\&quot;&gt;Albania&lt;/option&gt;\n&lt;option value=\&quot;Algeria\&quot;&gt;Algeria&lt;/option&gt;\n&lt;option value=\&quot;American Samoa\&quot;&gt;American Samoa&lt;/option&gt;\n&lt;option value=\&quot;Andorra\&quot;&gt;Andorra&lt;/option&gt;\n&lt;option value=\&quot;Angola\&quot;&gt;Angola&lt;/option&gt;\n&lt;option value=\&quot;Anguilla\&quot;&gt;Anguilla&lt;/option&gt;\n&lt;option value=\&quot;Antarctica\&quot;&gt;Antarctica&lt;/option&gt;\n&lt;option value=\&quot;Antigua And Barbuda\&quot;&gt;Antigua And Barbuda&lt;/option&gt;\n&lt;option value=\&quot;Argentina\&quot;&gt;Argentina&lt;/option&gt;\n&lt;option value=\&quot;Armenia\&quot;&gt;Armenia&lt;/option&gt;\n&lt;option value=\&quot;Aruba\&quot;&gt;Aruba&lt;/option&gt;\n&lt;option value=\&quot;Australia\&quot;&gt;Australia&lt;/option&gt;\n&lt;option value=\&quot;Austria\&quot;&gt;Austria&lt;/option&gt;\n&lt;option value=\&quot;Azerbaijan\&quot;)
     country_options_for_select.should include(expected_en)
@@ -83,7 +83,7 @@ describe &quot;when Rails is loaded&quot; do
     expected_fr = %Q(&lt;option value=\&quot;Afghanistan\&quot;&gt;Afghanistan&lt;/option&gt;\n&lt;option value=\&quot;Albanie\&quot;&gt;Albanie&lt;/option&gt;\n&lt;option value=\&quot;Alg&#233;rie\&quot;&gt;Alg&#233;rie&lt;/option&gt;\n)
     country_options_for_select.should include(expected_fr)
   end
-  
+
   it 'time should be localized' do
     t = Time.parse('2006-12-25 13:55')
     t.to_formatted_s(:long).should == 'December 25, 2006 13:55'
@@ -93,19 +93,19 @@ describe &quot;when Rails is loaded&quot; do
     # custom format
     t.l('%a, %A, %d %b %B %Y %H:%M:%S %p').should == &quot;Lun, Lundi, 25 D&#233;c D&#233;cembre 2006 13:55:00 pm&quot;
   end
-  
+
   it 'date should be localized' do
     d = Date.new(2007,05,13)
     d.l.should == '2007-05-13'
     Globalite.current_language = :fr
     d.l(:short).should == '13 Mai'
   end
-  
+
   it 'an array to sentence should be localized' do
     us = ['Heidi', 'Matt']
     us.to_sentence.should == 'Heidi and Matt'
     Globalite.current_language = :fr
     us.to_sentence.should == 'Heidi et Matt'
   end
-  
+
 end
\ No newline at end of file</diff>
      <filename>rails_plugins/globalite/spec/core_localization_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,39 +9,39 @@ describe &quot;After loading languages, Globalite&quot; do
   it 'should have loaded en-US spec localization' do
     Globalite.locales.should include(:&quot;en-US&quot;)
   end
-  
+
   it 'should have some default translations' do
     :error_message_exclusion.l.should_not be(nil)
     Globalite.localize(:welcome_friend).should_not be(nil)
   end
-  
+
   it 'should have loaded the Rails localizations' do
     [:&quot;es-*&quot;, :&quot;fr-FR&quot;, :&quot;pt-PT&quot;, :&quot;en-US&quot;, :&quot;it-*&quot;, :&quot;es-ES&quot;, :&quot;pt-BR&quot;, :&quot;en-UK&quot;].each { |locale| Globalite.locales.should include(locale) }
     [:UK, :US, :ES, :FR, :BR, :PT].each { |country| Globalite.countries.should include(country) }
     [:en, :es, :fr, :it, :pt].each { |language| Globalite.languages.should include(language) }
   end
-  
+
   it 'should have both the UI and the RAILS translations even if a country isn t selected' do
     Globalite.language = :fr
      :welcome_friend.l.should_not == &quot;__localization_missing__&quot;
      :date_helper_one_month.l.should_not == &quot;__localization_missing__&quot;
   end
-  
+
   it 'should have a list of unique languages' do
     Globalite.languages.should be_an_instance_of(Array)
     Globalite.languages.should == Globalite.languages.uniq
   end
-  
+
   it 'should have a list of unique countries' do
     Globalite.countries.should be_an_instance_of(Array)
     Globalite.countries.should == Globalite.countries.uniq
   end
-  
+
   it 'should have a list of unique locales' do
     Globalite.locales.should be_an_instance_of(Array)
     Globalite.locales.should == Globalite.locales.uniq
   end
-  
+
   it &quot;should have at least some English localization&quot; do
     Globalite.languages.should include(:en)
   end
@@ -52,7 +52,7 @@ describe &quot;After loading languages, Globalite&quot; do
     Globalite.current_country = :FR
     Globalite.current_country.should == (:FR)
   end
-  
+
   it &quot;should be able to switch between existing languages&quot; do
     Globalite.language = :fr
     Globalite.locale.should == (:'fr-FR')
@@ -60,7 +60,7 @@ describe &quot;After loading languages, Globalite&quot; do
     Globalite.localize(:welcome_friend).should_not == string
     Globalite.localize(:welcome_friend).should == &quot;Bienvenue l'ami!&quot;
     Globalite.localize(:welcome_friend).should_not == &quot;__localization_missing__&quot;
-    
+
     Globalite.language = :es
     Globalite.localize(:welcome_friend).should_not == string
     Globalite.localize(:welcome_friend).should_not == &quot;__localization_missing__&quot;
@@ -68,7 +68,7 @@ describe &quot;After loading languages, Globalite&quot; do
     Globalite.current_language = nil
     Globalite.localize(:welcome_friend).should_not == string
     Globalite.localize(:welcome_friend).should_not == &quot;__localization_missing__&quot;
-    
+
     Globalite.current_language = :en
     Globalite.current_country = :US
     Globalite.locales.should include(:&quot;en-US&quot;)
@@ -99,10 +99,10 @@ describe &quot;After loading languages, Globalite&quot; do
     Globalite.language = :fr
     Globalite.locale.should == &quot;fr-*&quot;.to_sym
     Globalite.countries.include?(:XY).should be(false)
-    
+
     Globalite.country = :XY
     Globalite.current_locale.should == &quot;fr-*&quot;.to_sym
-  end  
+  end
 
   it &quot;should let you assign a valid locale&quot; do
     Globalite.current_locale = :&quot;fr-*&quot;
@@ -112,7 +112,7 @@ describe &quot;After loading languages, Globalite&quot; do
   it &quot;should auto assign a language if you try to set a country defined in an available locale&quot; do
     Globalite.current_locale = :&quot;fr-*&quot;
     Globalite.current_country = :US
-    Globalite.current_locale.should == &quot;en-US&quot;.to_sym    
+    Globalite.current_locale.should == &quot;en-US&quot;.to_sym
   end
 
   it &quot;should auto assign a wild card if a country isn't assigned&quot; do
@@ -120,10 +120,10 @@ describe &quot;After loading languages, Globalite&quot; do
     Globalite.current_locale.should == &quot;fr-*&quot;.to_sym
   end
 
-  it &quot;should find translations for a locale without country even though there's no generic translation for the language&quot; do  
+  it &quot;should find translations for a locale without country even though there's no generic translation for the language&quot; do
     Globalite.current_locale = :&quot;fr-*&quot;
     Globalite.current_language = :en
-    Globalite.current_language.should == :en 
+    Globalite.current_language.should == :en
     Globalite.localizations.should_not be {}
   end
 
@@ -152,14 +152,14 @@ describe &quot;After loading languages, Globalite&quot; do
     Globalite.add_reserved_key key
     Globalite.reserved_keys.size.should == 2
   end
-  
+
   it &quot;shouldn't be able to set a unsupported locale&quot; do
     Locale.set_code :&quot;te-st&quot;
     Locale.code.should == :&quot;en-*&quot;
     Locale.set_code 'test'
     Locale.code.should == :&quot;en-*&quot;
   end
-   
+
 end
 
 describe &quot;When a non-existent language is set&quot; do
@@ -195,11 +195,11 @@ describe &quot;a localization key (in general)&quot; do
     Globalite.language = :fr
     Globalite.language = :en
     Globalite.locale.should == :'en-*'
-    
+
     :welcome_friend.localize.should == &quot;Welcome mate!&quot;
     :error_message_exclusion.l.should == &quot;is reserved&quot;
   end
-  
+
   it &quot;should return an optional string if the localization is missing&quot; do
     :unknown_key.l(&quot;this is my replacement string&quot;).should == &quot;this is my replacement string&quot;
   end
@@ -217,33 +217,33 @@ describe &quot;a localization key (in general)&quot; do
     :welcome_user.l_with_args({:user =&gt; :user.l}).should == &quot;Cher utilisateur, Bienvenue!&quot;
     :many_args_test.l_with_args({:name =&gt; 'Matt', :what =&gt; 'd&#233;chire', :other =&gt; 'Serieusement'}).should == 'Serieusement, Matt vraiment d&#233;chire comme une bete ;)'
   end
-  
+
   it &quot;should handle localizated pluralization properly&quot; do
     Globalite.current_language = :fr
     :simple_pluralization.l.should == &quot;2 erreurs&quot;
   end
-  
+
   it &quot;should handle custom pluralization properly&quot; do
     Globalite.current_language = :fr
     :pluralization_test.l.should == &quot;Heidi a vu trois 3 chevaux dans le parc&quot;
   end
-  
+
   it &quot;should handle pluralization with passed arguments&quot; do
     Globalite.current_language = :fr
     :pluralization_with_passed_args.l_with_args({:count =&gt; 2}).should == &quot;Heidi a vu trois 2 chevaux dans le parc&quot;
   end
-  
+
 end
 
 describe &quot;an alternative location with localization files&quot; do
   before(:all) do
     Globalite.add_localization_source(File.dirname(__FILE__) + '/lang/rails')
   end
-  
+
   it &quot;could be added to the localization source path&quot; do
     Globalite.load_localization!.should include(&quot;/spec/lang/rails/zz.yml&quot;)
   end
-  
+
   it &quot;should have been loaded properly&quot; do
     Globalite.languages.should include(:zz)
     Globalite.locales.should include(:&quot;zz-*&quot;)</diff>
      <filename>rails_plugins/globalite/spec/l10n_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,14 @@
 namespace :globalite do
   namespace :localization do
 
-    # Returns a hash with the missing localizations compared to the original locale 
+    # Returns a hash with the missing localizations compared to the original locale
     def missing_localizations(org_base='en-US')
       @langs = {}
       @missing_localizations = {}
       @l_files = Dir[File.join( RAILS_ROOT, '/lang/ui', '*.yml')]
-      @l_files.each do |file| 
+      @l_files.each do |file|
         if YAML.load_file(file)
-          @langs[File.basename(file, '.*')] = YAML.load_file(file).symbolize_keys  
+          @langs[File.basename(file, '.*')] = YAML.load_file(file).symbolize_keys
         else
           p &quot;error with the following file: #{file}, the file might be empty&quot;
         end
@@ -36,11 +36,11 @@ namespace :globalite do
       @missing_localizations =  missing_localizations(@org_base)
       if @missing_localizations.blank?
         p 'all localization files are up to date'
-      else  
+      else
         @missing_localizations.each_key do |lang|
           p &quot;#{@missing_localizations[lang].length} translations missing in #{lang}&quot; if @missing_localizations[lang].length &gt; 0
-        end  
-      end  
+        end
+      end
     end
 
   end</diff>
      <filename>rails_plugins/globalite/tasks/globalite_tasks.rake</filename>
    </modified>
    <modified>
      <diff>@@ -179,8 +179,8 @@ follow the upgrade instructions and run 'script/generate rspec' you'll be fine,
 step you need to manually go into spec_helper.rb and remove the call to that method (if present - it
 might not be if you haven't upgraded in a while).
 
-Warning: Implementors of custom formatters. Formatters will now be sent an Example object instead of just a 
-String for #example_started, #example_passed and #example_failed. In certain scenarios 
+Warning: Implementors of custom formatters. Formatters will now be sent an Example object instead of just a
+String for #example_started, #example_passed and #example_failed. In certain scenarios
 (Spec::Ui with Spec::Distributed), the formatter must ask the Example for its sequence number instead of
 keeping track of a sequence number internal to the formatter. Most of you shouldn't need to upgrade
 your formatters though - the Example#to_s method returns the example name/description, so you should be
@@ -220,7 +220,7 @@ able to use the passed Example instance as if it were a String.
 * Fixed [#11903] config.include with behaviour_type 'hash' does not work
 * Examples without blocks and pending is now reported with a P instead of a *
 * Pending blocks that now pass are rendered blue
-* New behaviour for after: If an after block raises an error, the other ones will still run instead of bailing at the first. 
+* New behaviour for after: If an after block raises an error, the other ones will still run instead of bailing at the first.
 * Made it possible to run spec from RSpec.tmbundle with --drb against a Rails spec_server.
 * Applied [#11868] Add ability for pending to optionally hold a failing block and to fail when it passes (Patch from Bob Cotton)
 * Fixed [#11843] watir_behaviour missing from spec_ui gem
@@ -344,7 +344,7 @@ This is a bugfix release.
 * Applied [#10567] Call setup and teardown using before and after callbacks
 
 == Version 0.9.2
-This is a quick maintenance release. 
+This is a quick maintenance release.
 
 * Added some website love
 * Fixed [#10542] reverse predicate matcher syntax
@@ -365,13 +365,13 @@ backwards compatibility). This allows you to express specs like this:
 
 The command line features four new options that give you more control over what specs
 are being run and in what order. This can be used to verify that your specs are
-independent (by running in opposite order with --reverse). It can also be used to cut 
+independent (by running in opposite order with --reverse). It can also be used to cut
 down feedback time by running the most recently modified specs first (--loadby mtime --reverse).
 
 Further, --example replaces the old --spec option, and it can now take a file name of
-spec names as an alternative to just a spec name. The --format failing_examples:file.txt 
-option allows you to output an --example compatible file, which makes it possible to only 
-rerun the specs that failed in the last run. Spec::Rails uses all of these four options 
+spec names as an alternative to just a spec name. The --format failing_examples:file.txt
+option allows you to output an --example compatible file, which makes it possible to only
+rerun the specs that failed in the last run. Spec::Rails uses all of these four options
 by default to optimise your RSpec experience.
 
 There is now a simple configuration model. For Spec::Rails, you do something like this:
@@ -388,7 +388,7 @@ RSpec's own mock framework. Just put this:
   Spec::Runner.configure do |config|
     config.mock_with :mocha
   end
-  
+
 or this:
 
   Spec::Runner.configure do |config|
@@ -457,7 +457,7 @@ See Spec::DSL::Behaviour for more on predicate_matchers
 * Moved all of the Spec::Rails specs down to the plugins directory - now you can run the specs after you install.
 * Updated RSpec.tmbundle to the 0.9 syntax and replaced context/specify with describe/it.
 * Applied [#9232] ActionController::Base#render is sometimes protected (patch from Dan Manges)
-* Added --reverse option, allowing contexts/specs to be run in reverse order. 
+* Added --reverse option, allowing contexts/specs to be run in reverse order.
 * Added --loadby option, allowing better control over load order for spec files. mtime and file.txt supported.
 * Implemented [#8696] --order option (see --reverse and --loadby)
 * Added describe/it as aliases for context/specify - suggestion from Dan North.
@@ -485,7 +485,7 @@ This release introduces a new approach to handling expectations using Expression
 See Upgrade[http://rspec.rubyforge.org/upgrade.html], Spec::Expectations, Spec::Matchers and RELEASE-PLAN for more info.
 
 This release also improves the spec command line by adding DRb support and making it possible to
-store command line options in a file. This means a more flexible RSpec experience with Rails, 
+store command line options in a file. This means a more flexible RSpec experience with Rails,
 Rake and editor plugins like TextMate.
 
 It also sports myriad new features, bug fixes, patches and general goodness:
@@ -637,7 +637,7 @@ Bug fixes and a couple o' new features.
 * Added [#6560] controller.session should be available before the action
 * Added support for should_have_rjs :visual_effect
 * Different printing and colours for unmet expectations (red) and other exceptions (magenta)
-* Simplified method_missing on mock_methods to make it less invasive on partial mocks. 
+* Simplified method_missing on mock_methods to make it less invasive on partial mocks.
 
 == Version 0.7.0
 
@@ -751,7 +751,7 @@ RSpec on Rails.
 * Applied [#5065] to support using define_method rather than method_missing to capture expected messages on mocks. Thanks to Eero Saynatkari for the tip that made it work.
 * Restructured directories and Modules in order to separate rspec into three distinct Modules: Spec::Expectations, Spec::Runner and Spec::Mocks. This will allow us to more easily integrate other mock frameworks and/or allow test/unit users to take advantage of the expectation API.
 * Applied [#5620] support any boolean method and arbitrary comparisons (5.should_be &lt; 6) (Patch from Mike Williams)
- 
+
 == Version 0.6.3
 
 This release fixes some minor bugs related to RSpec on Rails
@@ -790,7 +790,7 @@ This release makes an official commitment to underscore_syntax (with no more sup
 * Fixed bug (5292) that caused mock argument matching to fail
 * Converted ALL tests to use underscore syntax
 * Fixed all remaining problems with underscores revealed by converting all the tests to underscores
-* Enhanced sugar to support combinations of methods (i.e. once.and_return) 
+* Enhanced sugar to support combinations of methods (i.e. once.and_return)
 * Simplified helper structure taking advantage of dot/underscore combos (i.e. should.be.an_instance_of, which can be expressed as should be_an_instance_of)
 * Added support for at_most in mocks
 * Added support for should_not_receive(:msg) (will be removing should_receive(:msg).never some time soon)
@@ -844,7 +844,7 @@ minor enhancements.
 * Output of various formatters is now flushed - to get more continuous output.
 
 == Version 0.5.11
-This release makes test2spec usable with Rails (with some manual steps). 
+This release makes test2spec usable with Rails (with some manual steps).
 See http://rspec.rubyforge.org/tools/rails.html for more details
 
 * test2spec now correctly translates bodies of helper methods (non- test_*, setup and teardown ones).
@@ -1039,7 +1039,7 @@ This release adds some shoulds and improves error reporting
 
 == Version 0.1.0
 
-This is the first preview release of RSpec, a Behaviour-Driven Development library for Ruby 
+This is the first preview release of RSpec, a Behaviour-Driven Development library for Ruby
 
 * Added Rake script with tasks for gems, rdoc etc.
 * Added an XForge task to make release go easier.</diff>
      <filename>rails_plugins/rspec/CHANGES</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,7 @@ Spec::Expectations supports setting expectations on your objects so you
 can do things like:
 
   result.should equal(expected_result)
-  
+
 Spec::Mocks supports creating Mock Objects, Stubs, and adding Mock/Stub
 behaviour to your existing objects.
 
@@ -58,7 +58,7 @@ Once those are all installed, you should be able to run the suite with the follo
 * cd ..
 * rake pre_commit
 
-Note that RSpec itself - once built - doesn't have any dependencies outside the Ruby core 
+Note that RSpec itself - once built - doesn't have any dependencies outside the Ruby core
 and stdlib - with a few exceptions:
 
 * The spec command line uses diff-lcs when --diff is specified.</diff>
      <filename>rails_plugins/rspec/README</filename>
    </modified>
    <modified>
      <diff>@@ -21,7 +21,7 @@ PKG_VERSION   = Spec::VERSION::STRING
 PKG_FILE_NAME = &quot;#{PKG_NAME}-#{PKG_VERSION}&quot;
 PKG_FILES = FileList[
   '[A-Z]*',
-  'lib/**/*.rb', 
+  'lib/**/*.rb',
   'spec/**/*',
   'examples/**/*',
   'failing_examples/**/*',</diff>
      <filename>rails_plugins/rspec/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -25,7 +25,7 @@ You'll need to update spec/spec_helper.rb accordingly. You can either
 just re-generate it:
 
   script/generate rspec
-  
+
 Or modify spec_helper.rb based on the template, which can be found at:
 
   vendor/plugins/rspec_on_rails/generators/rspec/templates/spec_helper.rb
\ No newline at end of file</diff>
      <filename>rails_plugins/rspec/UPGRADE</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 # Used just for us to develop rspec with Autotest
-# We could symbolic link rspec/vendor/plugins/rspec =&gt; rspec/., but 
+# We could symbolic link rspec/vendor/plugins/rspec =&gt; rspec/., but
 # this leads to a problem with subversion on windows.  Autotest
 # uses Ruby's load path, which contains &quot;.&quot;, so this is a workaround
 # (albeit, an unclean one)</diff>
      <filename>rails_plugins/rspec/autotest/discover.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,17 +3,17 @@ require File.dirname(__FILE__) + '/spec_helper'
 # Run spec w/ -fs to see the output of this file
 
 describe &quot;Examples with no descriptions&quot; do
-  
+
   # description is auto-generated as &quot;should equal(5)&quot; based on the last #should
   it do
     3.should equal(3)
     5.should equal(5)
   end
-  
+
   it { 3.should be &lt; 5 }
-  
+
   it { [&quot;a&quot;].should include(&quot;a&quot;) }
-  
+
   it { [1,2,3].should respond_to(:size) }
-  
+
 end</diff>
      <filename>rails_plugins/rspec/examples/pure/autogenerated_docstrings_example.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@ describe &quot;State created in before(:all)&quot; do
   before :each do
     @isolated = 1
   end
-  
+
   it &quot;should be accessible from example&quot; do
     @sideeffect.should == 1
     $global.should == 1
@@ -32,7 +32,7 @@ describe &quot;State created in before(:all)&quot; do
   after :each do
     $global += 1
   end
-  
+
   after :all do
     $global.should == 3
     $global = 0</diff>
      <filename>rails_plugins/rspec/examples/pure/before_and_after_example.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,21 +9,21 @@ def behave_as_musician
 end
 
 module BehaveAsExample
-  
+
   class BluesGuitarist
     def read_notes; end
     def turn_down_amp; end
   end
-  
+
   class RockGuitarist
     def read_notes; end
     def turn_down_amp; end
   end
-  
+
   class ClassicGuitarist
     def read_notes; end
   end
-  
+
   describe BluesGuitarist do
     it &quot;should behave as guitarist&quot; do
       BluesGuitarist.new.should behave_as_electric_musician
@@ -41,5 +41,5 @@ module BehaveAsExample
       ClassicGuitarist.new.should behave_as_musician
     end
   end
-  
+
 end</diff>
      <filename>rails_plugins/rspec/examples/pure/behave_as_example.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,21 +3,21 @@ module AnimalSpecHelper
     def initialize(food)
       @food = food
     end
-    
+
     def matches?(animal)
       @animal = animal
       @animal.eats?(@food)
     end
-    
+
     def failure_message
       &quot;expected #{@animal} to eat #{@food}, but it does not&quot;
     end
-    
+
     def negative_failure_message
       &quot;expected #{@animal} not to eat #{@food}, but it does&quot;
     end
   end
-    
+
   def eat(food)
     Eat.new(food)
   end
@@ -29,7 +29,7 @@ module Animals
       return foods_i_eat.include?(food)
     end
   end
-  
+
   class Mouse &lt; Animal
     def foods_i_eat
       [:cheese]
@@ -41,11 +41,11 @@ module Animals
     before(:each) do
       @mouse = Animals::Mouse.new
     end
-  
+
     it &quot;should eat cheese&quot; do
       @mouse.should eat(:cheese)
     end
-  
+
     it &quot;should not eat cat&quot; do
       @mouse.should_not eat(:cat)
     end</diff>
      <filename>rails_plugins/rspec/examples/pure/custom_expectation_matchers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@ end
 if __FILE__ == $0
   require File.dirname(__FILE__) + '/io_processor'
   require 'pathname'
-  
+
   accessor = FileAccessor.new
   io_processor = IoProcessor.new
   file = Pathname.new ARGV[0]</diff>
      <filename>rails_plugins/rspec/examples/pure/file_accessor.rb</filename>
    </modified>
    <modified>
      <diff>@@ -27,11 +27,11 @@ describe &quot;A FileAccessor&quot; do
     # These are the primary actor's neighbours, which we mock.
     file = mock &quot;Pathname&quot;
     io_processor = mock &quot;IoProcessor&quot;
-    
+
     io = StringIO.new &quot;whatever&quot;
     file.should_receive(:open).and_yield io
     io_processor.should_receive(:process).with(io)
-    
+
     accessor.open_and_handle_with(file, io_processor)
   end
 </diff>
      <filename>rails_plugins/rspec/examples/pure/file_accessor_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@ module HelperMethodExample
     def helper_method
       &quot;received call&quot;
     end
-  
+
     it &quot;should make that method available to specs&quot; do
       helper_method.should == &quot;received call&quot;
     end</diff>
      <filename>rails_plugins/rspec/examples/pure/helper_method_example.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,10 +2,10 @@ require File.dirname(__FILE__) + '/spec_helper'
 context &quot;A legacy spec&quot; do
   setup do
   end
-  
+
   specify &quot;should work fine&quot; do
   end
-  
+
   teardown do
   end
 end</diff>
      <filename>rails_plugins/rspec/examples/pure/legacy_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ class BddFramework
   def intuitive?
     true
   end
-  
+
   def adopted_quickly?
     true
   end
@@ -19,7 +19,7 @@ describe &quot;BDD framework&quot; do
   it &quot;should be adopted quickly&quot; do
     @bdd_framework.should be_adopted_quickly
   end
-  
+
   it &quot;should be intuitive&quot; do
     @bdd_framework.should be_intuitive
   end</diff>
      <filename>rails_plugins/rspec/examples/pure/predicate_example.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,26 +6,26 @@ module SharedExampleGroupExample
       &quot;stuff&quot;
     end
   end
-  
+
   class AnotherThing
     def what_things_do
       &quot;stuff&quot;
     end
   end
-  
+
   class YetAnotherThing
     def what_things_do
       &quot;stuff&quot;
     end
   end
-  
+
   # A SharedExampleGroup is an example group that doesn't get run.
   # You can create one like this:
   share_examples_for &quot;most things&quot; do
     def helper_method
       &quot;helper method&quot;
     end
-    
+
     it &quot;should do what things do&quot; do
       @thing.what_things_do.should == &quot;stuff&quot;
     end
@@ -37,19 +37,19 @@ module SharedExampleGroupExample
     def helper_method
       &quot;helper method&quot;
     end
-    
+
     it &quot;should do what things do&quot; do
       @thing.what_things_do.should == &quot;stuff&quot;
     end
   end
-  
+
   describe OneThing do
-    # Now you can include the shared example group like this, which 
+    # Now you can include the shared example group like this, which
     # feels more like what you might say ...
     it_should_behave_like &quot;most things&quot;
-    
+
     before(:each) { @thing = OneThing.new }
-    
+
     it &quot;should have access to helper methods defined in the shared example group&quot; do
       helper_method.should == &quot;helper method&quot;
     end
@@ -59,7 +59,7 @@ module SharedExampleGroupExample
     # ... or you can include the example group like this, which
     # feels more like the programming language we love.
     it_should_behave_like MostThings
-    
+
     before(:each) { @thing = AnotherThing.new }
 
     it &quot;should have access to helper methods defined in the shared example group&quot; do
@@ -71,7 +71,7 @@ module SharedExampleGroupExample
     # ... or you can include the example group like this, which
     # feels more like the programming language we love.
     include MostThings
-    
+
     before(:each) { @thing = AnotherThing.new }
 
     it &quot;should have access to helper methods defined in the shared example group&quot; do</diff>
      <filename>rails_plugins/rspec/examples/pure/shared_example_group_example.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ require File.join(File.dirname(__FILE__), *%w[spec_helper])
 shared_examples_for &quot;non-empty Stack&quot; do
 
   it { @stack.should_not be_empty }
-  
+
   it &quot;should return the top item when sent #peek&quot; do
     @stack.peek.should == @last_item_added
   end
@@ -12,18 +12,18 @@ shared_examples_for &quot;non-empty Stack&quot; do
     @stack.peek.should == @last_item_added
     @stack.peek.should == @last_item_added
   end
-  
+
   it &quot;should return the top item when sent #pop&quot; do
     @stack.pop.should == @last_item_added
   end
-  
+
   it &quot;should remove the top item when sent #pop&quot; do
     @stack.pop.should == @last_item_added
     unless @stack.empty?
       @stack.pop.should_not == @last_item_added
     end
   end
-  
+
 end
 
 shared_examples_for &quot;non-full Stack&quot; do</diff>
      <filename>rails_plugins/rspec/examples/pure/shared_stack_examples.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,26 +5,26 @@ class StackOverflowError &lt; RuntimeError
 end
 
 class Stack
-  
+
   def initialize
     @items = []
   end
-  
+
   def push object
     raise StackOverflowError if @items.length == 10
     @items.push object
   end
-  
+
   def pop
     raise StackUnderflowError if @items.empty?
     @items.delete @items.last
   end
-  
+
   def peek
     raise StackUnderflowError if @items.empty?
     @items.last
   end
-  
+
   def empty?
     @items.empty?
   end
@@ -32,5 +32,5 @@ class Stack
   def full?
     @items.length == 10
   end
-  
+
 end</diff>
      <filename>rails_plugins/rspec/examples/pure/stack.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,16 +6,16 @@ describe Stack, &quot; (empty)&quot; do
   before(:each) do
     @stack = Stack.new
   end
-  
+
   # NOTE that this one auto-generates the description &quot;should be empty&quot;
   it { @stack.should be_empty }
-  
+
   it_should_behave_like &quot;non-full Stack&quot;
-  
+
   it &quot;should complain when sent #peek&quot; do
     lambda { @stack.peek }.should raise_error(StackUnderflowError)
   end
-  
+
   it &quot;should complain when sent #pop&quot; do
     lambda { @stack.pop }.should raise_error(StackUnderflowError)
   end
@@ -39,7 +39,7 @@ describe Stack, &quot; (with one item less than capacity)&quot; do
     (1..9).each { |i| @stack.push i }
     @last_item_added = 9
   end
-  
+
   it_should_behave_like &quot;non-empty Stack&quot;
   it_should_behave_like &quot;non-full Stack&quot;
 end
@@ -52,12 +52,12 @@ describe Stack, &quot; (full)&quot; do
   end
 
   # NOTE that this one auto-generates the description &quot;should be full&quot;
-  it { @stack.should be_full }  
+  it { @stack.should be_full }
 
   it_should_behave_like &quot;non-empty Stack&quot;
 
   it &quot;should complain on #push&quot; do
     lambda { @stack.push Object.new }.should raise_error(StackOverflowError)
   end
-  
+
 end</diff>
      <filename>rails_plugins/rspec/examples/pure/stack_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/stack'
 require File.dirname(__FILE__) + '/shared_stack_examples'
 
 describe Stack do
-  
+
   before(:each) do
     @stack = Stack.new
   end
@@ -11,13 +11,13 @@ describe Stack do
   describe &quot;(empty)&quot; do
 
     it { @stack.should be_empty }
-  
+
     it_should_behave_like &quot;non-full Stack&quot;
-  
+
     it &quot;should complain when sent #peek&quot; do
       lambda { @stack.peek }.should raise_error(StackUnderflowError)
     end
-  
+
     it &quot;should complain when sent #pop&quot; do
       lambda { @stack.pop }.should raise_error(StackUnderflowError)
     end
@@ -25,7 +25,7 @@ describe Stack do
   end
 
   describe &quot;(with one item)&quot; do
-    
+
     before(:each) do
       @stack.push 3
       @last_item_added = 3
@@ -37,31 +37,31 @@ describe Stack do
   end
 
   describe &quot;(with one item less than capacity)&quot; do
-    
+
     before(:each) do
       (1..9).each { |i| @stack.push i }
       @last_item_added = 9
     end
-  
+
     it_should_behave_like &quot;non-empty Stack&quot;
     it_should_behave_like &quot;non-full Stack&quot;
   end
 
   describe &quot;(full)&quot; do
-    
+
     before(:each) do
       (1..10).each { |i| @stack.push i }
       @last_item_added = 10
     end
 
-    it { @stack.should be_full }  
+    it { @stack.should be_full }
 
     it_should_behave_like &quot;non-empty Stack&quot;
 
     it &quot;should complain on #push&quot; do
       lambda { @stack.push Object.new }.should raise_error(StackOverflowError)
     end
-  
+
   end
 
 end</diff>
      <filename>rails_plugins/rspec/examples/pure/stack_spec_with_nested_example_groups.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,7 +19,7 @@ describe &quot;A stubbed method on a class&quot; do
     StubbableClass.stub!(:find).and_return(:stub_return)
     StubbableClass.find(1).should equal(:stub_return)
   end
-  
+
   it &quot;should revert to the original method after each spec&quot; do
     StubbableClass.find(1).should equal(:original_return)
   end
@@ -43,7 +43,7 @@ describe &quot;A mock&quot; do
     mock.stub!(:msg).and_return(:value)
     (1..10).each {mock.msg.should equal(:value)}
   end
-  
+
   it &quot;can stub! and mock&quot; do
     mock = mock(&quot;stubbing mock&quot;)
     mock.stub!(:stub_message).and_return(:stub_value)
@@ -52,7 +52,7 @@ describe &quot;A mock&quot; do
     mock.mock_message.should equal(:mock_value)
     (1..10).each {mock.stub_message.should equal(:stub_value)}
   end
-  
+
   it &quot;can stub! and mock the same message&quot; do
     mock = mock(&quot;stubbing mock&quot;)
     mock.stub!(:msg).and_return(:stub_value)
@@ -66,4 +66,4 @@ describe &quot;A mock&quot; do
   end
 end
 
-    
+</diff>
      <filename>rails_plugins/rspec/examples/pure/stubbing_example.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,11 +2,11 @@ class Adder
   def initialize
     @addends = []
   end
-  
+
   def &lt;&lt;(val)
     @addends &lt;&lt; val
   end
-  
+
   def sum
     @addends.inject(0) { |sum_so_far, val| sum_so_far + val }
   end</diff>
      <filename>rails_plugins/rspec/examples/stories/adder.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,25 +10,25 @@ Story: simple addition
   Scenario: add one plus one
     Given an addend of 1
     And an addend of 1
-    
+
     When the addends are addeds
-    
+
     Then the sum should be 3
     And the corks should be popped
-  
+
   Scenario: add two plus five
     Given an addend of 2
     And an addend of 5
-    
+
     When the addends are added
-    
+
     Then the sum should be 7
     Then it should snow
-    
+
   Scenario: add three more
     GivenScenario add two plus five
     And an addend of 3
-    
+
     When the addends are added
-    
+
     Then the sum should be 10</diff>
      <filename>rails_plugins/rspec/examples/stories/addition</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@ class AdditionMatchers &lt; Spec::Story::StepGroup
   end
 end
 
-steps = AdditionMatchers.new do |add|  
+steps = AdditionMatchers.new do |add|
   add.then(&quot;the sum should be $sum&quot;) do |sum|
     @sum.should == sum.to_i
   end
@@ -34,10 +34,10 @@ Story &quot;addition&quot;, %{
     When &quot;they are added&quot;
     Then &quot;the sum should be 5&quot;
   end
-  
+
   # This scenario uses GivenScenario, which silently runs
   # all the steps in a previous scenario.
-  
+
   Scenario &quot;add 4 more&quot; do
     GivenScenario &quot;2 + 3&quot;
     Given &quot;an addend of 4&quot;
@@ -52,13 +52,13 @@ class Adder
   def &lt;&lt; addend
     addends &lt;&lt; addend
   end
-  
+
   def sum
     @addends.inject(0) do |result, addend|
       result + addend.to_i
     end
   end
-  
+
   def addends
     @addends ||= []
   end</diff>
      <filename>rails_plugins/rspec/examples/stories/calculator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,31 +4,31 @@ describe Game do
   it 'should have a grid' do
     # given
     game = Game.new(5, 5)
-    
+
     # then
     game.grid.should be_kind_of(Grid)
   end
-  
+
   it 'should create a cell' do
     # given
     game = Game.new(2, 2)
     expected_grid = Grid.from_string( 'X. ..' )
-    
+
     # when
     game.create_at(0, 0)
-    
+
     # then
     game.grid.should == expected_grid
   end
-  
+
   it 'should destroy a cell' do
     # given
     game = Game.new(2,2)
     game.grid = Grid.from_string('X. ..')
-    
+
     # when
     game.destroy_at(0,0)
-    
+
     # then
     game.grid.should == Grid.from_string('.. ..')
   end</diff>
      <filename>rails_plugins/rspec/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,60 +6,60 @@ describe Grid do
       [0, 0, 0]
     ]
     grid = Grid.new(2, 3)
-    
+
     # when
     contents = grid.contents
-    
+
     # then
     contents.should == expected_contents
   end
-  
+
   it 'should compare equal based on its contents' do
     # given
     grid1 = Grid.new(2, 3)
     grid2 = Grid.new(2, 3)
-    
+
     # then
     grid1.should == grid2
   end
-  
+
   it 'should be able to replace its contents' do
     # given
     grid = Grid.new(2,2)
     new_contents = [[0,1,0], [1,0,1]]
-    
+
     # when
     grid.contents = new_contents
-    
+
     # then
     grid.contents.should == new_contents
     grid.rows.should == 2
     grid.columns.should == 3
   end
-  
+
   it 'should add an organism' do
     # given
     grid = Grid.new(2, 2)
     expected = Grid.new(2, 2)
     expected.contents = [[1,0],[0,0]]
-    
+
     # when
     grid.create_at(0,0)
-    
+
     # then
     grid.should == expected
   end
-  
+
   it 'should create itself from a string' do
     # given
     expected = Grid.new 3, 3
     expected.create_at(0,0)
     expected.create_at(1,0)
     expected.create_at(2,2)
-    
+
     # when
     actual = Grid.from_string &quot;X.. X.. ..X&quot;
-    
+
     # then
     actual.should == expected
   end</diff>
      <filename>rails_plugins/rspec/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,19 +4,19 @@ Story &quot;I can create a cell&quot;,
   %(As a game producer
     I want to create a cell
     So that I can show the grid to people), :steps_for =&gt; :life do
-  
+
   Scenario &quot;nothing to see here&quot; do
     Given &quot;a game with dimensions&quot;, 3, 3 do |rows,cols|
       @game = Game.new(rows,cols)
     end
-    
+
     Then &quot;the grid should look like&quot;, %(
       ...
       ...
       ...
     )
   end
-  
+
   Scenario &quot;all on its lonesome&quot; do
     Given &quot;a game with dimensions&quot;, 2, 2
     When &quot;I create a cell at&quot;, 1, 1 do |row,col|
@@ -27,7 +27,7 @@ Story &quot;I can create a cell&quot;,
       .X
     )
   end
-  
+
   Scenario &quot;the grid has three cells&quot; do
     Given &quot;a game with dimensions&quot;, 3, 3
     When &quot;I create a cell at&quot;, 0, 0
@@ -39,7 +39,7 @@ Story &quot;I can create a cell&quot;,
       ..X
     )
   end
-  
+
   Scenario &quot;more cells more more&quot; do
     GivenScenario &quot;the grid has three cells&quot;
     When &quot;I create a cell at&quot;, 2, 0</diff>
      <filename>rails_plugins/rspec/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,9 +4,9 @@ Story 'I can kill a cell',
   %(As a game producer
   I want to kill a cell
   So that when I make a mistake I don't have to start again), :steps_for =&gt; :life do
-  
+
   Scenario &quot;bang, you're dead&quot; do
-    
+
     Given 'a game that looks like', %(
       XX.
       .X.</diff>
      <filename>rails_plugins/rspec/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,15 +3,15 @@ class Game
   def initialize(rows,cols)
     @grid = Grid.new(rows, cols)
   end
-  
+
   def create_at(row,col)
     @grid.create_at(row,col)
   end
-  
+
   def destroy_at(row,col)
     @grid.destroy_at(row, col)
   end
-  
+
   def self.from_string(dots)
     grid = Grid.from_string(dots)
     game = new(grid.rows, grid.columns)</diff>
      <filename>rails_plugins/rspec/examples/stories/game-of-life/life/game.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,36 +1,36 @@
 class Grid
-  
+
   attr_accessor :contents
-  
+
   def initialize(rows, cols)
     @contents = []
     rows.times do @contents &lt;&lt; [0] * cols end
   end
-  
+
   def rows
     @contents.size
   end
-  
+
   def columns
     @contents[0].size
   end
-  
+
   def ==(other)
     self.contents == other.contents
   end
-  
+
   def create_at(row,col)
     @contents[row][col] = 1
   end
-  
+
   def destroy_at(row,col)
     @contents[row][col] = 0
   end
-  
+
   def self.from_string(str)
     row_strings = str.split(' ')
     grid = new(row_strings.size, row_strings[0].size)
-    
+
     row_strings.each_with_index do |row, row_index|
       row_chars = row.split(//)
       row_chars.each_with_index do |col_char, col_index|
@@ -39,5 +39,5 @@ class Grid
     end
     return grid
   end
-  
+
 end</diff>
      <filename>rails_plugins/rspec/examples/stories/game-of-life/life/grid.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,17 +3,17 @@ require File.dirname(__FILE__) + '/spec_helper'
 # Run spec w/ -fs to see the output of this file
 
 describe &quot;Failing examples with no descriptions&quot; do
-  
+
   # description is auto-generated as &quot;should equal(5)&quot; based on the last #should
   it do
     3.should equal(2)
     5.should equal(5)
   end
-  
+
   it { 3.should be &gt; 5 }
-  
+
   it { [&quot;a&quot;].should include(&quot;b&quot;) }
-  
+
   it { [1,2,3].should_not respond_to(:size) }
-  
+
 end</diff>
      <filename>rails_plugins/rspec/failing_examples/failing_autogenerated_docstrings_example.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,10 @@
 describe &quot;This example&quot; do
-  
+
   before(:each) do
     NonExistentClass.new
   end
-  
+
   it &quot;should be listed as failing in setup&quot; do
   end
-  
+
 end</diff>
      <filename>rails_plugins/rspec/failing_examples/failure_in_setup.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,10 @@
 describe &quot;This example&quot; do
-  
+
   it &quot;should be listed as failing in teardown&quot; do
   end
-  
+
   after(:each) do
     NonExistentClass.new
   end
-  
+
 end</diff>
      <filename>rails_plugins/rspec/failing_examples/failure_in_teardown.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@ describe &quot;Mocker&quot; do
     mock = mock(&quot;poke me&quot;)
     mock.should_receive(:poke)
   end
-  
+
   it &quot;should fail when messages are received out of order&quot; do
     mock = mock(&quot;one two three&quot;)
     mock.should_receive(:one).ordered</diff>
      <filename>rails_plugins/rspec/failing_examples/mocking_example.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,17 +1,17 @@
 describe &quot;This example&quot; do
-  
+
   it &quot;should show that a NoMethodError is raised but an Exception was expected&quot; do
     proc { ''.nonexistent_method }.should raise_error
   end
-  
+
   it &quot;should pass&quot; do
     proc { ''.nonexistent_method }.should raise_error(NoMethodError)
   end
-  
+
   it &quot;should show that a NoMethodError is raised but a SyntaxError was expected&quot; do
     proc { ''.nonexistent_method }.should raise_error(SyntaxError)
   end
-  
+
   it &quot;should show that nothing is raised when SyntaxError was expected&quot; do
     proc { }.should raise_error(SyntaxError)
   end
@@ -19,29 +19,29 @@ describe &quot;This example&quot; do
   it &quot;should show that a NoMethodError is raised but a Exception was expected&quot; do
     proc { ''.nonexistent_method }.should_not raise_error
   end
-  
+
   it &quot;should show that a NoMethodError is raised&quot; do
     proc { ''.nonexistent_method }.should_not raise_error(NoMethodError)
   end
-  
+
   it &quot;should also pass&quot; do
     proc { ''.nonexistent_method }.should_not raise_error(SyntaxError)
   end
-  
+
   it &quot;should show that a NoMethodError is raised when nothing expected&quot; do
     proc { ''.nonexistent_method }.should_not raise_error(Exception)
   end
-  
+
   it &quot;should show that the wrong message was received&quot; do
     proc { raise StandardError.new(&quot;what is an enterprise?&quot;) }.should raise_error(StandardError, &quot;not this&quot;)
   end
-  
+
   it &quot;should show that the unexpected error/message was thrown&quot; do
     proc { raise StandardError.new(&quot;abc&quot;) }.should_not raise_error(StandardError, &quot;abc&quot;)
   end
-  
+
   it &quot;should pass too&quot; do
     proc { raise StandardError.new(&quot;abc&quot;) }.should_not raise_error(StandardError, &quot;xyz&quot;)
   end
-  
+
 end</diff>
      <filename>rails_plugins/rspec/failing_examples/raising_example.rb</filename>
    </modified>
    <modified>
      <diff>@@ -22,15 +22,15 @@ class Players
 end
 
 describe &quot;A new team&quot; do
-  
+
   before(:each) do
     @team = Team.new
   end
-  
+
   it &quot;should have 3 players (failing example)&quot; do
     @team.should have(3).players
   end
-  
+
   it &quot;should include some player (failing example)&quot; do
     @team.players.should include(&quot;Some Player&quot;)
   end
@@ -38,7 +38,7 @@ describe &quot;A new team&quot; do
   it &quot;should include 5 (failing example)&quot; do
     @team.players.should include(5)
   end
-  
+
   it &quot;should have no players&quot;
-  
+
 end</diff>
      <filename>rails_plugins/rspec/failing_examples/team_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,13 +4,13 @@ Autotest.add_hook :initialize do |at|
   at.clear_mappings
   # watch out: Ruby bug (1.8.6):
   # %r(/) != /\//
-  at.add_mapping(%r%^spec/.*\.rb$%) { |filename, _| 
-    filename 
+  at.add_mapping(%r%^spec/.*\.rb$%) { |filename, _|
+    filename
   }
-  at.add_mapping(%r%^lib/(.*)\.rb$%) { |_, m| 
+  at.add_mapping(%r%^lib/(.*)\.rb$%) { |_, m|
     [&quot;spec/#{m[1]}_spec.rb&quot;]
   }
-  at.add_mapping(%r%^spec/(spec_helper|shared/.*)\.rb$%) { 
+  at.add_mapping(%r%^spec/(spec_helper|shared/.*)\.rb$%) {
     at.files_matching %r%^spec/.*_spec\.rb$%
   }
 end
@@ -40,7 +40,7 @@ class Autotest::Rspec &lt; Autotest
   def make_test_cmd(files_to_test)
     return &quot;#{ruby} -S #{spec_command} #{add_options_if_present} #{files_to_test.keys.flatten.join(' ')}&quot;
   end
-  
+
   def add_options_if_present
     File.exist?(&quot;spec/spec.opts&quot;) ? &quot;-O spec/spec.opts &quot; : &quot;&quot;
   end</diff>
      <filename>rails_plugins/rspec/lib/autotest/rspec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -22,7 +22,7 @@ module Spec
       result; \
     end
     attr_writer :run
-    
+
     def exit?; \
       !Object.const_defined?(:Test) || Test::Unit.run?; \
     end</diff>
      <filename>rails_plugins/rspec/lib/spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -30,11 +30,11 @@ module Spec
           mock_framework
         end
       end
-      
+
       def mock_framework # :nodoc:
         @mock_framework ||= mock_framework_path(&quot;rspec&quot;)
       end
-      
+
       # Declares modules to be included in all example groups (&lt;tt&gt;describe&lt;/tt&gt; blocks).
       #
       #   config.include(My::Bottle, My::Cup)
@@ -75,7 +75,7 @@ module Spec
       def predicate_matchers
         @predicate_matchers ||= {}
       end
-      
+
       # Prepends a global &lt;tt&gt;before&lt;/tt&gt; block to all example groups.
       # See #append_before for filtering semantics.
       def prepend_before(*args, &amp;proc)
@@ -135,7 +135,7 @@ module Spec
       def get_type_from_options(options)
         options[:type] || options[:behaviour_type]
       end
-    
+
       def mock_framework_path(framework_name)
         File.expand_path(File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;..&quot;, &quot;..&quot;, &quot;plugins&quot;, &quot;mock_frameworks&quot;, framework_name))
       end</diff>
      <filename>rails_plugins/rspec/lib/spec/example/configuration.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,13 +12,13 @@ module Spec
         #
         #   Spec::Example::ExampleGroupFactory.register(:farm, Spec::Farm::Example::FarmExampleGroup)
         #
-        # This will cause Main#describe from a file living in 
+        # This will cause Main#describe from a file living in
         # &lt;tt&gt;spec/farm&lt;/tt&gt; to create example group instances of type
         # Spec::Farm::Example::FarmExampleGroup.
         def register(id, example_group_class)
           @example_group_types[id] = example_group_class
         end
-        
+
         # Sets the default ExampleGroup class
         def default(example_group_class)
           old = @example_group_types
@@ -33,7 +33,7 @@ module Spec
             @example_group_types[id]
           end
         end
-        
+
         def create_example_group(*args, &amp;block)
           opts = Hash === args.last ? args.last : {}
           if opts[:shared]</diff>
      <filename>rails_plugins/rspec/lib/spec/example/example_group_factory.rb</filename>
    </modified>
    <modified>
      <diff>@@ -18,7 +18,7 @@ module Spec
         klass.register {}
         Spec::Runner.register_at_exit_hook
       end
-      
+
       # Makes the describe/it syntax available from a class. For example:
       #
       #   class StackSpec &lt; Spec::ExampleGroup</diff>
      <filename>rails_plugins/rspec/lib/spec/example/example_group_methods.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,14 +5,14 @@ module Spec
         @example_group_description = example_group_description
         @example_name = example_name
       end
-      
+
       def matches?(specified_examples)
         specified_examples.each do |specified_example|
           return true if matches_literal_example?(specified_example) || matches_example_not_considering_modules?(specified_example)
         end
         false
       end
-      
+
       protected
       def matches_literal_example?(specified_example)
         specified_example =~ /(^#{example_group_regex} #{example_regexp}$|^#{example_group_regex}$|^#{example_group_with_before_all_regexp}$|^#{example_regexp}$)/</diff>
      <filename>rails_plugins/rspec/lib/spec/example/example_matcher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,7 +11,7 @@ module Spec
       def execute(options, instance_variables)
         options.reporter.example_started(self)
         set_instance_variables_from_hash(instance_variables)
-        
+
         execution_error = nil
         Timeout.timeout(options.timeout) do
           begin
@@ -63,7 +63,7 @@ module Spec
       def description
         @_defined_description || @_matcher_description || &quot;NO NAME&quot;
       end
-      
+
       def set_instance_variables_from_hash(ivars)
         ivars.each do |variable_name, value|
           # Ruby 1.9 requires variable.to_s on the next line
@@ -85,11 +85,11 @@ module Spec
       def implementation_backtrace
         eval(&quot;caller&quot;, @_implementation)
       end
-      
+
       protected
       include Matchers
       include Pending
-      
+
       def before_example
         setup_mocks_for_rspec
         self.class.run_before_each(self)</diff>
      <filename>rails_plugins/rspec/lib/spec/example/example_methods.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 module Spec
-  module Example      
+  module Example
     module Pending
       def pending(message = &quot;TODO&quot;)
         if block_given?</diff>
      <filename>rails_plugins/rspec/lib/spec/example/pending.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ require 'spec/expectations/extensions'
 require 'spec/expectations/handler'
 
 module Spec
-  
+
   # Spec::Expectations lets you set expectations on your objects.
   #
   #   result.should == 37</diff>
      <filename>rails_plugins/rspec/lib/spec/expectations.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,14 +23,14 @@ module Spec
           output = &quot;&quot;
           diffs = Diff::LCS.diff(data_old, data_new)
           return output if diffs.empty?
-          oldhunk = hunk = nil  
+          oldhunk = hunk = nil
           file_length_difference = 0
           diffs.each do |piece|
             begin
               hunk = Diff::LCS::Hunk.new(data_old, data_new, piece, context_lines,
                                          file_length_difference)
-              file_length_difference = hunk.file_length_difference      
-              next unless oldhunk      
+              file_length_difference = hunk.file_length_difference
+              next unless oldhunk
               # Hunks may overlap, which is why we need to be careful when our
               # diff includes lines of context. Otherwise, we might print
               # redundant lines.
@@ -43,10 +43,10 @@ module Spec
               oldhunk = hunk
               output &lt;&lt; &quot;\n&quot;
             end
-          end  
+          end
           #Handle the last remaining hunk
           output &lt;&lt; oldhunk.diff(format) &lt;&lt; &quot;\n&quot;
-        end  
+        end
 
         def diff_as_object(target,expected)
           diff_as_string(PP.pp(target,&quot;&quot;), PP.pp(expected,&quot;&quot;))</diff>
      <filename>rails_plugins/rspec/lib/spec/expectations/differs/default.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@ module Spec
     superclass = ['Test::Unit::AssertionFailedError', '::StandardError'].map do |c|
       eval(c) rescue nil
     end.compact.first
-    
+
     class ExpectationNotMetError &lt; superclass
     end
   end</diff>
      <filename>rails_plugins/rspec/lib/spec/expectations/errors.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,21 +1,21 @@
 module Spec
   module Expectations
-    class InvalidMatcherError &lt; ArgumentError; end        
-    
+    class InvalidMatcherError &lt; ArgumentError; end
+
     module MatcherHandlerHelper
       def describe_matcher(matcher)
         matcher.respond_to?(:description) ? matcher.description : &quot;[#{matcher.class.name} does not provide a description]&quot;
       end
     end
-    
-    class ExpectationMatcherHandler        
+
+    class ExpectationMatcherHandler
       class &lt;&lt; self
         include MatcherHandlerHelper
         def handle_matcher(actual, matcher, &amp;block)
           unless matcher.respond_to?(:matches?)
             raise InvalidMatcherError, &quot;Expected a matcher, got #{matcher.inspect}.&quot;
           end
-          
+
           match = matcher.matches?(actual, &amp;block)
           ::Spec::Matchers.generated_description = &quot;should #{describe_matcher(matcher)}&quot;
           Spec::Expectations.fail_with(matcher.failure_message) unless match</diff>
      <filename>rails_plugins/rspec/lib/spec/expectations/handler.rb</filename>
    </modified>
    <modified>
      <diff>@@ -27,7 +27,7 @@ module Spec
         Spec::Example::ExampleGroupFactory.create_example_group(*args, &amp;block)
       end
       alias :context :describe
-      
+
       # Creates an example group that can be shared by other example groups
       #
       # == Examples
@@ -38,7 +38,7 @@ module Spec
       #
       #  describe SmallEdition do
       #    it_should_behave_like &quot;All Editions&quot;
-      #  
+      #
       #    it &quot;should do small edition stuff&quot; do
       #      ...
       #    end
@@ -46,9 +46,9 @@ module Spec
       def share_examples_for(name, &amp;block)
         describe(name, :shared =&gt; true, &amp;block)
       end
-      
+
       alias :shared_examples_for :share_examples_for
-      
+
       # Creates a Shared Example Group and assigns it to a constant
       #
       #  share_as :AllEditions do
@@ -57,7 +57,7 @@ module Spec
       #
       #  describe SmallEdition do
       #    it_should_behave_like AllEditions
-      #  
+      #
       #    it &quot;should do small edition stuff&quot; do
       #      ...
       #    end
@@ -68,7 +68,7 @@ module Spec
       #
       #  describe SmallEdition do
       #    include AllEditions
-      #  
+      #
       #    it &quot;should do small edition stuff&quot; do
       #      ...
       #    end
@@ -82,7 +82,7 @@ module Spec
       end
 
     private
-    
+
       def rspec_options
         $rspec_options ||= begin; \
           parser = ::Spec::Runner::OptionParser.new(STDERR, STDOUT); \
@@ -91,7 +91,7 @@ module Spec
         end
         $rspec_options
       end
-      
+
       def init_rspec_options(options)
         $rspec_options = options if $rspec_options.nil?
       end</diff>
      <filename>rails_plugins/rspec/lib/spec/extensions/main.rb</filename>
    </modified>
    <modified>
      <diff>@@ -42,7 +42,7 @@ module Test
             end
           end
           alias_method :finished, :finished_with_rspec
-          
+
           alias_method :setup_mediator_without_rspec, :setup_mediator
           def setup_mediator_with_rspec
             orig_io = @io
@@ -53,7 +53,7 @@ module Test
             @io = orig_io
           end
           alias_method :setup_mediator, :setup_mediator_with_rspec
-          
+
         end
       end
     end</diff>
      <filename>rails_plugins/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb</filename>
    </modified>
    <modified>
      <diff>@@ -32,7 +32,7 @@ module Spec
   #
   # In addition to those Expression Matchers that are defined explicitly, RSpec will
   # create custom Matchers on the fly for any arbitrary predicate, giving your specs
-  # a much more natural language feel. 
+  # a much more natural language feel.
   #
   # A Ruby predicate is a method that ends with a &quot;?&quot; and returns true or false.
   # Common examples are +empty?+, +nil?+, and +instance_of?+.
@@ -151,6 +151,6 @@ module Spec
 
     class MatcherError &lt; StandardError
     end
-    
+
   end
 end</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 module Spec
   module Matchers
-    
+
     class Be #:nodoc:
       def initialize(*args)
         if args.empty?
@@ -11,7 +11,7 @@ module Spec
         @args = args
         @comparison = &quot;&quot;
       end
-      
+
       def matches?(actual)
         @actual = actual
         if handling_predicate?
@@ -35,17 +35,17 @@ module Spec
           return match_or_compare
         end
       end
-      
+
       def failure_message
         return &quot;expected #{@comparison}#{expected}, got #{@actual.inspect}&quot; unless handling_predicate?
         return &quot;expected #{predicate}#{args_to_s} to return true, got #{@result.inspect}&quot;
       end
-      
+
       def negative_failure_message
         return &quot;expected not #{expected}, got #{@actual.inspect}&quot; unless handling_predicate?
         return &quot;expected #{predicate}#{args_to_s} to return false, got #{@result.inspect}&quot;
       end
-      
+
       def expected
         return &quot;if to be satisfied&quot; if @expected == :satisfy_if
         return true if @expected == :true
@@ -53,7 +53,7 @@ module Spec
         return &quot;nil&quot; if @expected == :nil
         return @expected.inspect
       end
-      
+
       def match_or_compare
         return @actual ? true : false if @expected == :satisfy_if
         return @actual == true if @expected == :true
@@ -67,7 +67,7 @@ module Spec
         return @actual === @expected if @triple_equal
         return @actual.equal?(@expected)
       end
-      
+
       def ==(expected)
         @prefix = &quot;be &quot;
         @double_equal = true
@@ -115,7 +115,7 @@ module Spec
         @expected = expected
         self
       end
-      
+
       def description
         &quot;#{prefix_to_sentence}#{comparison}#{expected_to_sentence}#{args_to_sentence}&quot;
       end
@@ -134,7 +134,7 @@ module Spec
           @prefix = &quot;&quot;
           return expected
         end
-        
+
         def handling_predicate?
           return false if [:true, :false, :nil].include?(@expected)
           return @handling_predicate
@@ -143,25 +143,25 @@ module Spec
         def predicate
           &quot;#{@expected.to_s}?&quot;.to_sym
         end
-        
+
         def present_tense_predicate
           &quot;#{@expected.to_s}s?&quot;.to_sym
         end
-        
+
         def args_to_s
           return &quot;&quot; if @args.empty?
           inspected_args = @args.collect{|a| a.inspect}
           return &quot;(#{inspected_args.join(', ')})&quot;
         end
-        
+
         def comparison
           @comparison
         end
-        
+
         def expected_to_sentence
           split_words(@expected)
         end
-        
+
         def prefix_to_sentence
           split_words(@prefix)
         end
@@ -180,9 +180,9 @@ module Spec
               &quot; #{@args[0...-1].join(', ')} and #{@args[-1]}&quot;
           end
         end
-        
+
     end
- 
+
     # :call-seq:
     #   should be
     #   should be_true
@@ -194,7 +194,7 @@ module Spec
     #
     # Given true, false, or nil, will pass if actual is
     # true, false or nil (respectively). Given no args means
-    # the caller should satisfy an if condition (to be or not to be). 
+    # the caller should satisfy an if condition (to be or not to be).
     #
     # Predicates are any Ruby method that ends in a &quot;?&quot; and returns true or false.
     # Given be_ followed by arbitrary_predicate (without the &quot;?&quot;), RSpec will match
@@ -204,7 +204,7 @@ module Spec
     # prefixed with &quot;be_an_&quot; (e.g. be_an_instance_of), &quot;be_a_&quot; (e.g. be_a_kind_of)
     # or &quot;be_&quot; (e.g. be_empty), letting you choose the prefix that best suits the predicate.
     #
-    # == Examples 
+    # == Examples
     #
     #   target.should be
     #   target.should be_true</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/be.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,21 +6,21 @@ module Spec
         @expected = expected
         @delta = delta
       end
-      
+
       def matches?(actual)
         @actual = actual
         (@actual - @expected).abs &lt; @delta
       end
-      
+
       def failure_message
         &quot;expected #{@expected} +/- (&lt; #{@delta}), got #{@actual}&quot;
       end
-      
+
       def description
         &quot;be close to #{@expected} (within +- #{@delta})&quot;
       end
     end
-    
+
     # :call-seq:
     #   should be_close(expected, delta)
     #   should_not be_close(expected, delta)</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/be_close.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 module Spec
   module Matchers
-    
+
     #Based on patch from Wilson Bilkovich
     class Change #:nodoc:
       def initialize(receiver=nil, message=nil, &amp;block)
@@ -8,7 +8,7 @@ module Spec
         @message = message
         @block = block
       end
-      
+
       def matches?(target, &amp;block)
         if block
           raise MatcherError.new(&lt;&lt;-EOF
@@ -22,16 +22,16 @@ EOF
         return false if @to &amp;&amp; (@to != @after)
         return (@before + @amount == @after) if @amount
         return ((@after - @before) &gt;= @minimum) if @minimum
-        return ((@after - @before) &lt;= @maximum) if @maximum        
+        return ((@after - @before) &lt;= @maximum) if @maximum
         return @before != @after
       end
-      
+
       def execute_change
         @before = @block.nil? ? @receiver.send(@message) : @block.call
         @target.call
         @after = @block.nil? ? @receiver.send(@message) : @block.call
       end
-      
+
       def failure_message
         if @to
           &quot;#{result} should have been changed to #{@to.inspect}, but is now #{@after.inspect}&quot;
@@ -47,45 +47,45 @@ EOF
           &quot;#{result} should have changed, but is still #{@before.inspect}&quot;
         end
       end
-      
+
       def result
         @message || &quot;result&quot;
       end
-      
+
       def actual_delta
         @after - @before
       end
-      
+
       def negative_failure_message
         &quot;#{result} should not have changed, but did change from #{@before.inspect} to #{@after.inspect}&quot;
       end
-      
+
       def by(amount)
         @amount = amount
         self
       end
-      
+
       def by_at_least(minimum)
         @minimum = minimum
         self
       end
-      
+
       def by_at_most(maximum)
         @maximum = maximum
         self
-      end      
-      
+      end
+
       def to(to)
         @to = to
         self
       end
-      
+
       def from (from)
         @from = from
         self
       end
     end
-    
+
     # :call-seq:
     #   should change(receiver, message, &amp;block)
     #   should change(receiver, message, &amp;block).by(value)
@@ -97,20 +97,20 @@ EOF
     # == Examples
     #
     #   lambda {
-    #     team.add_player(player) 
+    #     team.add_player(player)
     #   }.should change(roster, :count)
     #
     #   lambda {
-    #     team.add_player(player) 
+    #     team.add_player(player)
     #   }.should change(roster, :count).by(1)
     #
     #   lambda {
-    #     team.add_player(player) 
+    #     team.add_player(player)
     #   }.should change(roster, :count).by_at_least(1)
     #
     #   lambda {
     #     team.add_player(player)
-    #   }.should change(roster, :count).by_at_most(1)    
+    #   }.should change(roster, :count).by_at_most(1)
     #
     #   string = &quot;string&quot;
     #   lambda {
@@ -120,7 +120,7 @@ EOF
     #   lambda {
     #     person.happy_birthday
     #   }.should change(person, :birthday).from(32).to(33)
-    #       
+    #
     #   lambda {
     #     employee.develop_great_new_social_networking_app
     #   }.should change(employee, :title).from(&quot;Mail Clerk&quot;).to(&quot;CEO&quot;)</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/change.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,11 @@
 module Spec
   module Matchers
-  
+
     class Eql #:nodoc:
       def initialize(expected)
         @expected = expected
       end
-  
+
       def matches?(actual)
         @actual = actual
         @actual.eql?(@expected)
@@ -14,7 +14,7 @@ module Spec
       def failure_message
         return &quot;expected #{@expected.inspect}, got #{@actual.inspect} (using .eql?)&quot;, @expected, @actual
       end
-      
+
       def negative_failure_message
         return &quot;expected #{@actual.inspect} not to equal #{@expected.inspect} (using .eql?)&quot;, @expected, @actual
       end
@@ -23,7 +23,7 @@ module Spec
         &quot;eql #{@expected.inspect}&quot;
       end
     end
-    
+
     # :call-seq:
     #   should eql(expected)
     #   should_not eql(expected)</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/eql.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,11 @@
 module Spec
   module Matchers
-  
+
     class Equal #:nodoc:
       def initialize(expected)
         @expected = expected
       end
-  
+
       def matches?(actual)
         @actual = actual
         @actual.equal?(@expected)
@@ -18,12 +18,12 @@ module Spec
       def negative_failure_message
         return &quot;expected #{@actual.inspect} not to equal #{@expected.inspect} (using .equal?)&quot;, @expected, @actual
       end
-      
+
       def description
         &quot;equal #{@expected.inspect}&quot;
       end
     end
-    
+
     # :call-seq:
     #   should equal(expected)
     #   should_not equal(expected)</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/equal.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,12 @@
 module Spec
   module Matchers
-    
+
     class Has #:nodoc:
       def initialize(sym, *args)
         @sym = sym
         @args = args
       end
-      
+
       def matches?(target)
         @target = target
         begin
@@ -18,27 +18,27 @@ module Spec
         end
         return false
       end
-      
+
       def failure_message
         raise @error if @error
         &quot;expected ##{predicate}(#{@args[0].inspect}) to return true, got false&quot;
       end
-      
+
       def negative_failure_message
         raise @error if @error
         &quot;expected ##{predicate}(#{@args[0].inspect}) to return false, got true&quot;
       end
-      
+
       def description
         &quot;have key #{@args[0].inspect}&quot;
       end
-      
+
       private
         def predicate
           &quot;#{@sym.to_s.sub(&quot;have_&quot;,&quot;has_&quot;)}?&quot;.to_sym
         end
-        
+
     end
- 
+
   end
 end</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/has.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,12 @@
 module Spec
   module Matchers
-    
+
     class Have #:nodoc:
       def initialize(expected, relativity=:exactly)
         @expected = (expected == :no ? 0 : expected)
         @relativity = relativity
       end
-    
+
       def relativities
         @relativities ||= {
           :exactly =&gt; &quot;&quot;,
@@ -14,7 +14,7 @@ module Spec
           :at_most =&gt; &quot;at most &quot;
         }
       end
-    
+
       def method_missing(sym, *args, &amp;block)
         @collection_name = sym
         @plural_collection_name = Inflector.pluralize(sym.to_s) if Object.const_defined?(:Inflector)
@@ -22,7 +22,7 @@ module Spec
         @block = block
         self
       end
-    
+
       def matches?(collection_owner)
         if collection_owner.respond_to?(@collection_name)
           collection = collection_owner.send(@collection_name, *@args, &amp;@block)
@@ -40,11 +40,11 @@ module Spec
         return @actual &lt;= @expected if @relativity == :at_most
         return @actual == @expected
       end
-      
+
       def not_a_collection
         &quot;expected #{@collection_name} to be a collection but it does not respond to #length or #size&quot;
       end
-    
+
       def failure_message
         &quot;expected #{relative_expectation} #{@collection_name}, got #{@actual}&quot;
       end
@@ -70,13 +70,13 @@ We recommend that you use this instead:
 EOF
         end
       end
-      
+
       def description
         &quot;have #{relative_expectation} #{@collection_name}&quot;
       end
-      
+
       private
-      
+
       def relative_expectation
         &quot;#{relativities[@relativity]}#{@expected}&quot;
       end</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/have.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,11 +2,11 @@ module Spec
   module Matchers
 
     class Include #:nodoc:
-      
+
       def initialize(*expecteds)
         @expecteds = expecteds
       end
-      
+
       def matches?(actual)
         @actual = actual
         @expecteds.each do |expected|
@@ -14,24 +14,24 @@ module Spec
         end
         true
       end
-      
+
       def failure_message
         _message
       end
-      
+
       def negative_failure_message
         _message(&quot;not &quot;)
       end
-      
+
       def description
         &quot;include #{_pretty_print(@expecteds)}&quot;
       end
-      
+
       private
         def _message(maybe_not=&quot;&quot;)
           &quot;expected #{@actual.inspect} #{maybe_not}to include #{_pretty_print(@expecteds)}&quot;
         end
-        
+
         def _pretty_print(array)
           result = &quot;&quot;
           array.each_with_index do |item, index|</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/include.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,30 +1,30 @@
 module Spec
   module Matchers
-    
+
     class Match #:nodoc:
       def initialize(expected)
         @expected = expected
       end
-      
+
       def matches?(actual)
         @actual = actual
         return true if actual =~ @expected
         return false
       end
-      
+
       def failure_message
         return &quot;expected #{@actual.inspect} to match #{@expected.inspect}&quot;, @expected, @actual
       end
-      
+
       def negative_failure_message
         return &quot;expected #{@actual.inspect} not to match #{@expected.inspect}&quot;, @expected, @actual
       end
-      
+
       def description
         &quot;match #{@expected.inspect}&quot;
       end
     end
-    
+
     # :call-seq:
     #   should match(regexp)
     #   should_not match(regexp)</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/match.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ module Spec
   module Matchers
     class BaseOperatorMatcher
       attr_reader :generated_description
-      
+
       def initialize(target)
         @target = target
       end</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/operator_matcher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 module Spec
   module Matchers
-    
+
     class RaiseError #:nodoc:
       def initialize(error_or_message=Exception, message=nil)
         if String === error_or_message
@@ -11,7 +11,7 @@ module Spec
           @expected_message = message
         end
       end
-      
+
       def matches?(proc)
         @raised_expected_error = false
         @raised_other = false
@@ -46,7 +46,7 @@ module Spec
           end
         end
       end
-      
+
       def failure_message
         return &quot;expected #{expected_error}#{actual_error}&quot; if @raised_other || !@raised_expected_error
       end
@@ -54,11 +54,11 @@ module Spec
       def negative_failure_message
         &quot;expected no #{expected_error}#{actual_error}&quot;
       end
-      
+
       def description
         &quot;raise #{expected_error}&quot;
       end
-      
+
       private
         def expected_error
           case @expected_message
@@ -75,7 +75,7 @@ module Spec
           @actual_error.nil? ? &quot; but nothing was raised&quot; : &quot;, got #{@actual_error.inspect}&quot;
         end
     end
-    
+
     # :call-seq:
     #   should raise_error()
     #   should raise_error(NamedError)</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/raise_error.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,12 @@
 module Spec
   module Matchers
-    
+
     class RespondTo #:nodoc:
       def initialize(*names)
         @names = names
         @names_not_responded_to = []
       end
-      
+
       def matches?(target)
         @names.each do |name|
           unless target.respond_to?(name)
@@ -15,20 +15,20 @@ module Spec
         end
         return @names_not_responded_to.empty?
       end
-      
+
       def failure_message
         &quot;expected target to respond to #{@names_not_responded_to.collect {|name| name.inspect }.join(', ')}&quot;
       end
-      
+
       def negative_failure_message
         &quot;expected target not to respond to #{@names.collect {|name| name.inspect }.join(', ')}&quot;
       end
-      
+
       def description
         &quot;respond to ##{@names.to_s}&quot;
       end
     end
-    
+
     # :call-seq:
     #   should respond_to(*names)
     #   should_not respond_to(*names)
@@ -37,7 +37,7 @@ module Spec
     # provided. Names can be Strings or Symbols.
     #
     # == Examples
-    # 
+    #
     def respond_to(*names)
       Matchers::RespondTo.new(*names)
     end</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/respond_to.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,17 +1,17 @@
 module Spec
   module Matchers
-    
+
     class Satisfy #:nodoc:
       def initialize(&amp;block)
         @block = block
       end
-      
+
       def matches?(actual, &amp;block)
         @block = block if block
         @actual = actual
         @block.call(actual)
       end
-      
+
       def failure_message
         &quot;expected #{@actual} to satisfy block&quot;
       end
@@ -20,7 +20,7 @@ module Spec
         &quot;expected #{@actual} not to satisfy block&quot;
       end
     end
-    
+
     # :call-seq:
     #   should satisfy {}
     #   should_not satisfy {}</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/satisfy.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ module Spec
   module Matchers
     class SimpleMatcher
       attr_reader :description
-      
+
       def initialize(description, &amp;match_block)
         @description = description
         @match_block = match_block
@@ -16,12 +16,12 @@ module Spec
       def failure_message()
         return %[expected #{@description.inspect} but got #{@actual.inspect}]
       end
-        
+
       def negative_failure_message()
         return %[expected not to get #{@description.inspect}, but got #{@actual.inspect}]
       end
     end
-    
+
     def simple_matcher(message, &amp;match_block)
       SimpleMatcher.new(message, &amp;match_block)
     end</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/simple_matcher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,12 @@
 module Spec
   module Matchers
-    
+
     class ThrowSymbol #:nodoc:
       def initialize(expected=nil)
         @expected = expected
         @actual = nil
       end
-      
+
       def matches?(proc)
         begin
           proc.call
@@ -29,7 +29,7 @@ module Spec
           &quot;expected #{expected} but nothing was thrown&quot;
         end
       end
-      
+
       def negative_failure_message
         if @expected
           &quot;expected #{expected} not to be thrown&quot;
@@ -37,19 +37,19 @@ module Spec
           &quot;expected no Symbol, got :#{@actual}&quot;
         end
       end
-      
+
       def description
         &quot;throw #{expected}&quot;
       end
-      
+
       private
-      
+
         def expected
           @expected.nil? ? &quot;a Symbol&quot; : @expected.inspect
         end
-      
+
     end
- 
+
     # :call-seq:
     #   should throw_symbol()
     #   should throw_symbol(:sym)</diff>
      <filename>rails_plugins/rspec/lib/spec/matchers/throw_symbol.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,12 +23,12 @@ module Spec
   # which can help clarify the role it is playing within a given spec.
   #
   # == Mock Objects
-  # 
+  #
   # Mocks are objects that allow you to set and verify expectations that they will
   # receive specific messages during run time. They are very useful for specifying how the subject of
   # the spec interacts with its collaborators. This approach is widely known as &quot;interaction
   # testing&quot;.
-  # 
+  #
   # Mocks are also very powerful as a design tool. As you are
   # driving the implementation of a given class, Mocks provide an anonymous
   # collaborator that can change in behaviour as quickly as you can write an expectation in your
@@ -36,12 +36,12 @@ module Spec
   # does not yet exist. As the shape of the class being specified becomes more clear, so do the
   # requirements for its collaborators - often leading to the discovery of new types that are
   # needed in your system.
-  # 
+  #
   # Read Endo-Testing[http://www.mockobjects.com/files/endotesting.pdf] for a much
   # more in depth description of this process.
-  # 
+  #
   # == Stubs
-  # 
+  #
   # Stubs are objects that allow you to set &quot;stub&quot; responses to
   # messages. As Martin Fowler points out on his site,
   # mocks_arent_stubs[http://www.martinfowler.com/articles/mocksArentStubs.html].
@@ -49,25 +49,25 @@ module Spec
   # of Gerard Meszaros: Stubs provide canned responses to messages they might receive in a test, while
   # mocks allow you to specify and, subsquently, verify that certain messages should be received during
   # the execution of a test.
-  # 
+  #
   # == Partial Mocks/Stubs
-  # 
+  #
   # RSpec also supports partial mocking/stubbing, allowing you to add stub/mock behaviour
   # to instances of your existing classes. This is generally
   # something to be avoided, because changes to the class can have ripple effects on
   # seemingly unrelated specs. When specs fail due to these ripple effects, the fact
   # that some methods are being mocked can make it difficult to understand why a
   # failure is occurring.
-  # 
+  #
   # That said, partials do allow you to expect and
   # verify interactions with class methods such as +#find+ and +#create+
   # on Ruby on Rails model classes.
-  # 
+  #
   # == Further Reading
-  # 
+  #
   # There are many different viewpoints about the meaning of mocks and stubs. If you are interested
   # in learning more, here is some recommended reading:
-  # 
+  #
   # * Mock Objects: http://www.mockobjects.com/
   # * Endo-Testing: http://www.mockobjects.com/files/endotesting.pdf
   # * Mock Roles, Not Objects: http://www.mockobjects.com/files/mockrolesnotobjects.pdf
@@ -110,7 +110,7 @@ module Spec
   #
   #   my_mock.should_receive(:sym)
   #   my_mock.should_not_receive(:sym)
-  #   
+  #
   # == Expecting Arguments
   #
   #   my_mock.should_receive(:sym).with(*args)
@@ -137,7 +137,7 @@ module Spec
   #   my_mock.should_receive(:sym).with(1, anything(), &quot;b&quot;) #2nd argument can be anything at all
   #   my_mock.should_receive(:sym).with(1, ducktype(:abs, :div), &quot;b&quot;)
   #                            #2nd argument can be object that responds to #abs and #div
-  #                                                                       
+  #
   # == Receive Counts
   #
   #   my_mock.should_receive(:sym).once</diff>
      <filename>rails_plugins/rspec/lib/spec/mocks.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,15 +10,15 @@ module Spec
       def any_args
         AnyArgsConstraint.new
       end
-      
+
       def anything
         AnyArgConstraint.new(nil)
       end
-      
+
       def boolean
         BooleanArgConstraint.new(nil)
       end
-      
+
       def no_args
         NoArgsConstraint.new
       end</diff>
      <filename>rails_plugins/rspec/lib/spec/mocks/argument_constraint_matchers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,109 +1,109 @@
 module Spec
   module Mocks
-  
+
     class MatcherConstraint
       def initialize(matcher)
         @matcher = matcher
       end
-      
+
       def matches?(value)
         @matcher.matches?(value)
       end
     end
-      
+
     class LiteralArgConstraint
       def initialize(literal)
         @literal_value = literal
       end
-      
+
       def matches?(value)
         @literal_value == value
       end
     end
-    
+
     class RegexpArgConstraint
       def initialize(regexp)
         @regexp = regexp
       end
-      
+
       def matches?(value)
         return value =~ @regexp unless value.is_a?(Regexp)
         value == @regexp
       end
     end
-    
+
     class AnyArgConstraint
       def initialize(ignore)
       end
-      
+
       def ==(other)
         true
       end
-      
+
       # TODO - need this?
       def matches?(value)
         true
       end
     end
-    
+
     class AnyArgsConstraint
       def description
         &quot;any args&quot;
       end
     end
-    
+
     class NoArgsConstraint
       def description
         &quot;no args&quot;
       end
-      
+
       def ==(args)
         args == []
       end
     end
-    
+
     class NumericArgConstraint
       def initialize(ignore)
       end
-      
+
       def matches?(value)
         value.is_a?(Numeric)
       end
     end
-    
+
     class BooleanArgConstraint
       def initialize(ignore)
       end
-      
+
       def ==(value)
         matches?(value)
       end
-      
+
       def matches?(value)
         return true if value.is_a?(TrueClass)
         return true if value.is_a?(FalseClass)
         false
       end
     end
-    
+
     class StringArgConstraint
       def initialize(ignore)
       end
-      
+
       def matches?(value)
         value.is_a?(String)
       end
     end
-    
+
     class DuckTypeArgConstraint
       def initialize(*methods_to_respond_to)
         @methods_to_respond_to = methods_to_respond_to
       end
-  
+
       def matches?(value)
         @methods_to_respond_to.all? { |sym| value.respond_to?(sym) }
       end
-      
+
       def description
         &quot;duck_type&quot;
       end
@@ -116,7 +116,7 @@ module Spec
       @@constraint_classes[:numeric] = NumericArgConstraint
       @@constraint_classes[:boolean] = BooleanArgConstraint
       @@constraint_classes[:string] = StringArgConstraint
-      
+
       def initialize(args)
         @args = args
         if [:any_args] == args
@@ -130,17 +130,17 @@ module Spec
         else @expected_params = process_arg_constraints(args)
         end
       end
-      
+
       def process_arg_constraints(constraints)
-        constraints.collect do |constraint| 
+        constraints.collect do |constraint|
           convert_constraint(constraint)
         end
       end
-      
+
       def warn_deprecated(deprecated_method, instead)
         Kernel.warn &quot;The #{deprecated_method} constraint is deprecated. Use #{instead} instead.&quot;
       end
-      
+
       def convert_constraint(constraint)
         if [:anything, :numeric, :boolean, :string].include?(constraint)
           case constraint
@@ -160,24 +160,24 @@ module Spec
         return RegexpArgConstraint.new(constraint) if constraint.is_a?(Regexp)
         return LiteralArgConstraint.new(constraint)
       end
-      
+
       def is_matcher?(obj)
         return obj.respond_to?(:matches?) &amp;&amp; obj.respond_to?(:description)
       end
-      
+
       def check_args(args)
         return true if @expected_params.nil?
         return true if @expected_params == args
         return constraints_match?(args)
       end
-      
+
       def constraints_match?(args)
         return false if args.length != @expected_params.length
         @expected_params.each_index { |i| return false unless @expected_params[i].matches?(args[i]) }
         return true
       end
-  
+
     end
-    
+
   end
 end</diff>
      <filename>rails_plugins/rspec/lib/spec/mocks/argument_expectation.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,12 +2,12 @@ module Spec
   module Mocks
     class ErrorGenerator
       attr_writer :opts
-      
+
       def initialize(target, name)
         @target = target
         @name = name
       end
-      
+
       def opts
         @opts ||= {}
       end
@@ -15,47 +15,47 @@ module Spec
       def raise_unexpected_message_error(sym, *args)
         __raise &quot;#{intro} received unexpected message :#{sym}#{arg_message(*args)}&quot;
       end
-      
+
       def raise_unexpected_message_args_error(expectation, *args)
         expected_args = format_args(*expectation.expected_args)
         actual_args = args.empty? ? &quot;(no args)&quot; : format_args(*args)
         __raise &quot;#{intro} expected #{expectation.sym.inspect} with #{expected_args} but received it with #{actual_args}&quot;
       end
-      
+
       def raise_expectation_error(sym, expected_received_count, actual_received_count, *args)
         __raise &quot;#{intro} expected :#{sym}#{arg_message(*args)} #{count_message(expected_received_count)}, but received it #{count_message(actual_received_count)}&quot;
       end
-      
+
       def raise_out_of_order_error(sym)
         __raise &quot;#{intro} received :#{sym} out of order&quot;
       end
-      
+
       def raise_block_failed_error(sym, detail)
         __raise &quot;#{intro} received :#{sym} but passed block failed with: #{detail}&quot;
       end
-      
+
       def raise_missing_block_error(args_to_yield)
         __raise &quot;#{intro} asked to yield |#{arg_list(*args_to_yield)}| but no block was passed&quot;
       end
-      
+
       def raise_wrong_arity_error(args_to_yield, arity)
         __raise &quot;#{intro} yielded |#{arg_list(*args_to_yield)}| to block with arity of #{arity}&quot;
       end
-      
+
       private
       def intro
         @name ? &quot;Mock '#{@name}'&quot; : @target.inspect
       end
-      
+
       def __raise(message)
         message = opts[:message] unless opts[:message].nil?
         Kernel::raise(Spec::Mocks::MockExpectationError, message)
       end
-      
+
       def arg_message(*args)
         &quot; with &quot; + format_args(*args)
       end
-      
+
       def format_args(*args)
         return &quot;(no args)&quot; if args.empty? || args == [:no_args]
         return &quot;(any args)&quot; if args == [:any_args]
@@ -67,7 +67,7 @@ module Spec
           arg.respond_to?(:description) ? arg.description : arg.inspect
         end.join(&quot;, &quot;)
       end
-      
+
       def count_message(count)
         return &quot;at least #{pretty_print(count.abs)}&quot; if count &lt; 0
         return pretty_print(count)</diff>
      <filename>rails_plugins/rspec/lib/spec/mocks/error_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ module Spec
   module Mocks
     class MockExpectationError &lt; StandardError
     end
-    
+
     class AmbiguousReturnError &lt; StandardError
     end
   end</diff>
      <filename>rails_plugins/rspec/lib/spec/mocks/errors.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ module Spec
 
     class BaseExpectation
       attr_reader :sym
-      
+
       def initialize(error_generator, expectation_ordering, expected_from, sym, method_block, expected_received_count=1, opts={})
         @error_generator = error_generator
         @error_generator.opts = opts
@@ -22,7 +22,7 @@ module Spec
         @at_most = nil
         @args_to_yield = []
       end
-      
+
       def expected_args
         @args_expectation.args
       end
@@ -42,7 +42,7 @@ module Spec
         # Ruby 1.9 - see where this is used below
         @ignore_args = !block_given?
       end
-      
+
       # :call-seq:
       #   and_raise()
       #   and_raise(Exception) #any exception class
@@ -57,27 +57,27 @@ module Spec
       def and_raise(exception=Exception)
         @exception_to_raise = exception
       end
-      
+
       def and_throw(symbol)
         @symbol_to_throw = symbol
       end
-      
+
       def and_yield(*args)
         @args_to_yield &lt;&lt; args
         self
       end
-  
+
       def matches(sym, args)
         @sym == sym and @args_expectation.check_args(args)
       end
-      
+
       def invoke(args, block)
         @order_group.handle_order_constraint self
 
         begin
           Kernel::raise @exception_to_raise unless @exception_to_raise.nil?
           Kernel::throw @symbol_to_throw unless @symbol_to_throw.nil?
-          
+
           if !@method_block.nil?
             default_return_val = invoke_method_block(args)
           elsif @args_to_yield.size &gt; 0
@@ -85,7 +85,7 @@ module Spec
           else
             default_return_val = nil
           end
-          
+
           if @consecutive
             return invoke_consecutive_return_block(args, block)
           elsif @return_block
@@ -97,7 +97,7 @@ module Spec
           @actual_received_count += 1
         end
       end
-      
+
       protected
 
       def invoke_method_block(args)
@@ -107,7 +107,7 @@ module Spec
           @error_generator.raise_block_failed_error @sym, detail.message
         end
       end
-      
+
       def invoke_with_yield(block)
         if block.nil?
           @error_generator.raise_missing_block_error @args_to_yield
@@ -119,15 +119,15 @@ module Spec
           block.call(*args_to_yield_this_time)
         end
       end
-      
+
       def invoke_consecutive_return_block(args, block)
         args &lt;&lt; block unless block.nil?
         value = @return_block.call(*args)
-        
+
         index = [@actual_received_count, value.size-1].min
         value[index]
       end
-      
+
       def invoke_return_block(args, block)
         args &lt;&lt; block unless block.nil?
         # Ruby 1.9 - when we set @return_block to return values
@@ -140,39 +140,39 @@ module Spec
         end
       end
     end
-    
+
     class MessageExpectation &lt; BaseExpectation
-      
+
       def matches_name_but_not_args(sym, args)
         @sym == sym and not @args_expectation.check_args(args)
       end
-       
-      def verify_messages_received        
+
+      def verify_messages_received
         return if ignoring_args? || matches_exact_count? ||
            matches_at_least_count? || matches_at_most_count?
-    
+
         generate_error
       rescue Spec::Mocks::MockExpectationError =&gt; error
         error.backtrace.insert(0, @expected_from)
         Kernel::raise error
       end
-      
+
       def ignoring_args?
         @expected_received_count == :any
       end
-      
+
       def matches_at_least_count?
         @at_least &amp;&amp; @actual_received_count &gt;= @expected_received_count
       end
-      
+
       def matches_at_most_count?
         @at_most &amp;&amp; @actual_received_count &lt;= @expected_received_count
       end
-      
+
       def matches_exact_count?
         @expected_received_count == @actual_received_count
       end
-      
+
       def generate_error
         @error_generator.raise_expectation_error(@sym, @expected_received_count, @actual_received_count, *@args_expectation.args)
       end
@@ -182,17 +182,17 @@ module Spec
         @args_expectation = ArgumentExpectation.new(args)
         self
       end
-      
+
       def exactly(n)
         set_expected_received_count :exactly, n
         self
       end
-      
+
       def at_least(n)
         set_expected_received_count :at_least, n
         self
       end
-      
+
       def at_most(n)
         set_expected_received_count :at_most, n
         self
@@ -202,41 +202,41 @@ module Spec
         @method_block = block if block
         self
       end
-  
+
       def any_number_of_times(&amp;block)
         @method_block = block if block
         @expected_received_count = :any
         self
       end
-  
+
       def never
         @expected_received_count = 0
         self
       end
-  
+
       def once(&amp;block)
         @method_block = block if block
         @expected_received_count = 1
         self
       end
-  
+
       def twice(&amp;block)
         @method_block = block if block
         @expected_received_count = 2
         self
       end
-  
+
       def ordered(&amp;block)
         @method_block = block if block
         @order_group.register(self)
         @ordered = true
         self
       end
-      
+
       def negative_expectation_for?(sym)
         return false
       end
-      
+
       protected
         def set_expected_received_count(relativity, n)
           @at_least = (relativity == :at_least)
@@ -250,18 +250,18 @@ module Spec
               2
           end
         end
-      
+
     end
-    
+
     class NegativeMessageExpectation &lt; MessageExpectation
       def initialize(message, expectation_ordering, expected_from, sym, method_block)
         super(message, expectation_ordering, expected_from, sym, method_block, 0)
       end
-      
+
       def negative_expectation_for?(sym)
         return @sym == sym
       end
     end
-    
+
   end
 end</diff>
      <filename>rails_plugins/rspec/lib/spec/mocks/message_expectation.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,15 +8,15 @@ module Spec
       def should_not_receive(sym, &amp;block)
         __mock_proxy.add_negative_message_expectation(caller(1)[0], sym.to_sym, &amp;block)
       end
-      
+
       def stub!(sym, opts={})
         __mock_proxy.add_stub(caller(1)[0], sym.to_sym, opts)
       end
-      
+
       def received_message?(sym, *args, &amp;block) #:nodoc:
         __mock_proxy.received_message?(sym.to_sym, *args, &amp;block)
       end
-      
+
       def rspec_verify #:nodoc:
         __mock_proxy.verify
       end</diff>
      <filename>rails_plugins/rspec/lib/spec/mocks/methods.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,7 +11,7 @@ module Spec
         @options = parse_options(stubs_and_options)
         assign_stubs(stubs_and_options)
       end
-      
+
       # This allows for comparing the mock to other objects that proxy
       #  such as ActiveRecords belongs_to proxy objects
       #  By making the other object run the comparison, we're sure the call gets delegated to the proxy target
@@ -29,17 +29,17 @@ module Spec
           __mock_proxy.raise_unexpected_message_error sym, *args
         end
       end
-      
+
       def inspect
         &quot;#&lt;#{self.class}:#{sprintf '0x%x', self.object_id} @name=#{@name.inspect}&gt;&quot;
       end
-      
+
       private
-      
+
         def parse_options(options)
           options.has_key?(:null_object) ? {:null_object =&gt; options.delete(:null_object)} : {}
         end
-        
+
         def assign_stubs(stubs)
           stubs.each_pair do |message, response|
             stub!(message).and_return(response)</diff>
      <filename>rails_plugins/rspec/lib/spec/mocks/mock.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,25 +5,25 @@ module Spec
         @error_generator = error_generator
         @ordering = Array.new
       end
-      
+
       def register(expectation)
         @ordering &lt;&lt; expectation
       end
-      
+
       def ready_for?(expectation)
         return @ordering.first == expectation
       end
-      
+
       def consume
         @ordering.shift
       end
-      
+
       def handle_order_constraint expectation
         return unless @ordering.include? expectation
         return consume if ready_for?(expectation)
         @error_generator.raise_out_of_order_error expectation.sym
       end
-      
+
     end
   end
 end</diff>
      <filename>rails_plugins/rspec/lib/spec/mocks/order_group.rb</filename>
    </modified>
    <modified>
      <diff>@@ -79,14 +79,14 @@ module Spec
       def raise_unexpected_message_error(sym, *args)
         @error_generator.raise_unexpected_message_error sym, *args
       end
-      
+
     private
 
       def __add(sym)
         $rspec_mocks.add(@target) unless $rspec_mocks.nil?
         define_expected_method(sym)
       end
-      
+
       def define_expected_method(sym)
         if target_responds_to?(sym) &amp;&amp; !metaclass.method_defined?(munge(sym))
           munged_sym = munge(sym)
@@ -95,7 +95,7 @@ module Spec
           end
           @proxied_methods &lt;&lt; sym
         end
-        
+
         metaclass_eval(&lt;&lt;-EOF, __FILE__, __LINE__)
           def #{sym}(*args, &amp;block)
             __mock_proxy.message_received :#{sym}, *args, &amp;block
@@ -128,7 +128,7 @@ module Spec
       def metaclass_eval(str, filename, lineno)
         metaclass.class_eval(str, filename, lineno)
       end
-      
+
       def metaclass
         (class &lt;&lt; @target; self; end)
       end</diff>
      <filename>rails_plugins/rspec/lib/spec/mocks/proxy.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,16 +10,16 @@ module Spec
           mock.rspec_verify
         end
       end
-      
+
       def reset_all
         mocks.each do |mock|
           mock.rspec_reset
         end
         mocks.clear
       end
-      
+
     private
-    
+
       def mocks
         @mocks ||= []
       end</diff>
      <filename>rails_plugins/rspec/lib/spec/mocks/space.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,7 +23,7 @@ module Spec
       def mock(name, stubs_and_options={})
         Spec::Mocks::Mock.new(name, stubs_and_options)
       end
-      
+
       alias :stub :mock
 
       # Shortcut for creating a mock object that will return itself in response</diff>
      <filename>rails_plugins/rspec/lib/spec/mocks/spec_methods.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,7 +11,7 @@ module Spec
     # A Rake task that runs a set of specs.
     #
     # Example:
-    #  
+    #
     #   Spec::Rake::SpecTask.new do |t|
     #     t.warning = true
     #     t.rcov = true
@@ -87,7 +87,7 @@ module Spec
       # Whether or not to use RCov (default is false)
       # See http://eigenclass.org/hiki.rb?rcov
       attr_accessor :rcov
-      
+
       # Array of commandline options to pass to RCov. Defaults to ['--exclude', 'lib\/spec,bin\/spec'].
       # Ignored if rcov=false
       # Setting the RCOV_OPTS environment variable overrides this.
@@ -117,7 +117,7 @@ module Spec
       # used, then the list of spec files is the union of the two.
       # Setting the SPEC environment variable overrides this.
       attr_accessor :spec_files
-      
+
       # Use verbose output. If this is set to true, the task will print
       # the executed spec command to stdout. Defaults to false.
       attr_accessor :verbose
@@ -210,7 +210,7 @@ module Spec
         STDERR.puts &quot;RSPECOPTS is DEPRECATED and will be removed in a future version. Use SPEC_OPTS instead.&quot; if ENV['RSPECOPTS']
         ENV['SPEC_OPTS'] || ENV['RSPECOPTS'] || spec_opts.join(&quot; &quot;) || &quot;&quot;
       end
-      
+
       def evaluate(o) # :nodoc:
         case o
           when Proc then o.call</diff>
      <filename>rails_plugins/rspec/lib/spec/rake/spectask.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,23 +5,23 @@ module RCov
   class VerifyTask &lt; Rake::TaskLib
     # Name of the task. Defaults to :verify_rcov
     attr_accessor :name
-    
+
     # Path to the index.html file generated by RCov, which
     # is the file containing the total coverage.
     # Defaults to 'coverage/index.html'
     attr_accessor :index_html
-    
+
     # Whether or not to output details. Defaults to true.
     attr_accessor :verbose
-    
-    # The threshold value (in percent) for coverage. If the 
-    # actual coverage is not equal to this value, the task will raise an 
-    # exception. 
+
+    # The threshold value (in percent) for coverage. If the
+    # actual coverage is not equal to this value, the task will raise an
+    # exception.
     attr_accessor :threshold
-    
+
     # Require the threshold value be met exactly.  This is the default.
     attr_accessor :require_exact_threshold
-    
+
     def initialize(name=:verify_rcov)
       @name = name
       @index_html = 'coverage/index.html'
@@ -31,7 +31,7 @@ module RCov
       raise &quot;Threshold must be set&quot; if @threshold.nil?
       define
     end
-    
+
     def define
       desc &quot;Verify that rcov coverage is at least #{threshold}%&quot;
       task @name do</diff>
      <filename>rails_plugins/rspec/lib/spec/rake/verify_rcov.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,121 +10,121 @@ require 'spec/runner/class_and_arguments_parser'
 
 module Spec
   # == ExampleGroups and Examples
-  # 
-  # Rather than expressing examples in classes, RSpec uses a custom DSLL (DSL light) to 
+  #
+  # Rather than expressing examples in classes, RSpec uses a custom DSLL (DSL light) to
   # describe groups of examples.
-  # 
+  #
   # A ExampleGroup is the equivalent of a fixture in xUnit-speak. It is a metaphor for the context
   # in which you will run your executable example - a set of known objects in a known starting state.
   # We begin be describing
-  # 
+  #
   #   describe Account do
-  # 
+  #
   #     before do
   #       @account = Account.new
   #     end
-  # 
+  #
   #     it &quot;should have a balance of $0&quot; do
   #       @account.balance.should == Money.new(0, :dollars)
   #     end
-  # 
+  #
   #   end
-  # 
+  #
   # We use the before block to set up the Example (given), and then the #it method to
   # hold the example code that expresses the event (when) and the expected outcome (then).
-  # 
+  #
   # == Helper Methods
-  # 
+  #
   # A primary goal of RSpec is to keep the examples clear. We therefore prefer
   # less indirection than you might see in xUnit examples and in well factored, DRY production code. We feel
   # that duplication is OK if removing it makes it harder to understand an example without
   # having to look elsewhere to understand its context.
-  # 
+  #
   # That said, RSpec does support some level of encapsulating common code in helper
   # methods that can exist within a context or within an included module.
-  # 
+  #
   # == Setup and Teardown
-  # 
+  #
   # You can use before and after within a Example. Both methods take an optional
   # scope argument so you can run the block before :each example or before :all examples
-  # 
+  #
   #   describe &quot;...&quot; do
   #     before :all do
   #       ...
   #     end
-  # 
+  #
   #     before :each do
   #       ...
   #     end
-  # 
+  #
   #     it &quot;should do something&quot; do
   #       ...
   #     end
-  # 
+  #
   #     it &quot;should do something else&quot; do
   #       ...
   #     end
-  # 
+  #
   #     after :each do
   #       ...
   #     end
-  # 
+  #
   #     after :all do
   #       ...
   #     end
-  # 
+  #
   #   end
-  # 
+  #
   # The &lt;tt&gt;before :each&lt;/tt&gt; block will run before each of the examples, once for each example. Likewise,
   # the &lt;tt&gt;after :each&lt;/tt&gt; block will run after each of the examples.
-  # 
+  #
   # It is also possible to specify a &lt;tt&gt;before :all&lt;/tt&gt; and &lt;tt&gt;after :all&lt;/tt&gt;
   # block that will run only once for each behaviour, respectively before the first &lt;code&gt;before :each&lt;/code&gt;
   # and after the last &lt;code&gt;after :each&lt;/code&gt;. The use of these is generally discouraged, because it
   # introduces dependencies between the examples. Still, it might prove useful for very expensive operations
   # if you know what you are doing.
-  # 
+  #
   # == Local helper methods
-  # 
+  #
   # You can include local helper methods by simply expressing them within a context:
-  # 
+  #
   #   describe &quot;...&quot; do
-  #   
+  #
   #     it &quot;...&quot; do
   #       helper_method
   #     end
-  # 
+  #
   #     def helper_method
   #       ...
   #     end
-  # 
+  #
   #   end
-  # 
+  #
   # == Included helper methods
-  # 
+  #
   # You can include helper methods in multiple contexts by expressing them within
   # a module, and then including that module in your context:
-  # 
+  #
   #   module AccountExampleHelperMethods
   #     def helper_method
   #       ...
   #     end
   #   end
-  # 
+  #
   #   describe &quot;A new account&quot; do
   #     include AccountExampleHelperMethods
   #     before do
   #       @account = Account.new
   #     end
-  # 
+  #
   #     it &quot;should have a balance of $0&quot; do
   #       helper_method
   #       @account.balance.should eql(Money.new(0, :dollars))
   #     end
   #   end
-  # 
+  #
   # == Shared Example Groups
-  # 
+  #
   # You can define a shared Example Group, that may be used on other groups
   #
   #  share_examples_for &quot;All Editions&quot; do
@@ -133,7 +133,7 @@ module Spec
   #
   #  describe SmallEdition do
   #    it_should_behave_like &quot;All Editions&quot;
-  #  
+  #
   #    it &quot;should do small edition stuff&quot; do
   #      ...
   #    end
@@ -147,7 +147,7 @@ module Spec
   #
   #  describe SmallEdition do
   #    it_should_behave_like AllEditions
-  #  
+  #
   #    it &quot;should do small edition stuff&quot; do
   #      ...
   #    end
@@ -158,7 +158,7 @@ module Spec
   #
   #  describe SmallEdition do
   #    include AllEditions
-  #  
+  #
   #    it &quot;should do small edition stuff&quot; do
   #      ...
   #    end
@@ -168,7 +168,7 @@ module Spec
       def configuration # :nodoc:
         @configuration ||= Spec::Example::Configuration.new
       end
-      
+
       # Use this to configure various configurable aspects of
       # RSpec:
       #
@@ -183,7 +183,7 @@ module Spec
       def configure
         yield configuration
       end
-      
+
       def register_at_exit_hook # :nodoc:
         $spec_runner_at_exit_hook_registered ||= nil
         unless $spec_runner_at_exit_hook_registered
@@ -196,7 +196,7 @@ module Spec
           $spec_runner_at_exit_hook_registered = true
         end
       end
-      
+
     end
   end
 end</diff>
      <filename>rails_plugins/rspec/lib/spec/runner.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,7 +19,7 @@ module Spec
     class QuietBacktraceTweaker &lt; BacktraceTweaker
       unless defined?(IGNORE_PATTERNS)
         root_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', '..'))
-        spec_files = Dir[&quot;#{root_dir}/lib/*&quot;].map do |path| 
+        spec_files = Dir[&quot;#{root_dir}/lib/*&quot;].map do |path|
           subpath = path[root_dir.length..-1]
           /#{subpath}/
         end
@@ -37,7 +37,7 @@ module Spec
           /spec_server/
         ]
       end
-      
+
       def tweak_backtrace(error)
         return if error.backtrace.nil?
         error.backtrace.collect! do |line|</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/backtrace_tweaker.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,14 @@
 module Spec
   module Runner
     module Formatter
-      # Baseclass for formatters that implements all required methods as no-ops. 
+      # Baseclass for formatters that implements all required methods as no-ops.
       class BaseFormatter
         attr_accessor :example_group, :options, :where
         def initialize(options, where)
           @options = options
           @where = where
         end
-        
+
         # This method is invoked before any examples are run, right after
         # they have all been collected. This can be useful for special
         # formatters that need to provide progress on feedback (graphical ones)
@@ -36,12 +36,12 @@ module Spec
         end
 
         # This method is invoked when an +example+ fails, i.e. an exception occurred
-        # inside it (such as a failed should or other exception). +counter+ is the 
-        # sequence number of the failure (starting at 1) and +failure+ is the associated 
+        # inside it (such as a failed should or other exception). +counter+ is the
+        # sequence number of the failure (starting at 1) and +failure+ is the associated
         # Failure object.
         def example_failed(example, counter, failure)
         end
-        
+
         # This method is invoked when an example is not yet implemented (i.e. has not
         # been provided a block), or when an ExamplePendingError is raised.
         # +message+ is the message from the ExamplePendingError, if it exists, or the
@@ -60,11 +60,11 @@ module Spec
         # information about the failure.
         def dump_failure(counter, failure)
         end
-      
+
         # This method is invoked after the dumping of examples and failures.
         def dump_summary(duration, example_count, failure_count, pending_count)
         end
-        
+
         # This gets invoked after the summary if option is set to do so.
         def dump_pending
         end</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/formatter/base_formatter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -25,11 +25,11 @@ module Spec
           end
           @pending_examples = []
         end
-        
+
         def example_pending(example_group_description, example, message)
           @pending_examples &lt;&lt; [&quot;#{example_group_description} #{example.description}&quot;, message]
         end
-        
+
         def dump_failure(counter, failure)
           @output.puts
           @output.puts &quot;#{counter.to_s})&quot;
@@ -37,7 +37,7 @@ module Spec
           @output.puts format_backtrace(failure.exception.backtrace)
           @output.flush
         end
-        
+
         def colourise(s, failure)
           if(failure.expectation_not_met?)
             red(s)
@@ -47,7 +47,7 @@ module Spec
             magenta(s)
           end
         end
-      
+
         def dump_summary(duration, example_count, failure_count, pending_count)
           return if dry_run?
           @output.puts
@@ -55,7 +55,7 @@ module Spec
           @output.puts
 
           summary = &quot;#{example_count} example#{'s' unless example_count == 1}, #{failure_count} failure#{'s' unless failure_count == 1}&quot;
-          summary &lt;&lt; &quot;, #{pending_count} pending&quot; if pending_count &gt; 0  
+          summary &lt;&lt; &quot;, #{pending_count} pending&quot; if pending_count &gt; 0
 
           if failure_count == 0
             if pending_count &gt; 0
@@ -74,23 +74,23 @@ module Spec
             @output.puts
             @output.puts &quot;Pending:&quot;
             @pending_examples.each do |pending_example|
-              @output.puts &quot;#{pending_example[0]} (#{pending_example[1]})&quot; 
+              @output.puts &quot;#{pending_example[0]} (#{pending_example[1]})&quot;
             end
           end
           @output.flush
         end
-        
+
         def close
           if IO === @output
-            @output.close 
+            @output.close
           end
         end
-        
+
         def format_backtrace(backtrace)
           return &quot;&quot; if backtrace.nil?
           backtrace.map { |line| backtrace_line(line) }.join(&quot;\n&quot;)
         end
-      
+
       protected
 
         def colour?
@@ -100,7 +100,7 @@ module Spec
         def dry_run?
           @options.dry_run ? true : false
         end
-        
+
         def backtrace_line(line)
           line.sub(/\A([^:]+:\d+)$/, '\\1:')
         end
@@ -117,13 +117,13 @@ module Spec
             false
           end
         end
-        
+
         def green(text); colour(text, &quot;\e[32m&quot;); end
         def red(text); colour(text, &quot;\e[31m&quot;); end
         def magenta(text); colour(text, &quot;\e[35m&quot;); end
         def yellow(text); colour(text, &quot;\e[33m&quot;); end
         def blue(text); colour(text, &quot;\e[34m&quot;); end
-        
+
       end
     end
   end</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ require 'spec/runner/formatter/base_text_formatter'
 module Spec
   module Runner
     module Formatter
-      class FailingExamplesFormatter &lt; BaseTextFormatter      
+      class FailingExamplesFormatter &lt; BaseTextFormatter
         def example_failed(example, counter, failure)
           @output.puts &quot;#{example_group.description} #{example.description}&quot;
           @output.flush</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ module Spec
     module Formatter
       class HtmlFormatter &lt; BaseTextFormatter
         include ERB::Util # for the #h method
-        
+
         def initialize(options, output)
           super
           @current_example_group_number = 0
@@ -17,12 +17,12 @@ module Spec
         def current_example_group_number
           @current_example_group_number
         end
-        
+
         # The number of the currently running example (a global counter)
         def current_example_number
           @current_example_number
         end
-        
+
         def start(example_count)
           @example_count = example_count
 
@@ -97,7 +97,7 @@ module Spec
           @snippet_extractor ||= SnippetExtractor.new
           &quot;    &lt;pre class=\&quot;ruby\&quot;&gt;&lt;code&gt;#{@snippet_extractor.snippet(failure.exception)}&lt;/code&gt;&lt;/pre&gt;&quot;
         end
-        
+
         def move_progress
           @output.puts &quot;    &lt;script type=\&quot;text/javascript\&quot;&gt;moveProgressBar('#{percent_done}');&lt;/script&gt;&quot;
           @output.flush
@@ -119,7 +119,7 @@ module Spec
             totals = &quot;This was a dry-run&quot;
           else
             totals = &quot;#{example_count} example#{'s' unless example_count == 1}, #{failure_count} failure#{'s' unless failure_count == 1}&quot;
-            totals &lt;&lt; &quot;, #{pending_count} pending&quot; if pending_count &gt; 0  
+            totals &lt;&lt; &quot;, #{pending_count} pending&quot; if pending_count &gt; 0
           end
           @output.puts &quot;&lt;script type=\&quot;text/javascript\&quot;&gt;document.getElementById('duration').innerHTML = \&quot;Finished in &lt;strong&gt;#{duration} seconds&lt;/strong&gt;\&quot;;&lt;/script&gt;&quot;
           @output.puts &quot;&lt;script type=\&quot;text/javascript\&quot;&gt;document.getElementById('totals').innerHTML = \&quot;#{totals}\&quot;;&lt;/script&gt;&quot;
@@ -130,10 +130,10 @@ module Spec
           @output.flush
         end
 
-        def html_header 
+        def html_header
           &lt;&lt;-EOF
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
   PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
@@ -204,7 +204,7 @@ function makeYellow(element_id) {
 }
 EOF
         end
-        
+
         def global_styles
           &lt;&lt;-EOF
 #rspec-header {</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/formatter/html_formatter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,20 +4,20 @@ module Spec
   module Runner
     module Formatter
       class ProfileFormatter &lt; ProgressBarFormatter
-        
+
         def initialize(options, where)
           super
           @example_times = []
         end
-        
+
         def start(count)
           @output.puts &quot;Profiling enabled.&quot;
         end
-        
+
         def example_started(example)
           @time = Time.now
         end
-        
+
         def example_passed(example)
           super
           @example_times &lt;&lt; [
@@ -26,15 +26,15 @@ module Spec
             Time.now - @time
           ]
         end
-        
+
         def start_dump
           super
           @output.puts &quot;\n\nTop 10 slowest examples:\n&quot;
-          
+
           @example_times = @example_times.sort_by do |description, example, time|
             time
           end.reverse
-          
+
           @example_times[0..9].each do |description, example, time|
             @output.print red(sprintf(&quot;%.7f&quot;, time))
             @output.puts &quot; #{description} #{example}&quot;</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/formatter/profile_formatter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,13 +13,13 @@ module Spec
           @output.print green('.')
           @output.flush
         end
-      
+
         def example_pending(example_group_description, example, message)
           super
           @output.print yellow('P')
           @output.flush
         end
-        
+
         def start_dump
           @output.puts
           @output.flush</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,14 +5,14 @@ module Spec
       class SnippetExtractor #:nodoc:
         class NullConverter; def convert(code, pre); code; end; end #:nodoc:
         begin; require 'rubygems'; require 'syntax/convertors/html'; @@converter = Syntax::Convertors::HTML.for_syntax &quot;ruby&quot;; rescue LoadError =&gt; e; @@converter = NullConverter.new; end
-        
+
         def snippet(error)
           raw_code, line = snippet_for(error.backtrace[0])
           highlighted = @@converter.convert(raw_code, false)
           highlighted &lt;&lt; &quot;\n&lt;span class=\&quot;comment\&quot;&gt;# gem install syntax to get syntax highlighting&lt;/span&gt;&quot; if @@converter.is_a?(NullConverter)
           post_process(highlighted, line)
         end
-        
+
         def snippet_for(error_line)
           if error_line =~ /(.*):(\d+)/
             file = $1
@@ -22,7 +22,7 @@ module Spec
             [&quot;# Couldn't get snippet for #{error_line}&quot;, 1]
           end
         end
-        
+
         def lines_around(file, line)
           if File.file?(file)
             lines = File.open(file).read.split(&quot;\n&quot;)
@@ -35,7 +35,7 @@ module Spec
             &quot;# Couldn't get snippet for #{file}&quot;
           end
         end
-        
+
         def post_process(highlighted, offending_line)
           new_lines = []
           highlighted.split(&quot;\n&quot;).each_with_index do |line, i|
@@ -45,7 +45,7 @@ module Spec
           end
           new_lines.join(&quot;\n&quot;)
         end
-        
+
       end
     end
   end</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/formatter/snippet_extractor.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,24 +10,24 @@ module Spec
           output.puts example_group.description
           output.flush
         end
-      
+
         def example_failed(example, counter, failure)
           message = if failure.expectation_not_met?
             &quot;- #{example.description} (FAILED - #{counter})&quot;
           else
             &quot;- #{example.description} (ERROR - #{counter})&quot;
           end
-          
+
           output.puts(failure.expectation_not_met? ? red(message) : magenta(message))
           output.flush
         end
-        
+
         def example_passed(example)
           message = &quot;- #{example.description}&quot;
           output.puts green(message)
           output.flush
         end
-        
+
         def example_pending(example_group_description, example, message)
           super
           output.puts yellow(&quot;- #{example.description} (PENDING: #{message})&quot;)</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,11 +7,11 @@ module Spec
       module Story
         class HtmlFormatter &lt; BaseTextFormatter
           include ERB::Util
-          
+
           def run_started(count)
             @output.puts &lt;&lt;-EOF
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
   PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
@@ -47,7 +47,7 @@ EOF
 &lt;/head&gt;
 EOF
           end
-          
+
           def story_started(title, narrative)
             @output.puts &lt;&lt;-EOF
       &lt;dl class=&quot;story passed&quot;&gt;
@@ -82,7 +82,7 @@ EOF
           &lt;/dl&gt;
 EOF
           end
-          
+
           def found_scenario(type, description)
           end
 
@@ -112,11 +112,11 @@ EOF
           def step_failed(type, description, *args)
             print_step('failed', type, description, *args)
           end
-          
+
           def print_step(klass, type, description, *args)
             spans = args.map { |arg| &quot;&lt;span class=\&quot;param\&quot;&gt;#{arg}&lt;/span&gt;&quot; }
             desc_string = description.step_name
-            arg_regexp = description.arg_regexp           
+            arg_regexp = description.arg_regexp
             i = -1
             inner = type.to_s.capitalize + ' ' + desc_string.gsub(arg_regexp) { |param| spans[i+=1] }
             @output.puts &quot;                &lt;li class=\&quot;#{klass}\&quot;&gt;#{inner}&lt;/li&gt;&quot;</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/formatter/story/html_formatter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,7 @@ module Spec
             @pending_steps = []
             @previous_type = nil
           end
-        
+
           def run_started(count)
             @count = count
             @output.puts &quot;Running #@count scenarios\n\n&quot;
@@ -27,7 +27,7 @@ module Spec
               @output.print line
             end
           end
-        
+
           def story_ended(title, narrative)
             @output.puts
             @output.puts
@@ -39,22 +39,22 @@ module Spec
             @output.print &quot;\n\n  Scenario: #{scenario_name}&quot;
             @scenario_ok = true
           end
-        
+
           def scenario_succeeded(story_title, scenario_name)
             @successful_scenario_count += 1
           end
-        
+
           def scenario_failed(story_title, scenario_name, err)
             @options.backtrace_tweaker.tweak_backtrace(err)
             @failed_scenarios &lt;&lt; [story_title, scenario_name, err] unless @scenario_already_failed
             @scenario_already_failed = true
           end
-        
+
           def scenario_pending(story_title, scenario_name, msg)
             @pending_scenario_count += 1 unless @scenario_already_failed
             @scenario_already_failed = true
           end
-        
+
           def run_ended
             @output.puts &quot;#@count scenarios: #@successful_scenario_count succeeded, #{@failed_scenarios.size} failed, #@pending_scenario_count pending&quot;
             unless @pending_steps.empty?
@@ -74,32 +74,32 @@ module Spec
     #{err.backtrace.join(&quot;\n&quot;)}
 ]
               end
-            end            
+            end
           end
 
           def step_upcoming(type, description, *args)
           end
-                  
+
           def step_succeeded(type, description, *args)
             found_step(type, description, false, *args)
           end
-        
+
           def step_pending(type, description, *args)
             found_step(type, description, false, *args)
             @pending_steps &lt;&lt; [@current_story_title, @current_scenario_name, description]
             @output.print &quot; (PENDING)&quot;
             @scenario_ok = false
           end
-        
+
           def step_failed(type, description, *args)
             found_step(type, description, true, *args)
             @output.print red(@scenario_ok ? &quot; (FAILED)&quot; : &quot; (SKIPPED)&quot;)
             @scenario_ok = false
           end
-          
+
           def collected_steps(steps)
           end
-          
+
           def method_missing(sym, *args, &amp;block) #:nodoc:
             # noop - ignore unknown messages
           end</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/formatter/story/plain_text_formatter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@ module Spec
         @filter = filter
         @heckle_class = heckle_class
       end
-      
+
       # Runs all the example groups held by +rspec_options+ once for each of the
       # methods in the matched classes.
       def heckle_with
@@ -22,13 +22,13 @@ module Spec
           heckle_class_or_module(@filter)
         end
       end
-      
+
       def heckle_method(class_name, method_name)
         verify_constant(class_name)
         heckle = @heckle_class.new(class_name, method_name, rspec_options)
         heckle.validate
       end
-      
+
       def heckle_class_or_module(class_or_module_name)
         verify_constant(class_or_module_name)
         pattern = /^#{class_or_module_name}/
@@ -36,7 +36,7 @@ module Spec
         ObjectSpace.each_object(Class) do |klass|
           classes &lt;&lt; klass if klass.name =~ pattern
         end
-        
+
         classes.each do |klass|
           klass.instance_methods(false).each do |method_name|
             heckle = @heckle_class.new(klass.name, method_name, rspec_options)
@@ -44,7 +44,7 @@ module Spec
           end
         end
       end
-      
+
       def verify_constant(name)
         begin
           # This is defined in Heckle
@@ -54,7 +54,7 @@ module Spec
         end
       end
     end
-    
+
     #Supports Heckle 1.2 and prior (earlier versions used Heckle::Base)
     class Heckler &lt; (Heckle.const_defined?(:Base) ? Heckle::Base : Heckle)
       def initialize(klass_name, method_name, rspec_options)</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/heckle_runner.rb</filename>
    </modified>
    <modified>
      <diff>@@ -122,7 +122,7 @@ module Spec
         @options.argv = @argv.dup
         return if parse_generate_options
         return if parse_drb
-        
+
         super(@argv) do |file|
           @options.files &lt;&lt; file
           blk.call(file) if blk
@@ -137,7 +137,7 @@ module Spec
           require file
         end
       end
-      
+
       def parse_options_file(options_file)
         option_file_args = IO.readlines(options_file).map {|l| l.chomp.split &quot; &quot;}.flatten
         @argv.push(*option_file_args)
@@ -152,7 +152,7 @@ module Spec
             options_file = @argv.delete_at(index)
           end
         end
-        
+
         if options_file
           write_generated_options(options_file)
           return true
@@ -160,7 +160,7 @@ module Spec
           return false
         end
       end
-      
+
       def write_generated_options(options_file)
         File.open(options_file, 'w') do |io|
           io.puts @argv.join(&quot;\n&quot;)
@@ -191,7 +191,7 @@ module Spec
       def parse_help
         @out_stream.puts self
         exit if stdout?
-      end      
+      end
 
       def stdout?
         @out_stream == $stdout</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/option_parser.rb</filename>
    </modified>
    <modified>
      <diff>@@ -100,7 +100,7 @@ module Spec
 
       def examples_should_not_be_run
         @examples_should_be_run = false
-      end      
+      end
 
       def colour=(colour)
         @colour = colour
@@ -147,7 +147,7 @@ module Spec
         @format_options ||= []
         @format_options &lt;&lt; [format, where]
       end
-      
+
       def formatters
         @format_options ||= [['progress', @output_stream]]
         @formatters ||= load_formatters(@format_options, EXAMPLE_FORMATTERS)
@@ -157,7 +157,7 @@ module Spec
         @format_options ||= [['plain', @output_stream]]
         @formatters ||= load_formatters(@format_options, STORY_FORMATTERS)
       end
-      
+
       def load_formatters(format_options, formatters)
         format_options.map do |format, where|
           formatter_type = if formatters[format]
@@ -197,13 +197,13 @@ module Spec
         end
         result
       end
-      
+
       protected
       def examples_should_be_run?
         return @examples_should_be_run unless @examples_should_be_run.nil?
         @examples_should_be_run = true
       end
-      
+
       def differ_class=(klass)
         return unless klass
         @differ_class = klass
@@ -227,7 +227,7 @@ module Spec
           if $_spec_spec ; raise e ; else exit(1) ; end
         end
       end
-      
+
       def custom_runner
         return nil unless custom_runner?
         klass_name, arg = ClassAndArgumentsParser.parse(user_input_for_runner)
@@ -238,13 +238,13 @@ module Spec
       def custom_runner?
         return user_input_for_runner ? true : false
       end
-      
+
       def heckle
         returns = self.heckle_runner.heckle_with
         self.heckle_runner = nil
         returns
       end
-      
+
       def sorted_files
         return sorter ? files.sort(&amp;sorter) : files
       end</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/options.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,27 +2,27 @@ module Spec
   module Runner
     class Reporter
       attr_reader :options, :example_groups
-      
+
       def initialize(options)
         @options = options
         @options.reporter = self
         clear
       end
-      
+
       def add_example_group(example_group)
         formatters.each do |f|
           f.add_example_group(example_group)
         end
         example_groups &lt;&lt; example_group
       end
-      
+
       def example_started(example)
         formatters.each{|f| f.example_started(example)}
       end
-      
+
       def example_finished(example, error=nil)
         @examples &lt;&lt; example
-        
+
         if error.nil?
           example_passed(example)
         elsif Spec::Example::ExamplePendingError === error
@@ -48,11 +48,11 @@ module Spec
         @start_time = Time.new
         formatters.each{|f| f.start(number_of_examples)}
       end
-  
+
       def end
         @end_time = Time.new
       end
-  
+
       # Dumps the summary and returns the total number of failures
       def dump
         formatters.each{|f| f.start_dump}
@@ -74,7 +74,7 @@ module Spec
       def backtrace_tweaker
         @options.backtrace_tweaker
       end
-  
+
       def clear
         @example_groups = []
         @failures = []
@@ -83,7 +83,7 @@ module Spec
         @start_time = nil
         @end_time = nil
       end
-  
+
       def dump_failures
         return if @failures.empty?
         @failures.inject(1) do |index, failure|
@@ -99,21 +99,21 @@ module Spec
         return @end_time - @start_time unless (@end_time.nil? or @start_time.nil?)
         return &quot;0.0&quot;
       end
-      
+
       def example_passed(example)
         formatters.each{|f| f.example_passed(example)}
       end
-      
+
       def example_pending(example_group, example, message=&quot;Not Yet Implemented&quot;)
         @pending_count += 1
         formatters.each do |f|
           f.example_pending(example_group.description, example, message)
         end
       end
-      
+
       class Failure
         attr_reader :exception
-        
+
         def initialize(example_name, exception)
           @example_name = example_name
           @exception = exception
@@ -128,7 +128,7 @@ module Spec
             &quot;#{@exception.class.name} in '#{@example_name}'&quot;
           end
         end
-        
+
         def pending_fixed?
           @exception.is_a?(Spec::Example::PendingExampleFixedError)
         end</diff>
      <filename>rails_plugins/rspec/lib/spec/runner/reporter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@ module Spec
         def Story(title, narrative, params = {}, &amp;body)
           ::Spec::Story::Runner.story_runner.Story(title, narrative, params, &amp;body)
         end
-      
+
         # Calling this deprecated is silly, since it hasn't been released yet. But, for
         # those who are reading this - this will be deleted before the 1.1 release.
         def run_story(*args, &amp;block)
@@ -13,7 +13,7 @@ module Spec
           runner.instance_eval(&amp;block) if block
           runner.run
         end
-      
+
         # Creates (or appends to an existing) a namespaced group of steps for use in Stories
         #
         # == Examples
@@ -28,8 +28,8 @@ module Spec
           steps.instance_eval(&amp;block) if block
           steps
         end
-      
-        # Creates a context for running a Plain Text Story with specific groups of Steps. 
+
+        # Creates a context for running a Plain Text Story with specific groups of Steps.
         # Also supports adding arbitrary steps that will only be accessible to
         # the Story being run.
         #
@@ -73,11 +73,11 @@ module Spec
             runner.run
           end
         end
-        
+
         def rspec_story_steps  # :nodoc:
           $rspec_story_steps ||= Spec::Story::StepGroupHash.new
         end
-                
+
       end
     end
   end</diff>
      <filename>rails_plugins/rspec/lib/spec/story/extensions/main.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ class Regexp
   def step_name
     self.source
   end
-  
+
   def arg_regexp
     ::Spec::Story::Step::PARAM_OR_GROUP_PATTERN
   end</diff>
      <filename>rails_plugins/rspec/lib/spec/story/extensions/regexp.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ class String
   def step_name
     self
   end
-  
+
   def arg_regexp
     ::Spec::Story::Step::PARAM_PATTERN
   end</diff>
      <filename>rails_plugins/rspec/lib/spec/story/extensions/string.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ module Spec
       def initialize(name)
         @name = name
       end
-      
+
       def perform(instance, ignore_name)
         scenario = Runner::StoryRunner.scenario_from_current_story(@name)
         Runner::ScenarioRunner.new.run(scenario, instance)</diff>
      <filename>rails_plugins/rspec/lib/spec/story/given_scenario.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@ module Spec
         def run_options # :nodoc:
           @run_options ||= ::Spec::Runner::OptionParser.parse(ARGV, $stderr, $stdout)
         end
-        
+
         def story_runner # :nodoc:
           unless @story_runner
             @story_runner = StoryRunner.new(scenario_runner, world_creator)
@@ -23,33 +23,33 @@ module Spec
           end
           @story_runner
         end
-        
+
         def scenario_runner # :nodoc:
           @scenario_runner ||= ScenarioRunner.new
         end
-        
+
         def world_creator # :nodoc:
           @world_creator ||= World
         end
-        
+
         # Use this to register a customer output formatter.
         def register_listener(listener)
           story_runner.add_listener(listener) # run_started, story_started, story_ended, #run_ended
           world_creator.add_listener(listener) # found_scenario, step_succeeded, step_failed, step_failed
           scenario_runner.add_listener(listener) # scenario_started, scenario_succeeded, scenario_pending, scenario_failed
         end
-        
+
         def register_exit_hook # :nodoc:
           at_exit do
             Runner.story_runner.run_stories unless $!
           end
           # TODO exit with non-zero status if run fails
         end
-        
+
         def dry_run
           run_options.dry_run
         end
-        
+
       end
     end
   end</diff>
      <filename>rails_plugins/rspec/lib/spec/story/runner.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ module Spec
         # story file or a block, in which you can define the path using load.
         #
         # == Examples
-        #   
+        #
         #   PlainTextStoryRunner.new('path/to/file')
         #
         #   PlainTextStoryRunner.new do |runner|
@@ -17,26 +17,26 @@ module Spec
           @story_file = args.empty? ? nil : args.shift
           yield self if block_given?
         end
-        
+
         def []=(key, value)
           @options[key] = value
         end
-        
+
         def load(path)
           @story_file = path
         end
-        
+
         def run
           raise &quot;You must set a path to the file with the story. See the RDoc.&quot; if @story_file.nil?
           mediator = Spec::Story::Runner::StoryMediator.new(steps, Spec::Story::Runner.story_runner, @options)
           parser = Spec::Story::Runner::StoryParser.new(mediator)
 
-          story_text = File.read(@story_file)          
+          story_text = File.read(@story_file)
           parser.parse(story_text.split(&quot;\n&quot;))
 
           mediator.run_stories
         end
-        
+
         def steps
           @step_group ||= Spec::Story::StepGroup.new
           yield @step_group if block_given?</diff>
      <filename>rails_plugins/rspec/lib/spec/story/runner/plain_text_story_runner.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,12 +3,12 @@ module Spec
     module Runner
       class ScenarioCollector
         attr_accessor :scenarios
-        
+
         def initialize(story)
           @story = story
           @scenarios = []
         end
-        
+
         def Scenario(name, &amp;body)
           @scenarios &lt;&lt; Scenario.new(@story, name, &amp;body)
         end</diff>
      <filename>rails_plugins/rspec/lib/spec/story/runner/scenario_collector.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,11 @@ module Spec
         def initialize
           @listeners = []
         end
-        
+
         def run(scenario, world)
           @listeners.each { |l| l.scenario_started(scenario.story.title, scenario.name) }
           run_story_ignoring_scenarios(scenario.story, world)
-          
+
           world.start_collecting_errors
           world.instance_eval(&amp;scenario.body)
           if world.errors.empty?
@@ -22,13 +22,13 @@ module Spec
             end
           end
         end
-        
+
         def add_listener(listener)
           @listeners &lt;&lt; listener
         end
-        
+
         private
-        
+
         def run_story_ignoring_scenarios(story, world)
           class &lt;&lt; world
             def Scenario(name, &amp;block)</diff>
      <filename>rails_plugins/rspec/lib/spec/story/runner/scenario_runner.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,48 +9,48 @@
           @runner = runner
           @options = options
         end
-        
+
         def stories
           @stories.collect { |p| p.to_proc }
         end
-        
+
         def create_story(title, narrative)
           @stories &lt;&lt; Story.new(title, narrative, @step_group, @options)
         end
-        
+
         def create_scenario(title)
           current_story.add_scenario Scenario.new(title)
         end
-        
+
         def create_given(name)
           current_scenario.add_step Step.new('Given', name)
         end
-        
+
         def create_given_scenario(name)
           current_scenario.add_step Step.new('GivenScenario', name)
         end
-        
+
         def create_when(name)
           current_scenario.add_step Step.new('When', name)
         end
-        
+
         def create_then(name)
           current_scenario.add_step Step.new('Then', name)
         end
-        
+
         def run_stories
           stories.each { |story| @runner.instance_eval(&amp;story) }
         end
-        
+
         private
         def current_story
           @stories.last
         end
-        
+
         def current_scenario
           current_story.current_scenario
         end
-        
+
         class Story
           def initialize(title, narrative, step_group, options)
             @title = title
@@ -59,7 +59,7 @@
             @step_group = step_group
             @options = options
           end
-          
+
           def to_proc
             title = @title
             narrative = @narrative
@@ -71,22 +71,22 @@
               end
             end
           end
-          
+
           def add_scenario(scenario)
             @scenarios &lt;&lt; scenario
           end
-          
+
           def current_scenario
             @scenarios.last
           end
         end
-        
+
         class Scenario
           def initialize(name)
             @name = name
             @steps = []
           end
-          
+
           def to_proc
             name = @name
             steps = @steps.collect { |step| step.to_proc }
@@ -96,18 +96,18 @@
               end
             end
           end
-          
+
           def add_step(step)
             @steps &lt;&lt; step
           end
         end
-        
+
         class Step
           def initialize(type, name)
             @type = type
             @name = name
           end
-          
+
           def to_proc
             type = @type
             name = @name
@@ -117,7 +117,7 @@
           end
         end
       end
-      
+
     end
   end
 end</diff>
      <filename>rails_plugins/rspec/lib/spec/story/runner/story_mediator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 module Spec
   module Story
     module Runner
-      
+
       class IllegalStepError &lt; StandardError
         def initialize(state, event)
           super(&quot;Illegal attempt to create a #{event} after a #{state}&quot;)
@@ -14,7 +14,7 @@ module Spec
           @current_story_lines = []
           transition_to(:starting_state)
         end
-        
+
         def parse(lines)
           lines.reject! {|line| line == &quot;&quot;}
           until lines.empty?
@@ -22,7 +22,7 @@ module Spec
           end
           @state.eof
         end
-        
+
         def process_line(line)
           line.strip!
           case line
@@ -41,34 +41,34 @@ module Spec
           @current_story_lines.clear
           add_story_line(title)
         end
-        
+
         def add_story_line(line)
           @current_story_lines &lt;&lt; line
         end
-        
+
         def create_story()
           unless @current_story_lines.empty?
             @story_mediator.create_story(@current_story_lines[0].gsub(&quot;Story: &quot;,&quot;&quot;), @current_story_lines[1..-1].join(&quot;\n&quot;))
             @current_story_lines.clear
           end
         end
-        
+
         def create_scenario(title)
           @story_mediator.create_scenario(title.gsub(&quot;Scenario: &quot;,&quot;&quot;))
         end
-        
+
         def create_given(name)
           @story_mediator.create_given(name)
         end
-        
+
         def create_given_scenario(name)
           @story_mediator.create_given_scenario(name)
         end
-        
+
         def create_when(name)
           @story_mediator.create_when(name)
         end
-        
+
         def create_then(name)
           @story_mediator.create_then(name)
         end
@@ -76,7 +76,7 @@ module Spec
         def transition_to(key)
           @state = states[key]
         end
-        
+
         def states
           @states ||= {
             :starting_state =&gt; StartingState.new(self),
@@ -87,12 +87,12 @@ module Spec
             :then_state =&gt; ThenState.new(self)
           }
         end
-        
+
         class State
           def initialize(parser)
             @parser = parser
           end
-          
+
           def story(line)
             @parser.init_story(line)
             @parser.transition_to(:story_state)
@@ -107,17 +107,17 @@ module Spec
             @parser.create_given(remove_tag_from(:given, line))
             @parser.transition_to(:given_state)
           end
-          
+
           def given_scenario(line)
             @parser.create_given_scenario(remove_tag_from(:givenscenario, line))
             @parser.transition_to(:given_state)
           end
-          
+
           def event(line)
             @parser.create_when(remove_tag_from(:when, line))
             @parser.transition_to(:when_state)
           end
-          
+
           def outcome(line)
             @parser.create_then(remove_tag_from(:then, line))
             @parser.transition_to(:then_state)
@@ -126,24 +126,24 @@ module Spec
           def remove_tag_from(tag, line)
             tokens = line.split
             # validation of tag can go here
-            tokens[0].downcase.match(/#{tag.to_s}:?/) ? 
+            tokens[0].downcase.match(/#{tag.to_s}:?/) ?
                                 (tokens[1..-1].join(' ')) : line
           end
 
           def eof
           end
-          
+
           def other(line)
             # no-op - supports header text before the first story in a file
           end
         end
-        
+
         class StartingState &lt; State
           def initialize(parser)
             @parser = parser
           end
         end
-        
+
         class StoryState &lt; State
           def one_more_of_the_same(line)
             other(line)
@@ -153,29 +153,29 @@ module Spec
             @parser.create_story
             @parser.add_story_line(line)
           end
-          
+
           def scenario(line)
             @parser.create_story
             @parser.create_scenario(line)
             @parser.transition_to(:scenario_state)
           end
-          
+
           def given(line)
             other(line)
           end
-          
+
           def event(line)
             other(line)
           end
-          
+
           def outcome(line)
             other(line)
           end
-          
+
           def other(line)
             @parser.add_story_line(line)
           end
-          
+
           def eof
             @parser.create_story
           end
@@ -190,17 +190,17 @@ module Spec
             @parser.create_scenario(line)
           end
         end
-        
+
         class GivenState &lt; State
           def one_more_of_the_same(line)
             @parser.create_given(remove_tag_from(:and, line))
           end
-          
+
           def given(line)
             @parser.create_given(remove_tag_from(:given, line))
           end
         end
-        
+
         class WhenState &lt; State
           def one_more_of_the_same(line)
             @parser.create_when(remove_tag_from(:and ,line))</diff>
      <filename>rails_plugins/rspec/lib/spec/story/runner/story_parser.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,14 +4,14 @@ module Spec
       class StoryRunner
         class &lt;&lt; self
           attr_accessor :current_story_runner
-          
+
           def scenario_from_current_story(scenario_name)
             current_story_runner.scenario_from_current_story(scenario_name)
           end
         end
-        
+
         attr_accessor :stories, :scenarios, :current_story
-        
+
         def initialize(scenario_runner, world_creator = World)
           StoryRunner.current_story_runner = self
           @scenario_runner = scenario_runner
@@ -21,18 +21,18 @@ module Spec
           @scenarios = []
           @listeners = []
         end
-        
+
         def Story(title, narrative, params = {}, &amp;body)
           story = Story.new(title, narrative, params, &amp;body)
           @stories &lt;&lt; story
-          
+
           # collect scenarios
           collector = ScenarioCollector.new(story)
           story.run_in(collector)
           @scenarios += collector.scenarios
           @scenarios_by_story[story.title] = collector.scenarios
         end
-        
+
         def run_stories
           return if @stories.empty?
           @listeners.each { |l| l.run_started(scenarios.size) }
@@ -54,11 +54,11 @@ module Spec
           @listeners.each { |l| l.collected_steps(unique_steps) }
           @listeners.each { |l| l.run_ended }
         end
-        
+
         def add_listener(listener)
           @listeners &lt;&lt; listener
         end
-        
+
         def scenario_from_current_story(scenario_name)
           @scenarios_by_story[@current_story.title].find {|s| s.name == scenario_name }
         end</diff>
      <filename>rails_plugins/rspec/lib/spec/story/runner/story_runner.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ module Spec
   module Story
     class Scenario
       attr_accessor :name, :body, :story
-      
+
       def initialize(story, name, &amp;body)
         @story = story
         @name = name</diff>
      <filename>rails_plugins/rspec/lib/spec/story/scenario.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ module Spec
     class Step
       PARAM_PATTERN = /(\$\w*)/
       PARAM_OR_GROUP_PATTERN = /(\$\w*)|\(.*?\)/
-      
+
       attr_reader :name
       def initialize(name, &amp;block)
         @name = name
@@ -22,23 +22,23 @@ module Spec
           define_method(sanitized_name, &amp;block)
         end
       end
-      
+
       def sanitize(a_string_or_regexp)
         return a_string_or_regexp.source if Regexp == a_string_or_regexp
         a_string_or_regexp.to_s
       end
-      
+
 
       def matches?(name)
         !(matches = name.match(@expression)).nil?
       end
-            
+
       def parse_args(name)
         name.match(@expression)[1..-1]
       end
 
       private
-      
+
         def assign_expression(string_or_regexp)
           if String === string_or_regexp
             expression = string_or_regexp.dup</diff>
      <filename>rails_plugins/rspec/lib/spec/story/step.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,7 +15,7 @@ module Spec
         @step_group.instance_eval(&amp;block) if block
         @step_group
       end
-      
+
       def initialize(init_defaults=true, &amp;block)
         @hash_of_lists_of_steps = Hash.new {|h, k| h[k] = []}
         if init_defaults
@@ -23,7 +23,7 @@ module Spec
         end
         instance_eval(&amp;block) if block
       end
-      
+
       def find(type, name)
         @hash_of_lists_of_steps[type].each do |step|
           return step if step.matches?(name)
@@ -34,15 +34,15 @@ module Spec
       def GivenScenario(name, &amp;block)
         create_matcher(:given_scenario, name, &amp;block)
       end
-      
+
       def Given(name, &amp;block)
         create_matcher(:given, name, &amp;block)
       end
-      
+
       def When(name, &amp;block)
         create_matcher(:when, name, &amp;block)
       end
-      
+
       def Then(name, &amp;block)
         create_matcher(:then, name, &amp;block)
       end
@@ -51,39 +51,39 @@ module Spec
       alias :given :Given
       alias :when :When
       alias :then :Then
-      
+
       def add(type, steps)
         (@hash_of_lists_of_steps[type] &lt;&lt; steps).flatten!
       end
-      
+
       def clear
         @hash_of_lists_of_steps.clear
       end
-      
+
       def empty?
         [:given_scenario, :given, :when, :then].each do |type|
           return false unless @hash_of_lists_of_steps[type].empty?
         end
         return true
       end
-      
+
       def add_to(other_step_matchers)
         [:given_scenario, :given, :when, :then].each do |type|
           other_step_matchers.add(type, @hash_of_lists_of_steps[type])
         end
       end
-      
+
       def &lt;&lt;(other_step_matchers)
         other_step_matchers.add_to(self) if other_step_matchers.respond_to?(:add_to)
       end
-      
+
       # TODO - make me private
       def create_matcher(type, name, &amp;block)
         matcher = Step.new(name, &amp;block)
         @hash_of_lists_of_steps[type] &lt;&lt; matcher
         matcher
       end
-      
+
     end
   end
 end</diff>
      <filename>rails_plugins/rspec/lib/spec/story/step_group.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,15 +4,15 @@ module Spec
       def initialize
         @steps = StepGroup.new
       end
-      
+
       def use(new_step_group)
         @steps &lt;&lt; new_step_group
       end
-      
+
       def store(type, step)
         @steps.add(type, step)
       end
-      
+
       def find(type, name)
         if @steps.find(type, name).nil?
           @steps.add(type,
@@ -23,15 +23,15 @@ module Spec
         end
         @steps.find(type, name)
       end
-      
+
       def clear
         @steps.clear
       end
-      
+
       def empty?
         @steps.empty?
       end
-      
+
     end
   end
 end</diff>
      <filename>rails_plugins/rspec/lib/spec/story/step_mother.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,22 +2,22 @@ module Spec
   module Story
     class Story
       attr_reader :title, :narrative
-      
+
       def initialize(title, narrative, params = {}, &amp;body)
         @body = body
         @title = title
         @narrative = narrative
         @params = params
       end
-      
+
       def [](key)
         @params[key]
       end
-      
+
       def run_in(obj)
         obj.instance_eval(&amp;@body)
       end
-      
+
       def assign_steps_to(assignee)
         if @params[:steps]
           assignee.use(@params[:steps])
@@ -33,7 +33,7 @@ module Spec
           end
         end
       end
-      
+
       def steps_for(key)
         $rspec_story_steps[key]
       end</diff>
      <filename>rails_plugins/rspec/lib/spec/story/story.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,7 +7,7 @@ module Spec
   module Story
 =begin
   A World represents the actual instance a scenario will run in.
-  
+
   The runner ensures any instance variables and methods defined anywhere
   in a story block are available to all the scenarios. This includes
   variables that are created or referenced inside Given, When and Then
@@ -23,23 +23,23 @@ module Spec
         def create(cls = Object, *args)
           cls.new(*args).extend(World)
         end
-        
+
         def listeners
           @listeners ||= []
         end
-        
+
         def add_listener(listener)
           listeners() &lt;&lt; listener
         end
-        
+
         def step_mother
           @step_mother ||= StepMother.new
         end
-                
+
         def use(steps)
           step_mother.use(steps)
         end
-        
+
         def step_names
           @step_names ||= []
         end
@@ -54,7 +54,7 @@ module Spec
             @listeners.replace(current_listeners)
           end
         end
-        
+
         def store_and_call(world, type, name, *args, &amp;block)
           if block_given?
             step_mother.store(type, Step.new(name, &amp;block))
@@ -63,7 +63,7 @@ module Spec
 
           step_name = step.name
           step_names &lt;&lt; step_name
-          
+
           # It's important to have access to the parsed args here, so
           # we can give them to the listeners. The HTML reporter needs
           # the args so it can style them. See the generated output in
@@ -83,40 +83,40 @@ module Spec
             errors &lt;&lt; e
           end
         end
-        
+
         def errors
           @errors ||= []
         end
       end # end of class &lt;&lt; self
-      
+
       def start_collecting_errors
         errors.clear
       end
-      
+
       def errors
         World.errors
       end
-      
+
       def GivenScenario(name)
         World.run_given_scenario_with_suspended_listeners(self, :'given scenario', name, GivenScenario.new(name))
         @__previous_step = :given
       end
-      
+
       def Given(name, *args, &amp;block)
         World.store_and_call self, :given, name, *args, &amp;block
         @__previous_step = :given
       end
-      
+
       def When(name, *args, &amp;block)
         World.store_and_call self, :when, name, *args, &amp;block
         @__previous_step = :when
       end
-      
+
       def Then(name, *args, &amp;block)
         World.store_and_call self, :then, name, *args, &amp;block
         @__previous_step = :then
       end
-      
+
       def And(name, *args, &amp;block)
         World.store_and_call self, @__previous_step, name, *args, &amp;block
       end</diff>
      <filename>rails_plugins/rspec/lib/spec/story/world.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,7 +11,7 @@ module Spec
         translate_file(from, to)
       end
     end
-    
+
     def translate_dir(from, to)
       FileUtils.mkdir_p(to) unless File.directory?(to)
       Dir[&quot;#{from}/*&quot;].each do |sub_from|
@@ -43,35 +43,35 @@ module Spec
       line.gsub!(/:string/, 'an_instance_of(String)')
 
       return line if line =~ /(should_not|should)_receive/
-      
+
       line.gsub!(/(^\s*)context([\s*|\(]['|&quot;|A-Z])/, '\1describe\2')
       line.gsub!(/(^\s*)specify([\s*|\(]['|&quot;|A-Z])/, '\1it\2')
       line.gsub!(/(^\s*)context_setup(\s*[do|\{])/, '\1before(:all)\2')
       line.gsub!(/(^\s*)context_teardown(\s*[do|\{])/, '\1after(:all)\2')
       line.gsub!(/(^\s*)setup(\s*[do|\{])/, '\1before(:each)\2')
       line.gsub!(/(^\s*)teardown(\s*[do|\{])/, '\1after(:each)\2')
-      
+
       if line =~ /(.*\.)(should_not|should)(?:_be)(?!_)(.*)/m
         pre = $1
         should = $2
         post = $3
         be_or_equal = post =~ /(&lt;|&gt;)/ ? &quot;be&quot; : &quot;equal&quot;
-        
+
         return &quot;#{pre}#{should} #{be_or_equal}#{post}&quot;
       end
-      
+
       if line =~ /(.*\.)(should_not|should)_(?!not)\s*(.*)/m
         pre = $1
         should = $2
         post = $3
-        
+
         post.gsub!(/^raise/, 'raise_error')
         post.gsub!(/^throw/, 'throw_symbol')
-        
+
         unless standard_matcher?(post)
           post = &quot;be_#{post}&quot;
         end
-        
+
         # Add parenthesis
         post.gsub!(/^(\w+)\s+([\w|\.|\,|\(.*\)|\'|\&quot;|\:|@| ]+)(\})/, '\1(\2)\3') # inside a block
         post.gsub!(/^(redirect_to)\s+(.*)/, '\1(\2)') # redirect_to, which often has http:
@@ -84,22 +84,22 @@ module Spec
 
       line
     end
-    
+
     def standard_matcher?(matcher)
       patterns = [
-        /^be/, 
+        /^be/,
         /^be_close/,
-        /^eql/, 
-        /^equal/, 
-        /^has/, 
-        /^have/, 
-        /^change/, 
+        /^eql/,
+        /^equal/,
+        /^has/,
+        /^have/,
+        /^change/,
         /^include/,
-        /^match/, 
-        /^raise_error/, 
-        /^respond_to/, 
-        /^redirect_to/, 
-        /^satisfy/, 
+        /^match/,
+        /^raise_error/,
+        /^respond_to/,
+        /^redirect_to/,
+        /^satisfy/,
         /^throw_symbol/,
         # Extra ones that we use in spec_helper
         /^pass/,
@@ -109,6 +109,6 @@ module Spec
       matched = patterns.detect{ |p| matcher =~ p }
       !matched.nil?
     end
-    
+
   end
 end</diff>
      <filename>rails_plugins/rspec/lib/spec/translator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,8 +13,8 @@ module Spec
       FULL_VERSION = &quot;#{[MAJOR, MINOR, TINY, RELEASE_CANDIDATE].compact.join('.')} (build #{BUILD_TIME_UTC})&quot;
 
       NAME   = &quot;RSpec&quot;
-      URL    = &quot;http://rspec.rubyforge.org/&quot;  
-    
+      URL    = &quot;http://rspec.rubyforge.org/&quot;
+
       DESCRIPTION = &quot;#{NAME}-#{FULL_VERSION} - BDD for Ruby\n#{URL}&quot;
     end
   end</diff>
      <filename>rails_plugins/rspec/lib/spec/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -42,7 +42,7 @@ class PreCommit
   def root_dir
     dir = File.dirname(__FILE__)
     File.expand_path(&quot;#{dir}/../../../..&quot;)
-  end  
+  end
 
   def method_missing(method_name, *args, &amp;block)
     if actor.respond_to?(method_name)</diff>
      <filename>rails_plugins/rspec/pre_commit/lib/pre_commit/pre_commit.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,7 @@ class PreCommit::Rspec &lt; PreCommit
     pre_commit_rails
     ok_to_commit
   end
-  
+
   def check_for_gem_dependencies
     require &quot;rubygems&quot;
     gem 'rake'
@@ -39,7 +39,7 @@ class PreCommit::Rspec &lt; PreCommit
       end
     end
   end
-  
+
   # TODO - move me up to the project root
   def touch_revision_storing_files
     files = [
@@ -56,13 +56,13 @@ class PreCommit::Rspec &lt; PreCommit
       end
     end
   end
-  
+
   def pre_commit_core
     Dir.chdir 'rspec' do
       rake = (PLATFORM == &quot;i386-mswin32&quot;) ? &quot;rake.bat&quot; : &quot;rake&quot;
       system(&quot;#{rake} pre_commit --verbose --trace&quot;)
       raise &quot;RSpec Core pre_commit failed&quot; if error_code?
-    end    
+    end
   end
 
   def pre_commit_textmate_bundle
@@ -70,7 +70,7 @@ class PreCommit::Rspec &lt; PreCommit
       rake = (PLATFORM == &quot;i386-mswin32&quot;) ? &quot;rake.bat&quot; : &quot;rake&quot;
       system(&quot;#{rake} spec --verbose --trace&quot;)
       raise &quot;RSpec Textmate Bundle specs failed&quot; if error_code?
-    end    
+    end
   end
 
   def install_dependencies
@@ -104,7 +104,7 @@ class PreCommit::Rspec &lt; PreCommit
       end
     end
   end
-  
+
   def ok_to_commit
     puts &quot;OK TO COMMIT&quot;
   end</diff>
      <filename>rails_plugins/rspec/pre_commit/lib/pre_commit/rspec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -42,7 +42,7 @@ class PreCommit::RspecOnRails &lt; PreCommit
 
     rake_sh &quot;spec&quot;
     rake_sh &quot;spec:plugins:rspec_on_rails&quot;
-    
+
     # TODO - why is this necessary? Shouldn't the specs leave
     # a clean DB?
     rake_sh &quot;db:test:prepare&quot;
@@ -91,12 +91,12 @@ class PreCommit::RspecOnRails &lt; PreCommit
     rm_rf 'spec/spec.opts'
     rm_rf 'spec/rcov.opts'
   end
-  
+
   def copy(source, target)
     output = silent_sh(&quot;cp -R #{File.expand_path(source)} #{File.expand_path(target)}&quot;)
     raise &quot;Error installing rspec&quot; if shell_error?(output)
   end
-  
+
   def generate_rspec
     result = silent_sh(&quot;ruby script/generate rspec --force&quot;)
     if error_code? || result =~ /^Missing/
@@ -158,7 +158,7 @@ class PreCommit::RspecOnRails &lt; PreCommit
       raise &quot;rspec_scaffold failed. #{result}&quot;
     end
   end
-  
+
   def purchase_migration_version
     &quot;005&quot;
   end
@@ -205,7 +205,7 @@ class PreCommit::RspecOnRails &lt; PreCommit
     end
     puts &quot;#####################################################&quot;
   end
-  
+
   def generate_login_controller
     generator = &quot;ruby script/generate rspec_controller login signup login logout --force&quot;
     notice = &lt;&lt;-EOF
@@ -269,7 +269,7 @@ class PreCommit::RspecOnRails &lt; PreCommit
       end
     end
   end
-  
+
   def update_dependencies
     check_dependencies
     VENDOR_DEPS.each do |dep|</diff>
      <filename>rails_plugins/rspec/pre_commit/lib/pre_commit/rspec_on_rails.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 require File.dirname(__FILE__) + '/../spec_helper.rb'
 
 ##
-# This is not a complete specification of PreCommit, but 
+# This is not a complete specification of PreCommit, but
 # just a collection of bug fix regression tests.
 describe &quot;The helper method PreCommit#silent_sh&quot; do
   before do</diff>
      <filename>rails_plugins/rspec/pre_commit/spec/pre_commit/pre_commit_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ require 'fileutils'
 include FileUtils
 
 ##
-# This is not a complete specification of PreCommit.RSpecOnRails, but 
+# This is not a complete specification of PreCommit.RSpecOnRails, but
 # just a collection of bug fix regression tests.
 describe &quot;RSpecOnRails pre_commit&quot; do
   before do</diff>
      <filename>rails_plugins/rspec/pre_commit/spec/pre_commit/rspec_on_rails_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
   PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
@@ -252,8 +252,8 @@ a {
   &lt;dl&gt;
   &lt;dt id=&quot;example_group_9&quot;&gt;Autotest::Rspec handling failed results&lt;/dt&gt;
     &lt;script type=&quot;text/javascript&quot;&gt;moveProgressBar('1.2');&lt;/script&gt;
-    &lt;dd class=&quot;spec passed&quot;&gt;&lt;span class=&quot;passed_spec_name&quot;&gt;should scan the output into a multi-dimensional array, 
-        consisting of the failing spec's name as the first element, 
+    &lt;dd class=&quot;spec passed&quot;&gt;&lt;span class=&quot;passed_spec_name&quot;&gt;should scan the output into a multi-dimensional array,
+        consisting of the failing spec's name as the first element,
         and the failure as the second&lt;/span&gt;&lt;/dd&gt;
   &lt;/dl&gt;
 &lt;/div&gt;</diff>
      <filename>rails_plugins/rspec/report.html</filename>
    </modified>
    <modified>
      <diff>@@ -10,10 +10,10 @@ end
 class Autotest
   describe Rspec, &quot;discovery&quot; do
     include DiscoveryHelper
-    
+
     it &quot;should add the rspec autotest plugin&quot; do
       Autotest.should_receive(:add_discovery).and_yield
       load_discovery
     end
-  end  
+  end
 end</diff>
      <filename>rails_plugins/rspec/spec/autotest/discover_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 require File.dirname(__FILE__) + &quot;/../autotest_helper&quot;
 
 class Autotest
-  
+
   module AutotestHelper
     def rspec_output
       &lt;&lt;-HERE
@@ -22,8 +22,8 @@ Autotest::Rspec handling failed results should return an array of failed example
 Autotest::Rspec tests/specs for a given file should find all the specs for a given file (TODO)
 HERE
     end
-    
-    
+
+
     def common_setup
       @proc = mock Proc
       @kernel = mock Kernel
@@ -45,15 +45,15 @@ HERE
       ]
     end
   end
-  
+
   describe Rspec, &quot;selection of rspec command&quot; do
     include AutotestHelper
-    
+
     before :each do
       common_setup
       @rspec_autotest = Rspec.new
     end
-    
+
     it &quot;should try to find the spec command if it exists in ./bin and use it above everything else&quot; do
       File.stub!(:exists?).and_return true
 
@@ -69,31 +69,31 @@ HERE
 
       @rspec_autotest.spec_command.should == &quot;/foo/spec&quot;
     end
-    
+
     it &quot;should raise an error if no spec command is found at all&quot; do
       File.stub!(:exists?).and_return false
-      
+
       lambda {
         @rspec_autotest.spec_command
       }.should raise_error(RspecCommandError, &quot;No spec command could be found!&quot;)
     end
-    
+
   end
-  
+
   describe Rspec, &quot;selection of rspec command (windows compatibility issues)&quot; do
     include AutotestHelper
-    
+
     before :each do
       common_setup
     end
-    
+
     it &quot;should use the ALT_SEPARATOR if it is non-nil&quot; do
       @rspec_autotest = Rspec.new
       spec_command = File.expand_path(&quot;#{File.dirname(__FILE__)}/../../bin/spec&quot;)
       @rspec_autotest.stub!(:spec_commands).and_return [spec_command]
       @rspec_autotest.spec_command(@windows_alt_separator).should == spec_command.gsub('/', @windows_alt_separator)
     end
-    
+
     it &quot;should not use the ALT_SEPATOR if it is nil&quot; do
       @windows_alt_separator = nil
       @rspec_autotest = Rspec.new
@@ -103,7 +103,7 @@ HERE
     end
   end
 
-  describe Rspec, &quot;adding spec.opts --options&quot; do 
+  describe Rspec, &quot;adding spec.opts --options&quot; do
     before :each do
       @rspec_autotest = Rspec.new
     end
@@ -117,14 +117,14 @@ HERE
       File.stub!(:exist?).and_return false
       Rspec.new.add_options_if_present.should == &quot;&quot;
     end
-  end  
-  
+  end
+
   describe Rspec do
     before :each do
       @rspec_autotest = Rspec.new
       @rspec_autotest.stub!(:ruby).and_return &quot;ruby&quot;
       @rspec_autotest.stub!(:add_options_if_present).and_return &quot;-O spec/spec.opts&quot;
-      
+
       @ruby = @rspec_autotest.ruby
       @spec_command = @rspec_autotest.spec_command
       @options = @rspec_autotest.add_options_if_present
@@ -136,60 +136,60 @@ HERE
       @files_to_test.stub!(:keys).and_return @files_to_test[:spec]
       @to_test = @files_to_test.keys.flatten.join ' '
     end
-    
+
     it &quot;should make the apropriate test command&quot; do
       @rspec_autotest.make_test_cmd(@files_to_test).should == &quot;#{@ruby} -S #{@spec_command} #{@options} #{@to_test}&quot;
     end
   end
-  
+
   describe Rspec, &quot;mappings&quot; do
-    
+
     before(:each) do
       @lib_file = &quot;lib/something.rb&quot;
       @spec_file = &quot;spec/something_spec.rb&quot;
       @rspec_autotest = Rspec.new
       @rspec_autotest.hook :initialize
     end
-    
+
     it &quot;should find the spec file for a given lib file&quot; do
       @rspec_autotest.should map_specs([@spec_file]).to(@lib_file)
     end
-    
+
     it &quot;should find the spec file if given a spec file&quot; do
       @rspec_autotest.should map_specs([@spec_file]).to(@spec_file)
     end
-    
+
     it &quot;should only find the file if the file is being tracked (in @file)&quot;  do
       @rspec_autotest.should map_specs([]).to(&quot;lib/untracked_file&quot;)
     end
   end
-  
+
   describe Rspec, &quot;consolidating failures&quot; do
     include AutotestHelper
-    
+
     before :each do
       common_setup
       @rspec_autotest = Rspec.new
-      
+
       @spec_file = &quot;./spec/autotest/rspec_spec.rb&quot;
       @rspec_autotest.instance_variable_set(&quot;@files&quot;, {@spec_file =&gt; Time.now})
       @rspec_autotest.stub!(:find_files_to_test).and_return true
     end
-    
+
     it &quot;should return no failures if no failures were given in the output&quot; do
       @rspec_autotest.consolidate_failures([[]]).should == {}
     end
-    
+
     it &quot;should return a hash with the spec filename =&gt; spec name for each failure or error&quot; do
       @rspec_autotest.stub!(:test_files_for).and_return &quot;./spec/autotest/rspec_spec.rb&quot;
       foo = [
         [
-          &quot;false should be false&quot;, 
+          &quot;false should be false&quot;,
           &quot;expected: true,\n     got: false (using ==)\n./spec/autotest/rspec_spec.rb:203:&quot;
         ]
       ]
       @rspec_autotest.consolidate_failures(foo).should == {@spec_file =&gt; [&quot;false should be false&quot;]}
     end
-    
+
   end
 end</diff>
      <filename>rails_plugins/rspec/spec/autotest/rspec_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,29 +4,29 @@ module Spec
       def initialize(specs)
         @specs = specs
       end
-  
+
       def to(file)
         @file = file
         self
       end
-  
+
       def matches?(autotest)
         @autotest = prepare autotest
         @actual = autotest.test_files_for(@file)
         @actual == @specs
       end
-  
+
       def failure_message
         &quot;expected #{@autotest.class} to map #{@specs.inspect} to #{@file.inspect}\ngot #{@actual.inspect}&quot;
       end
-  
+
       private
       def prepare autotest
         stub_found_files autotest
         stub_find_order autotest
         autotest
       end
-  
+
       def stub_found_files autotest
         found_files = @specs.inject({}){|h,f| h[f] = Time.at(0)}
         autotest.stub!(:find_files).and_return(found_files)
@@ -38,10 +38,10 @@ module Spec
       end
 
     end
-    
+
     def map_specs(specs)
       AutotestMappingMatcher.new(specs)
     end
-    
+
   end
 end
\ No newline at end of file</diff>
      <filename>rails_plugins/rspec/spec/autotest_matchers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,13 +2,13 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
 
 module Spec
   module Example
-    
+
     describe Configuration do
       before(:each) do
         @config = Configuration.new
         @example_group = mock(&quot;example_group&quot;)
       end
-      
+
       describe &quot;#mock_with&quot; do
 
         it &quot;should default mock framework to rspec&quot; do
@@ -86,11 +86,11 @@ module Spec
         end
 
       end
-    
+
     end
 
     describe Configuration do
-      
+
       before(:each) do
         @config = Configuration.new
         @special_example_group = Class.new(ExampleGroup)
@@ -136,7 +136,7 @@ module Spec
           end
           @example_group.it &quot;calls prepend_before&quot; do
           end
-        
+
           @example_group.run
           order.should == [
             :prepend__before_all,</diff>
      <filename>rails_plugins/rspec/spec/spec/example/configuration_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -29,7 +29,7 @@ module Spec
         ExampleGroupFactory.get(@example_group).should == @example_group
       end
 
-    end    
+    end
 
     describe ExampleGroupFactory, &quot;#create_example_group&quot; do
       it &quot;should create a uniquely named class&quot; do
@@ -66,7 +66,7 @@ module Spec
         ) {}
         example_group.superclass.should == klass
       end
-      
+
       it &quot;should create a type indicated by :spec_path&quot; do
         klass = Class.new(ExampleGroup) do
           def initialize(*args, &amp;block); end
@@ -77,7 +77,7 @@ module Spec
         ) {}
         example_group.superclass.should == klass
       end
-      
+
       it &quot;should create a type indicated by :spec_path (with spec_path generated by caller on windows)&quot; do
         klass = Class.new(ExampleGroup) do
           def initialize(*args, &amp;block); end
@@ -88,7 +88,7 @@ module Spec
         ) {}
         example_group.superclass.should == klass
       end
-      
+
       it &quot;should create and register a Spec::Example::Example if :shared =&gt; true&quot; do
         shared_example_group = Spec::Example::ExampleGroupFactory.create_example_group(
           &quot;name&quot;, :spec_path =&gt; '/blah/spec/models/blah.rb', :type =&gt; :controller, :shared =&gt; true
@@ -120,7 +120,7 @@ module Spec
         end
         rspec_options.example_groups.should_not include(example_group)
       end
-      
+
       after(:each) do
         Spec::Example::ExampleGroupFactory.reset
       end</diff>
      <filename>rails_plugins/rspec/spec/spec/example/example_group_factory_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -320,12 +320,12 @@ module Spec
           end
           child_example_group.description.should == &quot;ExampleGroup.foobar Does something&quot;
         end
-        
+
         it &quot;should return the class name if nil&quot; do
           example_group.set_description(nil)
           example_group.description.should =~ /Class:/
         end
-        
+
         it &quot;should return the class name if nil&quot; do
           example_group.set_description(&quot;&quot;)
           example_group.description.should =~ /Class:/
@@ -461,7 +461,7 @@ module Spec
         it &quot;should add ExampleGroup to set of ExampleGroups to be run&quot; do
           options.example_groups.delete(example_group)
           options.example_groups.should_not include(example_group)
-          
+
           example_group.register {}
           options.example_groups.should include(example_group)
         end</diff>
      <filename>rails_plugins/rspec/spec/spec/example/example_group_methods_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -97,7 +97,7 @@ module Spec
         reporter.should_not_receive(:add_example_group)
         example_group.run
       end
-      
+
       describe &quot;when before_each fails&quot; do
         before(:each) do
           $example_ran = $after_each_ran = false
@@ -116,7 +116,7 @@ module Spec
           example_group.run
           $example_ran.should be_false
         end
-        
+
         it &quot;should run after_each&quot; do
           example_group.run
           $after_each_ran.should be_true</diff>
      <filename>rails_plugins/rspec/spec/spec/example/example_group_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,15 +7,15 @@ module Spec
         def initialize(description)
           @description = description
         end
-        
+
         def matches?(matcher)
           matcher.matches?(@description)
         end
-        
+
         def failure_message
           &quot;expected matcher.matches?(#{@description.inspect}) to return true, got false&quot;
         end
-        
+
         def negative_failure_message
           &quot;expected matcher.matches?(#{@description.inspect}) to return false, got true&quot;
         end
@@ -27,22 +27,22 @@ module Spec
 
     describe ExampleMatcher, &quot;#matches?&quot; do
       include ExampleMatcherSpecHelper
-      
+
       it &quot;should match correct example_group and example&quot; do
         matcher = ExampleMatcher.new(&quot;example_group&quot;, &quot;example&quot;)
         matcher.should match_description(&quot;example_group example&quot;)
       end
-      
+
       it &quot;should not match wrong example&quot; do
         matcher = ExampleMatcher.new(&quot;example_group&quot;, &quot;other example&quot;)
         matcher.should_not match_description(&quot;example_group example&quot;)
       end
-      
+
       it &quot;should not match wrong example_group&quot; do
         matcher = ExampleMatcher.new(&quot;other example_group&quot;, &quot;example&quot;)
         matcher.should_not match_description(&quot;example_group example&quot;)
       end
-      
+
       it &quot;should match example only&quot; do
         matcher = ExampleMatcher.new(&quot;example_group&quot;, &quot;example&quot;)
         matcher.should match_description(&quot;example&quot;)
@@ -57,16 +57,16 @@ module Spec
         matcher = ExampleMatcher.new(&quot;example_group&quot;, &quot;example&quot;)
         matcher.should match_description(&quot;example_group before(:all)&quot;)
       end
-      
+
       it &quot;should escape regexp chars&quot; do
         matcher = ExampleMatcher.new(&quot;(con|text)&quot;, &quot;[example]&quot;)
         matcher.should_not match_description(&quot;con p&quot;)
       end
-      
+
       it &quot;should match when example_group is modularized&quot; do
         matcher = ExampleMatcher.new(&quot;MyModule::MyClass&quot;, &quot;example&quot;)
         matcher.should match_description(&quot;MyClass example&quot;)
-      end      
+      end
     end
 
     describe ExampleMatcher, &quot;#matches? normal case&quot; do</diff>
      <filename>rails_plugins/rspec/spec/spec/example/example_matcher_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@ module Spec
     #       describe(&quot;Some Examples&quot;)
     #     end
     #   end
-    # 
+    #
     #   def create_runner(example_definition)
     #     example = @example_group_class.new(example_definition)
     #     runner = ExampleGroup.new(@options, example)
@@ -21,43 +21,43 @@ module Spec
     #     runner
     #   end
     # end
-    # 
+    #
     # describe ExampleRunner, &quot;#run with blank passing example&quot; do
     #   it_should_behave_like &quot;Spec::Example::ExampleRunner#run&quot;
-    # 
+    #
     #   before do
     #     @e = @example_group_class.it(&quot;example&quot;) {}
     #     @runner = create_runner(@e)
     #   end
-    #   
+    #
     #   it &quot;should send reporter example_started&quot; do
     #     @reporter.should_receive(:example_started).with(equal(@e))
     #     @runner.run
     #   end
-    # 
+    #
     #   it &quot;should report its name for dry run&quot; do
     #     @options.dry_run = true
     #     @reporter.should_receive(:example_finished).with(equal(@e), nil)
     #     @runner.run
     #   end
-    # 
+    #
     #   it &quot;should report success&quot; do
     #     @reporter.should_receive(:example_finished).with(equal(@e), nil)
     #     @runner.run
     #   end
     # end
-    # 
+    #
     # describe ExampleRunner, &quot;#run with a failing example&quot; do
     #   predicate_matchers[:is_a] = [:is_a?]
     #   it_should_behave_like &quot;Spec::Example::ExampleRunner#run&quot;
-    # 
+    #
     #   before do
     #     @e = @example_group_class.it(&quot;example&quot;) do
     #       (2+2).should == 5
     #     end
     #     @runner = create_runner(@e)
     #   end
-    # 
+    #
     #   it &quot;should report failure due to failure&quot; do
     #     @reporter.should_receive(:example_finished).with(
     #       equal(@e),
@@ -66,10 +66,10 @@ module Spec
     #     @runner.run
     #   end
     # end
-    # 
+    #
     # describe ExampleRunner, &quot;#run with a erroring example&quot; do
     #   it_should_behave_like &quot;Spec::Example::ExampleRunner#run&quot;
-    # 
+    #
     #   before do
     #     @error = error = NonStandardError.new(&quot;in body&quot;)
     #     @example_definition = @example_group_class.it(&quot;example&quot;) do
@@ -77,7 +77,7 @@ module Spec
     #     end
     #     @runner = create_runner(@example_definition)
     #   end
-    # 
+    #
     #   it &quot;should report failure due to error&quot; do
     #     @reporter.should_receive(:example_finished).with(
     #       equal(@example_definition),
@@ -85,7 +85,7 @@ module Spec
     #     )
     #     @runner.run
     #   end
-    # 
+    #
     #   it &quot;should run after_each block&quot; do
     #     @example_group_class.after(:each) do
     #       raise(&quot;in after_each&quot;)
@@ -95,12 +95,12 @@ module Spec
     #       error.message.should eql(&quot;in body&quot;)
     #     end
     #     @runner.run
-    #   end      
+    #   end
     # end
-    # 
+    #
     # describe ExampleRunner, &quot;#run where after_each fails&quot; do
     #   it_should_behave_like &quot;Spec::Example::ExampleRunner#run&quot;
-    # 
+    #
     #   before do
     #     @example_ran = example_ran = false
     #     @example_definition = @example_group_class.it(&quot;should not run&quot;) do
@@ -109,7 +109,7 @@ module Spec
     #     @runner = create_runner(@example_definition)
     #     @example_group_class.after(:each) { raise(NonStandardError.new(&quot;in after_each&quot;)) }
     #   end
-    # 
+    #
     #   it &quot;should report failure location when in after_each&quot; do
     #     @reporter.should_receive(:example_finished) do |example_definition, error|
     #       example_definition.should equal(@example_definition)
@@ -118,37 +118,37 @@ module Spec
     #     @runner.run
     #   end
     # end
-    # 
+    #
     # describe ExampleRunner, &quot;#run with use cases&quot; do
     #   predicate_matchers[:is_a] = [:is_a?]
     #   it_should_behave_like &quot;Spec::Example::ExampleRunner#run&quot;
-    # 
+    #
     #   it &quot;should report NO NAME when told to use generated description with --dry-run&quot; do
     #     @options.dry_run = true
     #     example_definition = @example_group_class.it() do
     #       5.should == 5
     #     end
     #     runner = create_runner(example_definition)
-    # 
+    #
     #     @reporter.should_receive(:example_finished) do |example_definition, error|
     #       example_definition.description.should == &quot;NO NAME (Because of --dry-run)&quot;
     #      end
     #     runner.run
     #   end
-    # 
+    #
     #   it &quot;should report given name if present with --dry-run&quot; do
     #     @options.dry_run = true
     #     example_definition = @example_group_class.it(&quot;example name&quot;) do
     #       5.should == 5
     #     end
     #     runner = create_runner(example_definition)
-    # 
+    #
     #     @reporter.should_receive(:example_finished) do |example_definition, error|
     #       example_definition.description.should == &quot;example name&quot;
     #      end
     #     runner.run
     #   end
-    # 
+    #
     #   it &quot;should report NO NAME when told to use generated description with no expectations&quot; do
     #     example_definition = @example_group_class.it() {}
     #     runner = create_runner(example_definition)
@@ -157,35 +157,35 @@ module Spec
     #     end
     #     runner.run
     #   end
-    # 
+    #
     #   it &quot;should report NO NAME when told to use generated description and matcher fails&quot; do
     #     example_definition = @example_group_class.it() do
     #       5.should &quot;&quot; # Has no matches? method..
     #     end
     #     runner = create_runner(example_definition)
-    # 
+    #
     #     @reporter.should_receive(:example_finished) do |example, error|
     #       example_definition.description.should == &quot;NO NAME (Because of Error raised in matcher)&quot;
     #     end
     #     runner.run
     #   end
-    # 
+    #
     #   it &quot;should report generated description when told to and it is available&quot; do
     #     example_definition = @example_group_class.it() {
     #       5.should == 5
     #     }
     #     runner = create_runner(example_definition)
-    #     
+    #
     #     @reporter.should_receive(:example_finished) do |example_definition, error|
     #       example_definition.description.should == &quot;should == 5&quot;
     #     end
     #     runner.run
     #   end
-    # 
+    #
     #   it &quot;should unregister description_generated callback (lest a memory leak should build up)&quot; do
     #     example_definition = @example_group_class.it(&quot;something&quot;)
     #     runner = create_runner(example_definition)
-    # 
+    #
     #     Spec::Matchers.should_receive(:example_finished)
     #     runner.run
     #   end</diff>
      <filename>rails_plugins/rspec/spec/spec/example/example_runner_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,11 +8,11 @@ module Spec
     #       foo
     #     end
     #   end
-    #   
+    #
     #   it &quot;should tell you its docstring&quot; do
     #     @example.description.should == &quot;example&quot;
     #   end
-    # 
+    #
     #   it &quot;should execute its block in the context provided&quot; do
     #     context = Class.new do
     #       def foo
@@ -22,25 +22,25 @@ module Spec
     #     @example.run_in(context).should == &quot;foo&quot;
     #   end
     # end
-    # 
+    #
     # describe Example, &quot;#description&quot; do
     #   it &quot;should default to NO NAME when not passed anything when there are no matchers&quot; do
     #     example = Example.new {}
     #     example.run_in(Object.new)
     #     example.description.should == &quot;NO NAME&quot;
     #   end
-    # 
+    #
     #   it &quot;should default to NO NAME description (Because of --dry-run) when passed nil and there are no matchers&quot; do
     #     example = Example.new(nil) {}
     #     example.run_in(Object.new)
     #     example.description.should == &quot;NO NAME&quot;
     #   end
-    # 
+    #
     #   it &quot;should allow description to be overridden&quot; do
     #     example = Example.new(&quot;Test description&quot;)
     #     example.description.should == &quot;Test description&quot;
     #   end
-    # 
+    #
     #   it &quot;should use description generated from matcher when there is no passed in description&quot; do
     #     example = Example.new(nil) do
     #       1.should == 1</diff>
      <filename>rails_plugins/rspec/spec/spec/example/example_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ module Spec
   module Example
     describe 'Nested Example Groups' do
       parent = self
-      
+
       def count
         @count ||= 0
         @count = @count + 1
@@ -49,7 +49,7 @@ module Spec
 
       describe 'nested example group' do
         self.superclass.should == parent
-        
+
         it &quot;should run all before and after callbacks&quot; do
           count.should == 5
         end</diff>
      <filename>rails_plugins/rspec/spec/spec/example/nested_example_group_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,14 @@
 module Spec
   module Example
     describe Pending do
-      
+
       it 'should raise an ExamplePendingError if no block is supplied' do
         lambda {
           include Pending
           pending &quot;TODO&quot;
         }.should raise_error(ExamplePendingError, /TODO/)
       end
-      
+
       it 'should raise an ExamplePendingError if a supplied block fails as expected' do
         lambda {
           include Pending
@@ -17,7 +17,7 @@ module Spec
           end
         }.should raise_error(ExamplePendingError, /TODO/)
       end
-      
+
       it 'should raise a PendingExampleFixedError if a supplied block starts working' do
         lambda {
           include Pending</diff>
      <filename>rails_plugins/rspec/spec/spec/example/pending_module_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,7 +7,7 @@ module Spec
         distance_in_yards &lt; 1000
       end
     end
-    
+
     describe &quot;predicate_matcher[method_on_object] = matcher_method&quot; do
       predicate_matchers[:swim] = :can_swim?
       it &quot;should match matcher_method if method_on_object returns true&quot; do</diff>
      <filename>rails_plugins/rspec/spec/spec/example/predicate_matcher_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -130,11 +130,11 @@ module Spec
         shared_example_group = describe &quot;all things&quot;, :shared =&gt; true do
           it &quot;should do stuff&quot; do end
         end
-        
+
         example_group = describe &quot;one thing&quot; do
           include shared_example_group
         end
-        
+
         example_group.number_of_examples.should == 1
       end
 
@@ -142,11 +142,11 @@ module Spec
         AllThings = describe &quot;all things&quot;, :shared =&gt; true do
           it &quot;should do stuff&quot; do end
         end
-        
+
         example_group = describe &quot;one thing&quot; do
           it_should_behave_like AllThings
         end
-        
+
         example_group.number_of_examples.should == 1
       end
 </diff>
      <filename>rails_plugins/rspec/spec/spec/example/shared_example_group_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,12 +7,12 @@ describe Object, &quot;#should&quot; do
     @matcher.stub!(:matches?).and_return(true)
     @matcher.stub!(:failure_message)
   end
-  
+
   it &quot;should accept and interact with a matcher&quot; do
-    @matcher.should_receive(:matches?).with(@target).and_return(true)    
+    @matcher.should_receive(:matches?).with(@target).and_return(true)
     @target.should @matcher
   end
-  
+
   it &quot;should ask for a failure_message when matches? returns false&quot; do
     @matcher.should_receive(:matches?).with(@target).and_return(false)
     @matcher.should_receive(:failure_message).and_return(&quot;the failure message&quot;)
@@ -20,25 +20,25 @@ describe Object, &quot;#should&quot; do
       @target.should @matcher
     }.should fail_with(&quot;the failure message&quot;)
   end
-  
+
   it &quot;should raise error if it receives false directly&quot; do
     lambda {
       @target.should false
     }.should raise_error(Spec::Expectations::InvalidMatcherError)
   end
-  
+
   it &quot;should raise error if it receives false (evaluated)&quot; do
     lambda {
       @target.should eql?(&quot;foo&quot;)
     }.should raise_error(Spec::Expectations::InvalidMatcherError)
   end
-  
+
   it &quot;should raise error if it receives true&quot; do
     lambda {
       @target.should true
     }.should raise_error(Spec::Expectations::InvalidMatcherError)
   end
-  
+
   it &quot;should raise error if it receives nil&quot; do
     lambda {
       @target.should nil
@@ -58,14 +58,14 @@ describe Object, &quot;#should_not&quot; do
     @target = &quot;target&quot;
     @matcher = mock(&quot;matcher&quot;)
   end
-  
+
   it &quot;should accept and interact with a matcher&quot; do
     @matcher.should_receive(:matches?).with(@target).and_return(false)
     @matcher.stub!(:negative_failure_message)
-    
+
     @target.should_not @matcher
   end
-  
+
   it &quot;should ask for a negative_failure_message when matches? returns true&quot; do
     @matcher.should_receive(:matches?).with(@target).and_return(true)
     @matcher.should_receive(:negative_failure_message).and_return(&quot;the negative failure message&quot;)
@@ -79,13 +79,13 @@ describe Object, &quot;#should_not&quot; do
       @target.should_not false
     }.should raise_error(Spec::Expectations::InvalidMatcherError)
   end
-  
+
   it &quot;should raise error if it receives false (evaluated)&quot; do
     lambda {
       @target.should_not eql?(&quot;foo&quot;)
     }.should raise_error(Spec::Expectations::InvalidMatcherError)
   end
-  
+
   it &quot;should raise error if it receives true&quot; do
     lambda {
       @target.should_not true</diff>
      <filename>rails_plugins/rspec/spec/spec/expectations/extensions/object_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,13 +5,13 @@ describe Spec::Expectations, &quot;#fail_with with no diff&quot; do
     @old_differ = Spec::Expectations.differ
     Spec::Expectations.differ = nil
   end
-  
+
   it &quot;should handle just a message&quot; do
     lambda {
       Spec::Expectations.fail_with &quot;the message&quot;
     }.should fail_with(&quot;the message&quot;)
   end
-  
+
   it &quot;should handle an Array&quot; do
     lambda {
       Spec::Expectations.fail_with [&quot;the message&quot;,&quot;expected&quot;,&quot;actual&quot;]
@@ -29,27 +29,27 @@ describe Spec::Expectations, &quot;#fail_with with diff&quot; do
     @differ = mock(&quot;differ&quot;)
     Spec::Expectations.differ = @differ
   end
-  
+
   it &quot;should not call differ if no expected/actual&quot; do
     lambda {
       Spec::Expectations.fail_with &quot;the message&quot;
     }.should fail_with(&quot;the message&quot;)
   end
-  
+
   it &quot;should call differ if expected/actual are presented separately&quot; do
     @differ.should_receive(:diff_as_string).and_return(&quot;diff&quot;)
     lambda {
       Spec::Expectations.fail_with &quot;the message&quot;, &quot;expected&quot;, &quot;actual&quot;
     }.should fail_with(&quot;the message\nDiff:diff&quot;)
   end
-  
+
   it &quot;should call differ if expected/actual are not strings&quot; do
     @differ.should_receive(:diff_as_object).and_return(&quot;diff&quot;)
     lambda {
       Spec::Expectations.fail_with &quot;the message&quot;, :expected, :actual
     }.should fail_with(&quot;the message\nDiff:diff&quot;)
   end
-  
+
   it &quot;should not call differ if expected or actual are procs&quot; do
     @differ.should_not_receive(:diff_as_string)
     @differ.should_not_receive(:diff_as_object)
@@ -57,14 +57,14 @@ describe Spec::Expectations, &quot;#fail_with with diff&quot; do
       Spec::Expectations.fail_with &quot;the message&quot;, lambda {}, lambda {}
     }.should fail_with(&quot;the message&quot;)
   end
-  
+
   it &quot;should call differ if expected/actual are presented in an Array with message&quot; do
     @differ.should_receive(:diff_as_string).with(&quot;actual&quot;,&quot;expected&quot;).and_return(&quot;diff&quot;)
     lambda {
       Spec::Expectations.fail_with([&quot;the message&quot;, &quot;expected&quot;, &quot;actual&quot;])
     }.should fail_with(/the message\nDiff:diff/)
   end
-  
+
   after(:each) do
     Spec::Expectations.differ = @old_differ
   end</diff>
      <filename>rails_plugins/rspec/spec/spec/expectations/fail_with_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,7 @@ module Spec
         @main.send(:rspec_options).should be_instance_of(Spec::Runner::Options)
         @main.send(:rspec_options).should === $rspec_options
       end
-  
+
       specify {@main.should respond_to(:describe)}
       specify {@main.should respond_to(:context)}
 
@@ -40,12 +40,12 @@ module Spec
 
         rspec_options.example_groups.should_not include(example_group)
       end
-      
+
       it &quot;should create a shared ExampleGroup with share_examples_for&quot; do
         group = @main.share_examples_for &quot;all things&quot; do end
         group.should be_an_instance_of(Spec::Example::SharedExampleGroup)
       end
-      
+
       describe &quot;#share_as&quot; do
         before(:each) do
           $share_as_examples_example_module_number ||= 1
@@ -58,18 +58,18 @@ module Spec
           group = @main.share_as @group_name do end
           group.should be_an_instance_of(Spec::Example::SharedExampleGroup)
         end
-        
+
         it &quot;should create a constant that points to a Module&quot; do
           group = @main.share_as @group_name do end
           Object.const_get(@group_name).should equal(group)
         end
-        
+
         it &quot;should bark if you pass it something not-constantizable&quot; do
           lambda do
             @group = @main.share_as &quot;Non Constant&quot; do end
           end.should raise_error(NameError, /The first argument to share_as must be a legal name for a constant/)
         end
-        
+
       end
     end
   end</diff>
      <filename>rails_plugins/rspec/spec/spec/extensions/main_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,11 +2,11 @@ require File.dirname(__FILE__) + '/test_unit_spec_helper'
 
 describe &quot;ExampleGroup with test/unit/interop&quot; do
   include TestUnitSpecHelper
-  
+
   before(:each) do
     @dir = File.dirname(__FILE__) + &quot;/resources&quot;
   end
-  
+
   describe &quot;with passing examples&quot; do
     it &quot;should output 0 failures&quot; do
       output = ruby(&quot;#{@dir}/spec_that_passes.rb&quot;)</diff>
      <filename>rails_plugins/rspec/spec/spec/interop/test/unit/spec_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,12 +3,12 @@ require File.dirname(__FILE__) + '/../../../../ruby_forker'
 
 module TestUnitSpecHelper
   include RubyForker
-  
+
   def run_script(file_name)
     output = ruby(file_name)
     if !$?.success? || output.include?(&quot;FAILED&quot;) || output.include?(&quot;Error&quot;)
       raise output
     end
     output
-  end  
+  end
 end
\ No newline at end of file</diff>
      <filename>rails_plugins/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,11 +2,11 @@ require File.dirname(__FILE__) + '/test_unit_spec_helper'
 
 describe &quot;Test::Unit::TestCase&quot; do
   include TestUnitSpecHelper
-  
+
   before(:each) do
     @dir = File.dirname(__FILE__) + &quot;/resources&quot;
   end
-  
+
   describe &quot;with passing test case&quot; do
     it &quot;should output 0 failures&quot; do
       output = ruby(&quot;#{@dir}/test_case_that_passes.rb&quot;)</diff>
      <filename>rails_plugins/rspec/spec/spec/interop/test/unit/testcase_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 require File.dirname(__FILE__) + '/../../spec_helper.rb'
 
-describe &quot;should be_predicate&quot; do  
+describe &quot;should be_predicate&quot; do
   it &quot;should pass when actual returns true for :predicate?&quot; do
     actual = stub(&quot;actual&quot;, :happy? =&gt; true)
     actual.should be_happy
@@ -17,7 +17,7 @@ describe &quot;should be_predicate&quot; do
       actual.should be_happy
     }.should fail_with(&quot;expected happy? to return true, got false&quot;)
   end
-  
+
   it &quot;should fail when actual does not respond to :predicate?&quot; do
     lambda {
       Object.new.should be_happy
@@ -30,7 +30,7 @@ describe &quot;should_not be_predicate&quot; do
     actual = stub(&quot;actual&quot;, :happy? =&gt; false)
     actual.should_not be_happy
   end
-  
+
   it &quot;should fail when actual returns true for :sym?&quot; do
     actual = stub(&quot;actual&quot;, :happy? =&gt; true)
     lambda {
@@ -59,7 +59,7 @@ describe &quot;should be_predicate(*args)&quot; do
       actual.should be_older_than(3)
     }.should fail_with(&quot;expected older_than?(3) to return true, got false&quot;)
   end
-  
+
   it &quot;should fail when actual does not respond to :predicate?&quot; do
     lambda {
       Object.new.should be_older_than(3)
@@ -73,7 +73,7 @@ describe &quot;should_not be_predicate(*args)&quot; do
     actual.should_receive(:older_than?).with(3).and_return(false)
     actual.should_not be_older_than(3)
   end
-  
+
   it &quot;should fail when actual returns true for :predicate?(*args)&quot; do
     actual = mock(&quot;actual&quot;)
     actual.should_receive(:older_than?).with(3).and_return(true)</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/be_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -54,7 +54,7 @@ describe &quot;should change { block }&quot; do
       lambda {}.should change{ @instance.some_value }
     end.should fail_with(&quot;result should have changed, but is still 5&quot;)
   end
-  
+
   it &quot;should warn if passed a block using do/end&quot; do
     lambda do
       lambda {}.should change do
@@ -78,7 +78,7 @@ describe &quot;should_not change { block }&quot; do
       lambda {@instance.some_value = 6}.should_not change { @instance.some_value }
     end.should fail_with(&quot;result should not have changed, but did change from 5 to 6&quot;)
   end
-  
+
   it &quot;should warn if passed a block using do/end&quot; do
     lambda do
       lambda {}.should_not change do
@@ -142,10 +142,10 @@ describe &quot;should change(actual, message).by_at_least(expected)&quot; do
   it &quot;should pass when attribute is changed by greater than the expected amount&quot; do
     lambda { @instance.some_value += 2 }.should change(@instance, :some_value).by_at_least(1)
   end
-  
+
   it &quot;should pass when attribute is changed by the expected amount&quot; do
     lambda { @instance.some_value += 2 }.should change(@instance, :some_value).by_at_least(2)
-  end  
+  end
 
   it &quot;should fail when the attribute is changed by less than the expected amount&quot; do
     lambda do
@@ -164,10 +164,10 @@ describe &quot;should change{ block }.by_at_least(expected)&quot; do
   it &quot;should pass when attribute is changed by greater than expected amount&quot; do
     lambda { @instance.some_value += 2 }.should change{@instance.some_value}.by_at_least(1)
   end
-  
+
   it &quot;should pass when attribute is changed by the expected amount&quot; do
     lambda { @instance.some_value += 2 }.should change{@instance.some_value}.by_at_least(2)
-  end  
+  end
 
   it &quot;should fail when the attribute is changed by less than the unexpected amount&quot; do
     lambda do
@@ -186,10 +186,10 @@ describe &quot;should change(actual, message).by_at_most(expected)&quot; do
   it &quot;should pass when attribute is changed by less than the expected amount&quot; do
     lambda { @instance.some_value += 2 }.should change(@instance, :some_value).by_at_most(3)
   end
-  
+
   it &quot;should pass when attribute is changed by the expected amount&quot; do
     lambda { @instance.some_value += 2 }.should change(@instance, :some_value).by_at_most(2)
-  end  
+  end
 
   it &quot;should fail when the attribute is changed by greater than the expected amount&quot; do
     lambda do
@@ -208,10 +208,10 @@ describe &quot;should change{ block }.by_at_most(expected)&quot; do
   it &quot;should pass when attribute is changed by less than expected amount&quot; do
     lambda { @instance.some_value += 2 }.should change{@instance.some_value}.by_at_most(3)
   end
-  
+
   it &quot;should pass when attribute is changed by the expected amount&quot; do
     lambda { @instance.some_value += 2 }.should change{@instance.some_value}.by_at_most(2)
-  end  
+  end
 
   it &quot;should fail when the attribute is changed by greater than the unexpected amount&quot; do
     lambda do
@@ -259,7 +259,7 @@ describe &quot;should change(actual, message).to(new)&quot; do
     @instance = SomethingExpected.new
     @instance.some_value = 'string'
   end
-  
+
   it &quot;should pass when attribute is == to expected value after executing block&quot; do
     lambda { @instance.some_value = &quot;cat&quot; }.should change(@instance, :some_value).to(&quot;cat&quot;)
   end
@@ -276,7 +276,7 @@ describe &quot;should change{ block }.to(new)&quot; do
     @instance = SomethingExpected.new
     @instance.some_value = 'string'
   end
-  
+
   it &quot;should pass when attribute is == to expected value after executing block&quot; do
     lambda { @instance.some_value = &quot;cat&quot; }.should change{@instance.some_value}.to(&quot;cat&quot;)
   end
@@ -293,7 +293,7 @@ describe &quot;should change(actual, message).from(old).to(new)&quot; do
     @instance = SomethingExpected.new
     @instance.some_value = 'string'
   end
-  
+
   it &quot;should pass when #to comes before #from&quot; do
     lambda { @instance.some_value = &quot;cat&quot; }.should change(@instance, :some_value).to(&quot;cat&quot;).from(&quot;string&quot;)
   end
@@ -308,7 +308,7 @@ describe &quot;should change{ block }.from(old).to(new)&quot; do
     @instance = SomethingExpected.new
     @instance.some_value = 'string'
   end
-  
+
   it &quot;should pass when #to comes before #from&quot; do
     lambda { @instance.some_value = &quot;cat&quot; }.should change{@instance.some_value}.to(&quot;cat&quot;).from(&quot;string&quot;)
   end</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/change_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,42 +9,42 @@ describe &quot;Matchers should be able to generate their own descriptions&quot; do
     &quot;this&quot;.should == &quot;this&quot;
     Spec::Matchers.generated_description.should == &quot;should == \&quot;this\&quot;&quot;
   end
-  
+
   it &quot;should not == expected&quot; do
     &quot;this&quot;.should_not == &quot;that&quot;
     Spec::Matchers.generated_description.should == &quot;should not == \&quot;that\&quot;&quot;
   end
-  
+
   it &quot;should be empty (arbitrary predicate)&quot; do
     [].should be_empty
     Spec::Matchers.generated_description.should == &quot;should be empty&quot;
   end
-  
+
   it &quot;should not be empty (arbitrary predicate)&quot; do
     [1].should_not be_empty
     Spec::Matchers.generated_description.should == &quot;should not be empty&quot;
   end
-  
+
   it &quot;should be true&quot; do
     true.should be_true
     Spec::Matchers.generated_description.should == &quot;should be true&quot;
   end
-  
+
   it &quot;should be false&quot; do
     false.should be_false
     Spec::Matchers.generated_description.should == &quot;should be false&quot;
   end
-  
+
   it &quot;should be nil&quot; do
     nil.should be_nil
     Spec::Matchers.generated_description.should == &quot;should be nil&quot;
   end
-  
+
   it &quot;should be &gt; n&quot; do
     5.should be &gt; 3
     Spec::Matchers.generated_description.should == &quot;should be &gt; 3&quot;
   end
-  
+
   it &quot;should be predicate arg1, arg2 and arg3&quot; do
     5.0.should be_between(0,10)
     Spec::Matchers.generated_description.should == &quot;should be between 0 and 10&quot;
@@ -61,88 +61,88 @@ describe &quot;Matchers should be able to generate their own descriptions&quot; do
     5.should be_an_instance_of(Fixnum)
     Spec::Matchers.generated_description.should == &quot;should be an instance of Fixnum&quot;
   end
-  
+
   it &quot;should equal&quot; do
     expected = &quot;expected&quot;
     expected.should equal(expected)
     Spec::Matchers.generated_description.should == &quot;should equal \&quot;expected\&quot;&quot;
   end
-  
+
   it &quot;should_not equal&quot; do
     5.should_not equal(37)
     Spec::Matchers.generated_description.should == &quot;should not equal 37&quot;
   end
-  
+
   it &quot;should eql&quot; do
     &quot;string&quot;.should eql(&quot;string&quot;)
     Spec::Matchers.generated_description.should == &quot;should eql \&quot;string\&quot;&quot;
   end
-  
+
   it &quot;should not eql&quot; do
     &quot;a&quot;.should_not eql(:a)
     Spec::Matchers.generated_description.should == &quot;should not eql :a&quot;
   end
-  
+
   it &quot;should have_key&quot; do
     {:a =&gt; &quot;a&quot;}.should have_key(:a)
     Spec::Matchers.generated_description.should == &quot;should have key :a&quot;
   end
-  
+
   it &quot;should have n items&quot; do
     team.should have(3).players
     Spec::Matchers.generated_description.should == &quot;should have 3 players&quot;
   end
-  
+
   it &quot;should have at least n items&quot; do
     team.should have_at_least(2).players
     Spec::Matchers.generated_description.should == &quot;should have at least 2 players&quot;
   end
-  
+
   it &quot;should have at most n items&quot; do
     team.should have_at_most(4).players
     Spec::Matchers.generated_description.should == &quot;should have at most 4 players&quot;
   end
-  
+
   it &quot;should include&quot; do
     [1,2,3].should include(3)
     Spec::Matchers.generated_description.should == &quot;should include 3&quot;
   end
-  
+
   it &quot;should match&quot; do
     &quot;this string&quot;.should match(/this string/)
     Spec::Matchers.generated_description.should == &quot;should match /this string/&quot;
   end
-  
+
   it &quot;should raise_error&quot; do
     lambda { raise }.should raise_error
     Spec::Matchers.generated_description.should == &quot;should raise Exception&quot;
   end
-  
+
   it &quot;should raise_error with type&quot; do
     lambda { raise }.should raise_error(RuntimeError)
     Spec::Matchers.generated_description.should == &quot;should raise RuntimeError&quot;
   end
-  
+
   it &quot;should raise_error with type and message&quot; do
     lambda { raise &quot;there was an error&quot; }.should raise_error(RuntimeError, &quot;there was an error&quot;)
     Spec::Matchers.generated_description.should == &quot;should raise RuntimeError with \&quot;there was an error\&quot;&quot;
   end
-  
+
   it &quot;should respond_to&quot; do
     [].should respond_to(:insert)
     Spec::Matchers.generated_description.should == &quot;should respond to #insert&quot;
   end
-  
+
   it &quot;should throw symbol&quot; do
     lambda { throw :what_a_mess }.should throw_symbol
     Spec::Matchers.generated_description.should == &quot;should throw a Symbol&quot;
   end
-  
+
   it &quot;should throw symbol (with named symbol)&quot; do
     lambda { throw :what_a_mess }.should throw_symbol(:what_a_mess)
     Spec::Matchers.generated_description.should == &quot;should throw :what_a_mess&quot;
   end
-  
+
   def team
     Class.new do
       def players</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/description_generation_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@ class Substance
     @description
   end
 end
-  
+
 class SubstanceTester
   include Spec::Matchers
   def initialize substance
@@ -24,22 +24,22 @@ class SubstanceTester
 end
 
 describe &quot;should exist,&quot; do
-  
+
   before(:each) do
     @real = Substance.new true, 'something real'
     @imaginary = Substance.new false, 'something imaginary'
   end
 
   describe &quot;within an example group&quot; do
-  
+
     it &quot;should pass if target exists&quot; do
       @real.should exist
     end
-  
+
     it &quot;should fail if target does not exist&quot; do
       lambda { @imaginary.should exist }.should fail
     end
-    
+
     it &quot;should pass if target doesn't exist&quot; do
       lambda { @real.should_not exist }.should fail
     end</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/exist_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 require File.dirname(__FILE__) + '/../../spec_helper.rb'
 
 module ExampleExpectations
-  
+
   class ArbitraryMatcher
     def initialize(*args, &amp;block)
       if args.last.is_a? Hash
@@ -12,38 +12,38 @@ module ExampleExpectations
       end
       @block = block
     end
-    
+
     def matches?(target)
       @target = target
       return @expected == target
     end
-    
+
     def with(new_value)
       @expected = new_value
       self
     end
-    
+
     def failure_message
       &quot;expected #{@expected}, got #{@target}&quot;
     end
-    
+
     def negative_failure_message
       &quot;expected not #{@expected}, got #{@target}&quot;
     end
   end
-  
+
   class PositiveOnlyMatcher &lt; ArbitraryMatcher
     undef negative_failure_message rescue nil
   end
-  
+
   def arbitrary_matcher(*args, &amp;block)
     ArbitraryMatcher.new(*args, &amp;block)
   end
-  
+
   def positive_only_matcher(*args, &amp;block)
     PositiveOnlyMatcher.new(*args, &amp;block)
   end
-  
+
 end
 
 module Spec
@@ -55,7 +55,7 @@ module Spec
         matcher.should_receive(:matches?).with(actual).and_return(true)
         ExpectationMatcherHandler.handle_matcher(actual, matcher)
       end
-      
+
       it &quot;should explain when the matcher parameter is not a matcher&quot; do
         begin
           nonmatcher = mock(&quot;nonmatcher&quot;)
@@ -76,8 +76,8 @@ module Spec
         lambda {
           NegativeExpectationMatcherHandler.handle_matcher(actual, matcher)
         }.should fail_with(/Matcher does not support should_not.\n/)
-      end      
-      
+      end
+
       it &quot;should ask the matcher if it matches&quot; do
         matcher = mock(&quot;matcher&quot;)
         actual = Object.new
@@ -85,7 +85,7 @@ module Spec
         matcher.should_receive(:matches?).with(actual).and_return(false)
         NegativeExpectationMatcherHandler.handle_matcher(actual, matcher)
       end
-      
+
       it &quot;should explain when the matcher parameter is not a matcher&quot; do
         begin
           nonmatcher = mock(&quot;nonmatcher&quot;)
@@ -97,10 +97,10 @@ module Spec
         e.message.should =~ /^Expected a matcher, got /
       end
     end
-    
+
     describe ExpectationMatcherHandler do
       include ExampleExpectations
-      
+
       it &quot;should handle submitted args&quot; do
         5.should arbitrary_matcher(:expected =&gt; 5)
         5.should arbitrary_matcher(:expected =&gt; &quot;wrong&quot;).with(5)
@@ -117,7 +117,7 @@ module Spec
         5.should arbitrary_matcher(:expected =&gt; 4) { 5 }
         5.should arbitrary_matcher(:expected =&gt; 4).with(5) { 3 }
       end
-  
+
       it &quot;should explain when matcher does not support should_not&quot; do
         lambda {
           5.should_not positive_only_matcher(:expected =&gt; 5)</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/handler_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -35,7 +35,7 @@ describe &quot;should have(n).items&quot; do
       owner.should have(4).items_in_collection_with_size_method
     }.should fail_with(&quot;expected 4 items_in_collection_with_size_method, got 3&quot;)
   end
-  
+
   it &quot;should fail if target has a collection of items with &gt; n members&quot; do
     owner = create_collection_owner_with(3)
     lambda {
@@ -49,7 +49,7 @@ end
 
 describe 'should have(1).item when Inflector is defined' do
   include HaveSpecHelper
-  
+
   before do
     unless Object.const_defined?(:Inflector)
       class Inflector
@@ -59,7 +59,7 @@ describe 'should have(1).item when Inflector is defined' do
       end
     end
   end
-  
+
   it 'should pluralize the collection name' do
     owner = create_collection_owner_with(1)
     owner.should have(1).item
@@ -87,7 +87,7 @@ describe &quot;should_not have(n).items&quot; do
     owner.should_not have(4).items_in_collection_with_length_method
     owner.should_not have(4).items_in_collection_with_size_method
   end
-  
+
   it &quot;should pass if target has a collection of items with &gt; n members&quot; do
     owner = create_collection_owner_with(3)
     owner.should_not have(2).items_in_collection_with_length_method
@@ -129,7 +129,7 @@ describe &quot;should have_exactly(n).items&quot; do
       owner.should have_exactly(4).items_in_collection_with_size_method
     }.should fail_with(&quot;expected 4 items_in_collection_with_size_method, got 3&quot;)
   end
-  
+
   it &quot;should fail if target has a collection of items with &gt; n members&quot; do
     owner = create_collection_owner_with(3)
     lambda {
@@ -149,7 +149,7 @@ describe &quot;should have_at_least(n).items&quot; do
     owner.should have_at_least(3).items_in_collection_with_length_method
     owner.should have_at_least(3).items_in_collection_with_size_method
   end
-  
+
   it &quot;should pass if target has a collection of items with &gt; n members&quot; do
     owner = create_collection_owner_with(3)
     owner.should have_at_least(2).items_in_collection_with_length_method
@@ -165,17 +165,17 @@ describe &quot;should have_at_least(n).items&quot; do
       owner.should have_at_least(4).items_in_collection_with_size_method
     }.should fail_with(&quot;expected at least 4 items_in_collection_with_size_method, got 3&quot;)
   end
-  
+
   it &quot;should provide educational negative failure messages&quot; do
     #given
     owner = create_collection_owner_with(3)
     length_matcher = have_at_least(3).items_in_collection_with_length_method
     size_matcher = have_at_least(3).items_in_collection_with_size_method
-    
+
     #when
     length_matcher.matches?(owner)
     size_matcher.matches?(owner)
-    
+
     #then
     length_matcher.negative_failure_message.should == &lt;&lt;-EOF
 Isn't life confusing enough?
@@ -213,7 +213,7 @@ describe &quot;should have_at_most(n).items&quot; do
       owner.should have_at_most(2).items_in_collection_with_size_method
     }.should fail_with(&quot;expected at most 2 items_in_collection_with_size_method, got 3&quot;)
   end
-  
+
   it &quot;should pass if target has a collection of items with &lt; n members&quot; do
     owner = create_collection_owner_with(3)
     owner.should have_at_most(4).items_in_collection_with_length_method
@@ -225,11 +225,11 @@ describe &quot;should have_at_most(n).items&quot; do
     owner = create_collection_owner_with(3)
     length_matcher = have_at_most(3).items_in_collection_with_length_method
     size_matcher = have_at_most(3).items_in_collection_with_size_method
-    
+
     #when
     length_matcher.matches?(owner)
     size_matcher.matches?(owner)
-    
+
     #then
     length_matcher.negative_failure_message.should == &lt;&lt;-EOF
 Isn't life confusing enough?
@@ -238,7 +238,7 @@ Instead of having to figure out the meaning of this:
 We recommend that you use this instead:
   should have_at_least(4).items_in_collection_with_length_method
 EOF
-    
+
     size_matcher.negative_failure_message.should == &lt;&lt;-EOF
 Isn't life confusing enough?
 Instead of having to figure out the meaning of this:</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/have_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@ describe &quot;should match(expected)&quot; do
       &quot;string&quot;.should match(/rings/)
     }.should fail
   end
-  
+
   it &quot;should provide message, expected and actual on failure&quot; do
     matcher = match(/rings/)
     matcher.matches?(&quot;string&quot;)</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/match_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -62,7 +62,7 @@ This module should provide the following methods, each of which returns a Matche
         respond_to(:sym).should be_an_instance_of(RespondTo)
       end
     end
-    
+
     describe &quot;Spec::Matchers#method_missing&quot; do
       it &quot;should convert be_xyz to Be(:be_xyz)&quot; do
         Be.should_receive(:new).with(:be_whatever)</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/matcher_methods_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,13 +3,13 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
 require 'spec/expectations/differs/default'
 
 describe &quot;should ==&quot; do
-  
+
   it &quot;should delegate message to target&quot; do
     subject = &quot;apple&quot;
     subject.should_receive(:==).with(&quot;apple&quot;).and_return(true)
     subject.should == &quot;apple&quot;
   end
-  
+
   it &quot;should fail when target.==(actual) returns false&quot; do
     subject = &quot;apple&quot;
     Spec::Expectations.should_receive(:fail_with).with(%[expected: &quot;orange&quot;,\n     got: &quot;apple&quot; (using ==)], &quot;orange&quot;, &quot;apple&quot;)
@@ -19,13 +19,13 @@ describe &quot;should ==&quot; do
 end
 
 describe &quot;should_not ==&quot; do
-  
+
   it &quot;should delegate message to target&quot; do
     subject = &quot;orange&quot;
     subject.should_receive(:==).with(&quot;apple&quot;).and_return(false)
     subject.should_not == &quot;apple&quot;
   end
-  
+
   it &quot;should fail when target.==(actual) returns false&quot; do
     subject = &quot;apple&quot;
     Spec::Expectations.should_receive(:fail_with).with(%[expected not: == &quot;apple&quot;,\n         got:    &quot;apple&quot;], &quot;apple&quot;, &quot;apple&quot;)
@@ -35,30 +35,30 @@ describe &quot;should_not ==&quot; do
 end
 
 describe &quot;should ===&quot; do
-  
+
   it &quot;should delegate message to target&quot; do
     subject = &quot;apple&quot;
     subject.should_receive(:===).with(&quot;apple&quot;).and_return(true)
     subject.should === &quot;apple&quot;
   end
-  
+
   it &quot;should fail when target.===(actual) returns false&quot; do
     subject = &quot;apple&quot;
     subject.should_receive(:===).with(&quot;orange&quot;).and_return(false)
     Spec::Expectations.should_receive(:fail_with).with(%[expected: &quot;orange&quot;,\n     got: &quot;apple&quot; (using ===)], &quot;orange&quot;, &quot;apple&quot;)
     subject.should === &quot;orange&quot;
   end
-  
+
 end
 
 describe &quot;should_not ===&quot; do
-  
+
   it &quot;should delegate message to target&quot; do
     subject = &quot;orange&quot;
     subject.should_receive(:===).with(&quot;apple&quot;).and_return(false)
     subject.should_not === &quot;apple&quot;
   end
-  
+
   it &quot;should fail when target.===(actual) returns false&quot; do
     subject = &quot;apple&quot;
     subject.should_receive(:===).with(&quot;apple&quot;).and_return(true)
@@ -69,13 +69,13 @@ describe &quot;should_not ===&quot; do
 end
 
 describe &quot;should =~&quot; do
-  
+
   it &quot;should delegate message to target&quot; do
     subject = &quot;foo&quot;
     subject.should_receive(:=~).with(/oo/).and_return(true)
     subject.should =~ /oo/
   end
-  
+
   it &quot;should fail when target.=~(actual) returns false&quot; do
     subject = &quot;fu&quot;
     subject.should_receive(:=~).with(/oo/).and_return(false)
@@ -86,13 +86,13 @@ describe &quot;should =~&quot; do
 end
 
 describe &quot;should_not =~&quot; do
-  
+
   it &quot;should delegate message to target&quot; do
     subject = &quot;fu&quot;
     subject.should_receive(:=~).with(/oo/).and_return(false)
     subject.should_not =~ /oo/
   end
-  
+
   it &quot;should fail when target.=~(actual) returns false&quot; do
     subject = &quot;foo&quot;
     subject.should_receive(:=~).with(/oo/).and_return(true)
@@ -103,7 +103,7 @@ describe &quot;should_not =~&quot; do
 end
 
 describe &quot;should &gt;&quot; do
-  
+
   it &quot;should pass if &gt; passes&quot; do
     4.should &gt; 3
   end
@@ -116,7 +116,7 @@ describe &quot;should &gt;&quot; do
 end
 
 describe &quot;should &gt;=&quot; do
-  
+
   it &quot;should pass if &gt;= passes&quot; do
     4.should &gt; 3
     4.should &gt;= 4
@@ -130,7 +130,7 @@ describe &quot;should &gt;=&quot; do
 end
 
 describe &quot;should &lt;&quot; do
-  
+
   it &quot;should pass if &lt; passes&quot; do
     4.should &lt; 5
   end
@@ -143,7 +143,7 @@ describe &quot;should &lt;&quot; do
 end
 
 describe &quot;should &lt;=&quot; do
-  
+
   it &quot;should pass if &lt;= passes&quot; do
     4.should &lt;= 5
     4.should &lt;= 4</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ describe &quot;should raise_error&quot; do
   it &quot;should pass if anything is raised&quot; do
     lambda {raise}.should raise_error
   end
-  
+
   it &quot;should fail if nothing is raised&quot; do
     lambda {
       lambda {}.should raise_error
@@ -16,7 +16,7 @@ describe &quot;should_not raise_error&quot; do
   it &quot;should pass if nothing is raised&quot; do
     lambda {}.should_not raise_error
   end
-  
+
   it &quot;should fail if anything is raised&quot; do
     lambda {
       lambda {raise}.should_not raise_error
@@ -66,19 +66,19 @@ describe &quot;should raise_error(NamedError)&quot; do
   it &quot;should pass if named error is raised&quot; do
     lambda { non_existent_method }.should raise_error(NameError)
   end
-  
+
   it &quot;should fail if nothing is raised&quot; do
     lambda {
       lambda { }.should raise_error(NameError)
     }.should fail_with(&quot;expected NameError but nothing was raised&quot;)
   end
-  
+
   it &quot;should fail if another error is raised (NameError)&quot; do
     lambda {
       lambda { raise }.should raise_error(NameError)
     }.should fail_with(&quot;expected NameError, got RuntimeError&quot;)
   end
-  
+
   it &quot;should fail if another error is raised (NameError)&quot; do
     lambda {
       lambda { load &quot;non/existent/file&quot; }.should raise_error(NameError)
@@ -90,35 +90,35 @@ describe &quot;should_not raise_error(NamedError)&quot; do
   it &quot;should pass if nothing is raised&quot; do
     lambda { }.should_not raise_error(NameError)
   end
-  
+
   it &quot;should pass if another error is raised&quot; do
     lambda { raise }.should_not raise_error(NameError)
   end
-  
+
   it &quot;should fail if named error is raised&quot; do
     lambda {
       lambda { non_existent_method }.should_not raise_error(NameError)
     }.should fail_with(/expected no NameError, got #&lt;NameError: undefined/)
-  end  
+  end
 end
 
 describe &quot;should raise_error(NamedError, error_message) with String&quot; do
   it &quot;should pass if named error is raised with same message&quot; do
     lambda { raise &quot;example message&quot; }.should raise_error(RuntimeError, &quot;example message&quot;)
   end
-  
+
   it &quot;should fail if nothing is raised&quot; do
     lambda {
       lambda {}.should raise_error(RuntimeError, &quot;example message&quot;)
     }.should fail_with(&quot;expected RuntimeError with \&quot;example message\&quot; but nothing was raised&quot;)
   end
-  
+
   it &quot;should fail if incorrect error is raised&quot; do
     lambda {
       lambda { raise }.should raise_error(NameError, &quot;example message&quot;)
     }.should fail_with(&quot;expected NameError with \&quot;example message\&quot;, got RuntimeError&quot;)
   end
-  
+
   it &quot;should fail if correct error is raised with incorrect message&quot; do
     lambda {
       lambda { raise RuntimeError.new(&quot;not the example message&quot;) }.should raise_error(RuntimeError, &quot;example message&quot;)
@@ -130,15 +130,15 @@ describe &quot;should_not raise_error(NamedError, error_message) with String&quot; do
   it &quot;should pass if nothing is raised&quot; do
     lambda {}.should_not raise_error(RuntimeError, &quot;example message&quot;)
   end
-  
+
   it &quot;should pass if a different error is raised&quot; do
     lambda { raise }.should_not raise_error(NameError, &quot;example message&quot;)
   end
-  
+
   it &quot;should pass if same error is raised with different message&quot; do
     lambda { raise RuntimeError.new(&quot;not the example message&quot;) }.should_not raise_error(RuntimeError, &quot;example message&quot;)
   end
-  
+
   it &quot;should fail if named error is raised with same message&quot; do
     lambda {
       lambda { raise &quot;example message&quot; }.should_not raise_error(RuntimeError, &quot;example message&quot;)
@@ -150,19 +150,19 @@ describe &quot;should raise_error(NamedError, error_message) with Regexp&quot; do
   it &quot;should pass if named error is raised with matching message&quot; do
     lambda { raise &quot;example message&quot; }.should raise_error(RuntimeError, /ample mess/)
   end
-  
+
   it &quot;should fail if nothing is raised&quot; do
     lambda {
       lambda {}.should raise_error(RuntimeError, /ample mess/)
     }.should fail_with(&quot;expected RuntimeError with message matching /ample mess/ but nothing was raised&quot;)
   end
-  
+
   it &quot;should fail if incorrect error is raised&quot; do
     lambda {
       lambda { raise }.should raise_error(NameError, /ample mess/)
     }.should fail_with(&quot;expected NameError with message matching /ample mess/, got RuntimeError&quot;)
   end
-  
+
   it &quot;should fail if correct error is raised with incorrect message&quot; do
     lambda {
       lambda { raise RuntimeError.new(&quot;not the example message&quot;) }.should raise_error(RuntimeError, /less than ample mess/)
@@ -174,15 +174,15 @@ describe &quot;should_not raise_error(NamedError, error_message) with Regexp&quot; do
   it &quot;should pass if nothing is raised&quot; do
     lambda {}.should_not raise_error(RuntimeError, /ample mess/)
   end
-  
+
   it &quot;should pass if a different error is raised&quot; do
     lambda { raise }.should_not raise_error(NameError, /ample mess/)
   end
-  
+
   it &quot;should pass if same error is raised with non-matching message&quot; do
     lambda { raise RuntimeError.new(&quot;non matching message&quot;) }.should_not raise_error(RuntimeError, /ample mess/)
   end
-  
+
   it &quot;should fail if named error is raised with matching message&quot; do
     lambda {
       lambda { raise &quot;example message&quot; }.should_not raise_error(RuntimeError, /ample mess/)</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/raise_error_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,37 +1,37 @@
 require File.dirname(__FILE__) + '/../../spec_helper.rb'
 
 describe &quot;should respond_to(:sym)&quot; do
-  
+
   it &quot;should pass if target responds to :sym&quot; do
     Object.new.should respond_to(:methods)
   end
-  
+
   it &quot;should fail target does not respond to :sym&quot; do
     lambda {
       Object.new.should respond_to(:some_method)
     }.should fail_with(&quot;expected target to respond to :some_method&quot;)
   end
-  
+
 end
 
 describe &quot;should respond_to(message1, message2)&quot; do
-  
+
   it &quot;should pass if target responds to both messages&quot; do
     Object.new.should respond_to('methods', 'inspect')
   end
-  
+
   it &quot;should fail target does not respond to first message&quot; do
     lambda {
       Object.new.should respond_to('method_one', 'inspect')
     }.should fail_with('expected target to respond to &quot;method_one&quot;')
   end
-  
+
   it &quot;should fail target does not respond to second message&quot; do
     lambda {
       Object.new.should respond_to('inspect', 'method_one')
     }.should fail_with('expected target to respond to &quot;method_one&quot;')
   end
-  
+
   it &quot;should fail target does not respond to either message&quot; do
     lambda {
       Object.new.should respond_to('method_one', 'method_two')
@@ -40,15 +40,15 @@ describe &quot;should respond_to(message1, message2)&quot; do
 end
 
 describe &quot;should_not respond_to(:sym)&quot; do
-  
+
   it &quot;should pass if target does not respond to :sym&quot; do
     Object.new.should_not respond_to(:some_method)
   end
-  
+
   it &quot;should fail target responds to :sym&quot; do
     lambda {
       Object.new.should_not respond_to(:methods)
     }.should fail_with(&quot;expected target not to respond to :methods&quot;)
   end
-  
+
 end</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/respond_to_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,19 +9,19 @@ module Spec
         matcher.matches?(&quot;foo&quot;)
         actual.should == &quot;foo&quot;
       end
-      
+
       it &quot;should provide a stock failure message&quot; do
         matcher = simple_matcher(&quot;thing&quot;) do end
         matcher.matches?(&quot;other&quot;)
         matcher.failure_message.should =~ /expected \&quot;thing\&quot; but got \&quot;other\&quot;/
       end
-      
+
       it &quot;should provide a stock negative failure message&quot; do
         matcher = simple_matcher(&quot;thing&quot;) do end
         matcher.matches?(&quot;other&quot;)
         matcher.negative_failure_message.should =~ /expected not to get \&quot;thing\&quot;, but got \&quot;other\&quot;/
       end
-      
+
       it &quot;should provide a description&quot; do
         matcher = simple_matcher(&quot;thing&quot;) do end
         matcher.description.should ==&quot;thing&quot;</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/simple_matcher_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,10 +20,10 @@ module Spec
         @matcher.negative_failure_message.should == &quot;expected no Symbol, got :sym&quot;
       end
     end
-    
+
     describe ThrowSymbol, &quot;(constructed with a Symbol)&quot; do
       before(:each) { @matcher = ThrowSymbol.new(:sym) }
-      
+
       it &quot;should match if correct Symbol is thrown&quot; do
         @matcher.matches?(lambda{ throw :sym }).should be_true
       end</diff>
      <filename>rails_plugins/rspec/spec/spec/matchers/throw_symbol_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
 
 module Spec
   module Mocks
-    
+
     describe &quot;AnyNumberOfTimes&quot; do
       before(:each) do
         @mock = Mock.new(&quot;test mock&quot;)
@@ -19,7 +19,7 @@ module Spec
         @mock.should_receive(:random_call).any_number_of_times
         @mock.random_call
       end
-      
+
       it &quot;should pass if any number of times method is not called&quot; do
         @mock.should_receive(:random_call).any_number_of_times
       end</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,14 +2,14 @@ describe &quot;Mock&quot; do
   before do
     @mock = mock(&quot;test mock&quot;)
   end
-  
+
   specify &quot;when one example has an expectation (non-mock) inside the block passed to the mock&quot; do
     @mock.should_receive(:msg) do |b|
       b.should be_true #this call exposes the problem
     end
     @mock.msg(false) rescue nil
   end
-  
+
   specify &quot;then the next example should behave as expected instead of saying&quot; do
     @mock.should_receive(:foobar)
     @mock.foobar
@@ -19,6 +19,6 @@ describe &quot;Mock&quot; do
     rescue Exception =&gt; e
       e.message.should == &quot;Mock 'test mock' received unexpected message :foobar with (no args)&quot;
     end
-  end 
+  end
 end
 </diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/bug_report_10263.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,17 +4,17 @@ class LiarLiarPantsOnFire
   def respond_to?(sym)
     true
   end
-  
+
   def self.respond_to?(sym)
     true
   end
 end
-  
+
 describe 'should_receive' do
   before(:each) do
     @liar = LiarLiarPantsOnFire.new
   end
-  
+
   it &quot;should work when object lies about responding to a method&quot; do
     @liar.should_receive(:something)
     @liar.something
@@ -24,7 +24,7 @@ describe 'should_receive' do
     LiarLiarPantsOnFire.should_receive(:something)
     LiarLiarPantsOnFire.something
   end
-  
+
   it 'should cleanup after itself' do
     LiarLiarPantsOnFire.metaclass.instance_methods.should_not include(&quot;something&quot;)
   end</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/bug_report_11545_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
 module Spec
   module Mocks
     describe &quot;mock failure&quot; do
-      
+
       it &quot;should tell you when it receives the right message with the wrong args&quot; do
         m = mock(&quot;foo&quot;)
         m.should_receive(:bar).with(&quot;message&quot;)</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/bug_report_15719_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,6 @@ module Bug7611
 
     it &quot;should&quot; do
       Bar.new.class.should == Bar
-    end 
+    end
   end
 end</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/bug_report_7611_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ module Bug8302
   class Foo
     def Foo.class_method(arg)
     end
-  
+
     def instance_bar(arg)
     end
   end</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/bug_report_8302_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,7 +7,7 @@ module Spec
         @mock = mock(&quot;test mock&quot;)
         @reporter = Mock.new(&quot;reporter&quot;, :null_object =&gt; true)
       end
-      
+
       after(:each) do
         @mock.rspec_reset
       end
@@ -25,14 +25,14 @@ module Spec
           @mock.random_call(&quot;1&quot;)
         end.should raise_error(MockExpectationError)
       end
-      
+
       it &quot;should reject non string&quot; do
         @mock.should_receive(:random_call).with(an_instance_of(String))
         lambda do
           @mock.random_call(123)
         end.should raise_error(MockExpectationError)
       end
-      
+
       it &quot;should reject goose when expecting a duck&quot; do
         @mock.should_receive(:random_call).with(duck_type(:abs, :div))
         lambda { @mock.random_call(&quot;I don't respond to :abs or :div&quot;) }.should raise_error(MockExpectationError)
@@ -42,33 +42,33 @@ module Spec
         @mock.should_receive(:random_call).with(/bcd/)
         lambda { @mock.random_call(&quot;abc&quot;) }.should raise_error(MockExpectationError)
       end
-      
+
       it &quot;should fail if regexp does not match submitted regexp&quot; do
         @mock.should_receive(:random_call).with(/bcd/)
         lambda { @mock.random_call(/bcde/) }.should raise_error(MockExpectationError)
       end
-      
+
       it &quot;should fail for a hash w/ wrong values&quot; do
         @mock.should_receive(:random_call).with(:a =&gt; &quot;b&quot;, :c =&gt; &quot;d&quot;)
         lambda do
           @mock.random_call(:a =&gt; &quot;b&quot;, :c =&gt; &quot;e&quot;)
         end.should raise_error(MockExpectationError, /Mock 'test mock' expected :random_call with \(\{(:a=&gt;\&quot;b\&quot;, :c=&gt;\&quot;d\&quot;|:c=&gt;\&quot;d\&quot;, :a=&gt;\&quot;b\&quot;)\}\) but received it with \(\{(:a=&gt;\&quot;b\&quot;, :c=&gt;\&quot;e\&quot;|:c=&gt;\&quot;e\&quot;, :a=&gt;\&quot;b\&quot;)\}\)/)
       end
-      
+
       it &quot;should fail for a hash w/ wrong keys&quot; do
         @mock.should_receive(:random_call).with(:a =&gt; &quot;b&quot;, :c =&gt; &quot;d&quot;)
         lambda do
           @mock.random_call(&quot;a&quot; =&gt; &quot;b&quot;, &quot;c&quot; =&gt; &quot;d&quot;)
         end.should raise_error(MockExpectationError, /Mock 'test mock' expected :random_call with \(\{(:a=&gt;\&quot;b\&quot;, :c=&gt;\&quot;d\&quot;|:c=&gt;\&quot;d\&quot;, :a=&gt;\&quot;b\&quot;)\}\) but received it with \(\{(\&quot;a\&quot;=&gt;\&quot;b\&quot;, \&quot;c\&quot;=&gt;\&quot;d\&quot;|\&quot;c\&quot;=&gt;\&quot;d\&quot;, \&quot;a\&quot;=&gt;\&quot;b\&quot;)\}\)/)
       end
-      
+
       it &quot;should match against a Matcher&quot; do
         lambda do
           @mock.should_receive(:msg).with(equal(3))
           @mock.msg(37)
         end.should raise_error(MockExpectationError, &quot;Mock 'test mock' expected :msg with (equal 3) but received it with (37)&quot;)
       end
-      
+
       it &quot;should fail no_args with one arg&quot; do
         lambda do
           @mock.should_receive(:msg).with(no_args)
@@ -76,7 +76,7 @@ module Spec
         end.should raise_error(MockExpectationError, &quot;Mock 'test mock' expected :msg with (no args) but received it with (37)&quot;)
       end
     end
-      
+
     describe &quot;failing deprecated MockArgumentConstraints&quot; do
       before(:each) do
         @mock = mock(&quot;test mock&quot;)
@@ -94,21 +94,21 @@ module Spec
           @mock.random_call(&quot;false&quot;)
         end.should raise_error(MockExpectationError)
       end
-      
+
       it &quot;should reject non numeric&quot; do
         @mock.should_receive(:random_call).with(:numeric)
         lambda do
           @mock.random_call(&quot;1&quot;)
         end.should raise_error(MockExpectationError)
       end
-      
+
       it &quot;should reject non string&quot; do
         @mock.should_receive(:random_call).with(:string)
         lambda do
           @mock.random_call(123)
         end.should raise_error(MockExpectationError)
       end
-      
+
 
     end
   end</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,7 @@ module Spec
       before do
         @mock = mock(&quot;test mock&quot;)
       end
-      
+
       after do
         @mock.rspec_reset
       end
@@ -48,7 +48,7 @@ module Spec
           @mock.three
         end.should raise_error(MockExpectationError, &quot;Mock 'test mock' received :three out of order&quot;)
       end
-      
+
       it &quot;should fail if third call comes second&quot; do
         @mock.should_receive(:one).ordered
         @mock.should_receive(:two).ordered
@@ -78,7 +78,7 @@ module Spec
         @mock.ignored_1
         @mock.rspec_verify
       end
-            
+
     end
   end
 end</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/mock_ordering_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -51,4 +51,4 @@ module Spec
     end
   end
 end
-    
+</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/mock_space_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,11 +7,11 @@ module Spec
       before(:each) do
         @mock = mock(&quot;test mock&quot;)
       end
-      
+
       after(:each) do
         @mock.rspec_reset
       end
-      
+
       it &quot;should report line number of expectation of unreceived message&quot; do
         expected_error_line = __LINE__; @mock.should_receive(:wont_happen).with(&quot;x&quot;, 3)
         begin
@@ -22,19 +22,19 @@ module Spec
           e.backtrace[0].should match(/#{File.basename(__FILE__)}:#{expected_error_line}/)
         end
       end
-      
+
       it &quot;should pass when not receiving message specified as not to be received&quot; do
         @mock.should_not_receive(:not_expected)
         @mock.rspec_verify
       end
-      
+
       it &quot;should pass when receiving message specified as not to be received with different args&quot; do
         @mock.should_not_receive(:message).with(&quot;unwanted text&quot;)
         @mock.should_receive(:message).with(&quot;other text&quot;)
         @mock.message &quot;other text&quot;
         @mock.rspec_verify
       end
-      
+
       it &quot;should fail when receiving message specified as not to be received&quot; do
         @mock.should_not_receive(:not_expected)
         @mock.not_expected
@@ -43,7 +43,7 @@ module Spec
           violated
         }.should raise_error(MockExpectationError, &quot;Mock 'test mock' expected :not_expected with (any args) 0 times, but received it once&quot;)
       end
-      
+
       it &quot;should fail when receiving message specified as not to be received with args&quot; do
         @mock.should_not_receive(:not_expected).with(&quot;unexpected text&quot;)
         @mock.not_expected(&quot;unexpected text&quot;)
@@ -52,31 +52,31 @@ module Spec
           violated
         }.should raise_error(MockExpectationError, &quot;Mock 'test mock' expected :not_expected with (\&quot;unexpected text\&quot;) 0 times, but received it once&quot;)
       end
-      
+
       it &quot;should pass when receiving message specified as not to be received with wrong args&quot; do
         @mock.should_not_receive(:not_expected).with(&quot;unexpected text&quot;)
         @mock.not_expected &quot;really unexpected text&quot;
         @mock.rspec_verify
       end
-      
+
       it &quot;should allow block to calculate return values&quot; do
         @mock.should_receive(:something).with(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;).and_return { |a,b,c| c+b+a }
         @mock.something(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;).should == &quot;cba&quot;
         @mock.rspec_verify
       end
-      
+
       it &quot;should allow parameter as return value&quot; do
         @mock.should_receive(:something).with(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;).and_return(&quot;booh&quot;)
         @mock.something(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;).should == &quot;booh&quot;
         @mock.rspec_verify
       end
-      
+
       it &quot;should return nil if no return value set&quot; do
         @mock.should_receive(:something).with(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;)
         @mock.something(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;).should be_nil
         @mock.rspec_verify
       end
-      
+
       it &quot;should raise exception if args dont match when method called&quot; do
         @mock.should_receive(:something).with(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;).and_return(&quot;booh&quot;)
         lambda {
@@ -84,14 +84,14 @@ module Spec
           violated
         }.should raise_error(MockExpectationError, &quot;Mock 'test mock' expected :something with (\&quot;a\&quot;, \&quot;b\&quot;, \&quot;c\&quot;) but received it with (\&quot;a\&quot;, \&quot;d\&quot;, \&quot;c\&quot;)&quot;)
       end
-           
+
       it &quot;should fail if unexpected method called&quot; do
         lambda {
           @mock.something(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;)
           violated
         }.should raise_error(MockExpectationError, &quot;Mock 'test mock' received unexpected message :something with (\&quot;a\&quot;, \&quot;b\&quot;, \&quot;c\&quot;)&quot;)
       end
-        
+
       it &quot;should use block for expectation if provided&quot; do
         @mock.should_receive(:something) do | a, b |
           a.should == &quot;a&quot;
@@ -101,14 +101,14 @@ module Spec
         @mock.something(&quot;a&quot;, &quot;b&quot;).should == &quot;booh&quot;
         @mock.rspec_verify
       end
-        
+
       it &quot;should fail if expectation block fails&quot; do
         @mock.should_receive(:something) {| bool | bool.should be_true}
         lambda {
           @mock.something false
         }.should raise_error(MockExpectationError, /Mock 'test mock' received :something but passed block failed with: expected true, got false/)
       end
-        
+
       it &quot;should fail right away when method defined as never is received&quot; do
         pending &quot;Used to pass (false positive). Which one is wrong, the spec or the actual behavior?&quot;
 
@@ -117,11 +117,11 @@ module Spec
           @mock.not_expected
         }.should raise_error(MockExpectationError, &quot;Mock 'test mock' expected :not_expected 0 times, but received it 1 times&quot;)
       end
-      
+
       it &quot;should eventually fail when method defined as never is received&quot; do
         @mock.should_receive(:not_expected).never
         @mock.not_expected
-          
+
         lambda {
           @mock.rspec_verify
         }.should raise_error(MockExpectationError, &quot;Mock 'test mock' expected :not_expected with (any args) 0 times, but received it once&quot;)
@@ -133,7 +133,7 @@ module Spec
           @mock.something
         end.should raise_error(RuntimeError)
       end
-       
+
       it &quot;should raise passed an Exception instance&quot; do
         error = RuntimeError.new(&quot;error message&quot;)
         @mock.should_receive(:something).and_raise(error)
@@ -141,28 +141,28 @@ module Spec
           @mock.something
         }.should raise_error(RuntimeError, &quot;error message&quot;)
       end
-      
+
       it &quot;should raise RuntimeError with passed message&quot; do
         @mock.should_receive(:something).and_raise(&quot;error message&quot;)
         lambda {
           @mock.something
         }.should raise_error(RuntimeError, &quot;error message&quot;)
       end
-       
+
       it &quot;should not raise when told to if args dont match&quot; do
         @mock.should_receive(:something).with(2).and_raise(RuntimeError)
         lambda {
           @mock.something 1
         }.should raise_error(MockExpectationError)
       end
-       
+
       it &quot;should throw when told to&quot; do
         @mock.should_receive(:something).and_throw(:blech)
         lambda {
           @mock.something
         }.should throw_symbol(:blech)
       end
-      
+
       it &quot;should raise when explicit return and block constrained&quot; do
         lambda {
           @mock.should_receive(:fruit) do |colour|
@@ -170,7 +170,7 @@ module Spec
           end.and_return :apple
         }.should raise_error(AmbiguousReturnError)
       end
-      
+
       it &quot;should ignore args on any args&quot; do
         @mock.should_receive(:something).at_least(:once).with(any_args)
         @mock.something
@@ -179,7 +179,7 @@ module Spec
         @mock.something [], {}, &quot;joe&quot;, 7
         @mock.rspec_verify
       end
-      
+
       it &quot;should fail on no args if any args received&quot; do
         @mock.should_receive(:something).with(no_args())
         lambda {
@@ -193,7 +193,7 @@ module Spec
           @mock.something
         }.should raise_error(MockExpectationError, &quot;Mock 'test mock' expected :something with (1) but received it with (no args)&quot;)
       end
-      
+
       it &quot;should yield 0 args to blocks that take a variable number of arguments&quot; do
         @mock.should_receive(:yield_back).with(no_args()).once.and_yield
         a = nil
@@ -201,7 +201,7 @@ module Spec
         a.should == []
         @mock.rspec_verify
       end
-      
+
       it &quot;should yield 0 args multiple times to blocks that take a variable number of arguments&quot; do
         @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield.
                                                                     and_yield
@@ -211,7 +211,7 @@ module Spec
         b.should == [ [], [] ]
         @mock.rspec_verify
       end
-      
+
       it &quot;should yield one arg to blocks that take a variable number of arguments&quot; do
         @mock.should_receive(:yield_back).with(no_args()).once.and_yield(99)
         a = nil
@@ -219,7 +219,7 @@ module Spec
         a.should == [99]
         @mock.rspec_verify
       end
-      
+
       it &quot;should yield one arg 3 times consecutively to blocks that take a variable number of arguments&quot; do
         @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield(99).
                                                                     and_yield(43).
@@ -230,7 +230,7 @@ module Spec
         b.should == [[99], [43], [&quot;something fruity&quot;]]
         @mock.rspec_verify
       end
-      
+
       it &quot;should yield many args to blocks that take a variable number of arguments&quot; do
         @mock.should_receive(:yield_back).with(no_args()).once.and_yield(99, 27, &quot;go&quot;)
         a = nil
@@ -249,7 +249,7 @@ module Spec
         b.should == [[99, :green, &quot;go&quot;], [&quot;wait&quot;, :amber], [&quot;stop&quot;, 12, :red]]
         @mock.rspec_verify
       end
-      
+
       it &quot;should yield single value&quot; do
         @mock.should_receive(:yield_back).with(no_args()).once.and_yield(99)
         a = nil
@@ -257,7 +257,7 @@ module Spec
         a.should == 99
         @mock.rspec_verify
       end
-      
+
       it &quot;should yield single value 3 times consecutively&quot; do
         @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield(99).
                                                                     and_yield(43).
@@ -268,7 +268,7 @@ module Spec
         b.should == [99, 43, &quot;something fruity&quot;]
         @mock.rspec_verify
       end
-      
+
       it &quot;should yield two values&quot; do
         @mock.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
         a, b = nil
@@ -277,7 +277,7 @@ module Spec
         b.should == 'zup'
         @mock.rspec_verify
       end
-      
+
       it &quot;should yield two values 3 times consecutively&quot; do
         @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield('wha', 'zup').
                                                                     and_yield('not', 'down').
@@ -288,14 +288,14 @@ module Spec
         c.should == [['wha', 'zup'], ['not', 'down'], [14, 65]]
         @mock.rspec_verify
       end
-      
+
       it &quot;should fail when calling yielding method with wrong arity&quot; do
         @mock.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
         lambda {
           @mock.yield_back {|a|}
         }.should raise_error(MockExpectationError, &quot;Mock 'test mock' yielded |\&quot;wha\&quot;, \&quot;zup\&quot;| to block with arity of 1&quot;)
       end
-      
+
       it &quot;should fail when calling yielding method consecutively with wrong arity&quot; do
         @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield('wha', 'zup').
                                                                     and_yield('down').
@@ -306,32 +306,32 @@ module Spec
           @mock.yield_back {|a,b| c &lt;&lt; [a, b]}
         }.should raise_error(MockExpectationError, &quot;Mock 'test mock' yielded |\&quot;down\&quot;| to block with arity of 2&quot;)
       end
-      
+
       it &quot;should fail when calling yielding method without block&quot; do
         @mock.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
         lambda {
           @mock.yield_back
         }.should raise_error(MockExpectationError, &quot;Mock 'test mock' asked to yield |[\&quot;wha\&quot;, \&quot;zup\&quot;]| but no block was passed&quot;)
       end
-      
+
       it &quot;should be able to mock send&quot; do
         @mock.should_receive(:send).with(any_args)
         @mock.send 'hi'
         @mock.rspec_verify
       end
-      
+
       it &quot;should be able to raise from method calling yielding mock&quot; do
         @mock.should_receive(:yield_me).and_yield 44
-        
+
         lambda {
           @mock.yield_me do |x|
             raise &quot;Bang&quot;
           end
         }.should raise_error(StandardError, &quot;Bang&quot;)
-      
+
         @mock.rspec_verify
       end
-      
+
       it &quot;should clear expectations after verify&quot; do
         @mock.should_receive(:foobar)
         @mock.foobar
@@ -340,7 +340,7 @@ module Spec
           @mock.foobar
         }.should raise_error(MockExpectationError, &quot;Mock 'test mock' received unexpected message :foobar with (no args)&quot;)
       end
-      
+
       it &quot;should restore objects to their original state on rspec_reset&quot; do
         mock = mock(&quot;this is a mock&quot;)
         mock.should_receive(:blah)
@@ -351,28 +351,28 @@ module Spec
       it &quot;should work even after method_missing starts raising NameErrors instead of NoMethodErrors&quot; do
         # Object#method_missing throws either NameErrors or NoMethodErrors.
         #
-        # On a fresh ruby program Object#method_missing: 
+        # On a fresh ruby program Object#method_missing:
         #  * raises a NoMethodError when called directly
         #  * raises a NameError when called indirectly
         #
         # Once Object#method_missing has been called at least once (on any object)
-        # it starts behaving differently: 
+        # it starts behaving differently:
         #  * raises a NameError when called directly
         #  * raises a NameError when called indirectly
         #
         # There was a bug in Mock#method_missing that relied on the fact
         # that calling Object#method_missing directly raises a NoMethodError.
         # This example tests that the bug doesn't exist anymore.
-        
-        
+
+
         # Ensures that method_missing always raises NameErrors.
         a_method_that_doesnt_exist rescue
-        
-        
+
+
         @mock.should_receive(:foobar)
         @mock.foobar
         @mock.rspec_verify
-                
+
         lambda { @mock.foobar }.should_not raise_error(NameError)
         lambda { @mock.foobar }.should raise_error(MockExpectationError)
       end
@@ -395,7 +395,7 @@ module Spec
         non_mock.msg.should equal(:stub_value)
         non_mock.rspec_verify
       end
-      
+
       it &quot;should assign stub return values&quot; do
         mock = Mock.new('name', :message =&gt; :response)
         mock.message.should == :response
@@ -407,11 +407,11 @@ module Spec
         @mock = mock(&quot;mock&quot;)
         @calls = 0
       end
-      
+
       def add_call
         @calls = @calls + 1
       end
-      
+
       it &quot;should call the block after #should_receive&quot; do
         @mock.should_receive(:foo) { add_call }
 
@@ -439,7 +439,7 @@ module Spec
 
       it &quot;should call the block after #times&quot; do
         @mock.should_receive(:foo).exactly(10).times { add_call }
-        
+
         (1..10).each { @mock.foo }
 
         @calls.should == 10
@@ -447,7 +447,7 @@ module Spec
 
       it &quot;should call the block after #any_number_of_times&quot; do
         @mock.should_receive(:foo).any_number_of_times { add_call }
-        
+
         (1..7).each { @mock.foo }
 
         @calls.should == 7
@@ -455,7 +455,7 @@ module Spec
 
       it &quot;should call the block after #with&quot; do
         @mock.should_receive(:foo).with(:arg) { add_call }
-        
+
         @mock.foo(:arg)
 
         @calls.should == 1
@@ -464,7 +464,7 @@ module Spec
       it &quot;should call the block after #ordered&quot; do
         @mock.should_receive(:foo).ordered { add_call }
         @mock.should_receive(:bar).ordered { add_call }
-        
+
         @mock.foo
         @mock.bar
 </diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/mock_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,7 @@ module Spec
         @return_values = [&quot;1&quot;,2,Object.new]
         @mock.should_receive(:message).and_return(@return_values[0],@return_values[1],@return_values[2])
       end
-      
+
       it &quot;should return values in order to consecutive calls&quot; do
         @mock.message.should == @return_values[0]
         @mock.message.should == @return_values[1]
@@ -69,7 +69,7 @@ module Spec
         @mock = Mock.new(&quot;mock&quot;)
         @mock.should_receive(:message).at_least(:twice).with(no_args).and_return(11, 22)
       end
-      
+
       it &quot;should use last return value for subsequent calls&quot; do
         @mock.message.should equal(11)
         @mock.message.should equal(22)
@@ -87,7 +87,7 @@ module Spec
         @mock = Mock.new(&quot;mock&quot;)
         @mock.should_receive(:message).exactly(3).times.and_return(11, 22)
       end
-      
+
       it &quot;should use last return value for subsequent calls&quot; do
         @mock.message.should equal(11)
         @mock.message.should equal(22)</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/multiple_return_value_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,7 +23,7 @@ module Spec
           @mock.rspec_verify
         end.should raise_error(MockExpectationError)
       end
-      
+
       it &quot;once should fail when not called&quot; do
         @mock.should_receive(:random_call).once
         lambda do</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/once_counts_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,7 +21,7 @@ module Spec
           mock.rspec_verify
         end
         example = example_group.new(example_definition)
-        
+
         reporter.should_receive(:example_finished) do |spec, error|
           error.backtrace.detect {|line| line =~ /\/path\/to\/blah.ext:37/}.should_not be_nil
         end</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/options_hash_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,20 +6,20 @@ module Spec
       before(:each) do
         @object = Object.new
       end
-    
+
       it &quot;should name the class in the failure message&quot; do
         @object.should_receive(:foo)
         lambda do
           @object.rspec_verify
         end.should raise_error(Spec::Mocks::MockExpectationError, /Object/)
       end
-    
+
       it &quot;should not conflict with @options in the object&quot; do
         @object.instance_eval { @options = Object.new }
         @object.should_receive(:blah)
         @object.blah
       end
-            
+
       it &quot;should_not_receive should mock out the method&quot; do
         @object.should_not_receive(:fuhbar)
         @object.fuhbar
@@ -27,44 +27,44 @@ module Spec
           @object.rspec_verify
         end.should raise_error(Spec::Mocks::MockExpectationError)
       end
-    
+
       it &quot;should_not_receive should return a negative message expectation&quot; do
         @object.should_not_receive(:foobar).should be_kind_of(NegativeMessageExpectation)
       end
-    
+
       it &quot;should_receive should mock out the method&quot; do
         @object.should_receive(:foobar).with(:test_param).and_return(1)
         @object.foobar(:test_param).should equal(1)
       end
-    
+
       it &quot;should_receive should handle a hash&quot; do
         @object.should_receive(:foobar).with(:key =&gt; &quot;value&quot;).and_return(1)
         @object.foobar(:key =&gt; &quot;value&quot;).should equal(1)
       end
-    
+
       it &quot;should_receive should handle an inner hash&quot; do
         hash = {:a =&gt; {:key =&gt; &quot;value&quot;}}
         @object.should_receive(:foobar).with(:key =&gt; &quot;value&quot;).and_return(1)
         @object.foobar(hash[:a]).should equal(1)
       end
-    
+
       it &quot;should_receive should return a message expectation&quot; do
         @object.should_receive(:foobar).should be_kind_of(MessageExpectation)
         @object.foobar
       end
-    
+
       it &quot;should_receive should verify method was called&quot; do
         @object.should_receive(:foobar).with(:test_param).and_return(1)
         lambda do
           @object.rspec_verify
         end.should raise_error(Spec::Mocks::MockExpectationError)
       end
-    
+
       it &quot;should_receive should also take a String argument&quot; do
         @object.should_receive('foobar')
         @object.foobar
       end
-      
+
       it &quot;should_not_receive should also take a String argument&quot; do
         @object.should_not_receive('foobar')
         @object.foobar
@@ -72,7 +72,7 @@ module Spec
           @object.rspec_verify
         end.should raise_error(Spec::Mocks::MockExpectationError)
       end
-      
+
       it &quot;should use report nil in the error message&quot; do
         @this_will_resolve_to_nil.should_receive(:foobar)
         lambda do
@@ -80,23 +80,23 @@ module Spec
         end.should raise_error(Spec::Mocks::MockExpectationError, /NilClass.*expected :foobar with/)
       end
     end
-    
+
     describe &quot;Partially mocking an object that defines ==, after another mock has been defined&quot; do
       before(:each) do
         stub(&quot;existing mock&quot;, :foo =&gt; :foo)
       end
-      
+
       class PartiallyMockedEquals
         attr_reader :val
         def initialize(val)
           @val = val
         end
-        
+
         def ==(other)
           @val == other.val
         end
       end
-      
+
       it &quot;should not raise an error when stubbing the object&quot; do
         o = PartiallyMockedEquals.new :foo
         lambda { o.stub!(:bar) }.should_not raise_error(NoMethodError)</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/partial_mock_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ module Spec
 module Mocks
 describe &quot;PartialMockUsingMocksDirectly&quot; do
     before(:each) do
-      
+
         klass=Class.new
         klass.class_eval do
           def existing_method
@@ -12,9 +12,9 @@ describe &quot;PartialMockUsingMocksDirectly&quot; do
           end
         end
         @obj = klass.new
-      
+
     end
-    
+
     # See http://rubyforge.org/tracker/index.php?func=detail&amp;aid=10263&amp;group_id=797&amp;atid=3149
     # specify &quot;should clear expectations on verify&quot; do
     #     @obj.should_receive(:msg)
@@ -23,14 +23,14 @@ describe &quot;PartialMockUsingMocksDirectly&quot; do
     #     lambda do
     #       @obj.msg
     #     end.should raise_error(NoMethodError)
-    #   
+    #
     # end
     it &quot;should fail when expected message is not received&quot; do
         @obj.should_receive(:msg)
         lambda do
           @obj.rspec_verify
         end.should raise_error(MockExpectationError)
-      
+
     end
     it &quot;should fail when message is received with incorrect args&quot; do
         @obj.should_receive(:msg).with(:correct_arg)
@@ -38,19 +38,19 @@ describe &quot;PartialMockUsingMocksDirectly&quot; do
           @obj.msg(:incorrect_arg)
         end.should raise_error(MockExpectationError)
         @obj.msg(:correct_arg)
-      
+
     end
     it &quot;should pass when expected message is received&quot; do
         @obj.should_receive(:msg)
         @obj.msg
         @obj.rspec_verify
-      
+
     end
     it &quot;should pass when message is received with correct args&quot; do
         @obj.should_receive(:msg).with(:correct_arg)
         @obj.msg(:correct_arg)
         @obj.rspec_verify
-      
+
     end
     it &quot;should revert to original method if existed&quot; do
         @obj.existing_method.should equal(:original_value)
@@ -58,9 +58,9 @@ describe &quot;PartialMockUsingMocksDirectly&quot; do
         @obj.existing_method.should equal(:mock_value)
         @obj.rspec_verify
         @obj.existing_method.should equal(:original_value)
-      
+
     end
-  
+
 end
 end
 end</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,12 +7,12 @@ module Spec
         @mock = Mock.new(&quot;test mock&quot;)
         Kernel.stub!(:warn)
       end
-      
+
       after(:each) do
         @mock.rspec_verify
       end
     end
-    
+
     describe Methods, &quot;handling argument constraints with DEPRECATED symbols&quot; do
       it_should_behave_like &quot;mock argument constraints&quot;
 
@@ -20,7 +20,7 @@ module Spec
         @mock.should_receive(:random_call).with(:boolean)
         @mock.random_call(true)
       end
-      
+
       it &quot;should accept false as boolean&quot; do
         @mock.should_receive(:random_call).with(:boolean)
         @mock.random_call(false)
@@ -45,12 +45,12 @@ module Spec
         @mock.should_receive(:random_call).with(:string)
         @mock.random_call(&quot;a string&quot;)
       end
-      
+
       it &quot;should match no args against any_args&quot; do
         @mock.should_receive(:random_call).with(:any_args)
         @mock.random_call(&quot;a string&quot;)
       end
-      
+
       it &quot;should match no args against no_args&quot; do
         @mock.should_receive(:random_call).with(:no_args)
         @mock.random_call
@@ -94,23 +94,23 @@ module Spec
         @mock.should_receive(:random_call).with(duck_type(:abs, :div))
         @mock.random_call(1)
       end
-      
+
       it &quot;should match no args against any_args()&quot; do
         @mock.should_receive(:random_call).with(any_args)
         @mock.random_call()
       end
-      
+
       it &quot;should match one arg against any_args()&quot; do
         @mock.should_receive(:random_call).with(any_args)
         @mock.random_call(&quot;a string&quot;)
       end
-      
+
       it &quot;should match no args against no_args()&quot; do
         @mock.should_receive(:random_call).with(no_args)
         @mock.random_call()
       end
     end
-    
+
     describe Methods, &quot;handling non-constraint arguments&quot; do
 
       it &quot;should match non special symbol (can be removed when deprecated symbols are removed)&quot; do
@@ -127,24 +127,24 @@ module Spec
         @mock.should_receive(:random_call).with(/bcd/)
         @mock.random_call(/bcd/)
       end
-      
+
       it &quot;should match against a hash submitted and received by value&quot; do
         @mock.should_receive(:random_call).with(:a =&gt; &quot;a&quot;, :b =&gt; &quot;b&quot;)
         @mock.random_call(:a =&gt; &quot;a&quot;, :b =&gt; &quot;b&quot;)
       end
-      
+
       it &quot;should match against a hash submitted by reference and received by value&quot; do
         opts = {:a =&gt; &quot;a&quot;, :b =&gt; &quot;b&quot;}
         @mock.should_receive(:random_call).with(opts)
         @mock.random_call(:a =&gt; &quot;a&quot;, :b =&gt; &quot;b&quot;)
       end
-      
+
       it &quot;should match against a hash submitted by value and received by reference&quot; do
         opts = {:a =&gt; &quot;a&quot;, :b =&gt; &quot;b&quot;}
         @mock.should_receive(:random_call).with(:a =&gt; &quot;a&quot;, :b =&gt; &quot;b&quot;)
         @mock.random_call(opts)
       end
-      
+
       it &quot;should match against a Matcher&quot; do
         @mock.should_receive(:msg).with(equal(37))
         @mock.msg(37)</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -44,7 +44,7 @@ module Spec
           @instance.rspec_verify
         end.should_not raise_error
       end
-      
+
       it &quot;should clear itself when verified&quot; do
         @instance.stub!(:this_should_go).and_return(:blah)
         @instance.this_should_go.should == :blah
@@ -79,7 +79,7 @@ module Spec
         @instance.rspec_verify
         @instance.existing_instance_method.should equal(:original_value)
       end
-      
+
       it &quot;should revert to original class method if there is one&quot; do
         @class.existing_class_method.should equal(:original_value)
         @class.stub!(:existing_class_method).and_return(:mock_value)
@@ -104,7 +104,7 @@ module Spec
         current_value.should == [:yielded_value, :another_value]
         @instance.rspec_verify
       end
-      
+
       it &quot;should yield a specified object and return another specified object&quot; do
         yielded_obj = mock(&quot;my mock&quot;)
         yielded_obj.should_receive(:foo).with(:bar)
@@ -118,12 +118,12 @@ module Spec
           @mock.something
         end.should throw_symbol(:up)
       end
-      
+
       it &quot;should override a pre-existing stub&quot; do
         @stub.stub!(:existing_instance_method).and_return(:updated_stub_value)
         @stub.existing_instance_method.should == :updated_stub_value
       end
-      
+
       it &quot;should limit &quot; do
         @stub.stub!(:foo).with(&quot;bar&quot;)
         @stub.should_receive(:foo).with(&quot;baz&quot;)
@@ -131,7 +131,7 @@ module Spec
         @stub.foo(&quot;baz&quot;)
       end
     end
-    
+
     describe &quot;A method stub with args&quot; do
       before(:each) do
         @stub = Object.new
@@ -171,7 +171,7 @@ module Spec
           @stub.foo(&quot;other&quot;)
         end.should raise_error
       end
-      
+
       it &quot;should support options&quot; do
         @stub.stub!(:foo, :expected_from =&gt; &quot;bar&quot;)
       end</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/stub_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,7 @@ module Spec
           @mock.rspec_verify
         end.should raise_error(MockExpectationError)
       end
-      
+
       it &quot;twice should fail when call count is lower than expected&quot; do
         @mock.should_receive(:random_call).twice
         @mock.random_call
@@ -24,7 +24,7 @@ module Spec
           @mock.rspec_verify
         end.should raise_error(MockExpectationError)
       end
-      
+
       it &quot;twice should fail when called twice with wrong args on the first call&quot; do
         @mock.should_receive(:random_call).twice.with(&quot;1&quot;, 1)
         lambda do
@@ -32,7 +32,7 @@ module Spec
         end.should raise_error(MockExpectationError)
         @mock.rspec_reset
       end
-      
+
       it &quot;twice should fail when called twice with wrong args on the second call&quot; do
         @mock.should_receive(:random_call).twice.with(&quot;1&quot;, 1)
         @mock.random_call(&quot;1&quot;, 1)
@@ -41,21 +41,21 @@ module Spec
         end.should raise_error(MockExpectationError)
         @mock.rspec_reset
       end
-      
+
       it &quot;twice should pass when called twice&quot; do
         @mock.should_receive(:random_call).twice
         @mock.random_call
         @mock.random_call
         @mock.rspec_verify
       end
-      
+
       it &quot;twice should pass when called twice with specified args&quot; do
         @mock.should_receive(:random_call).twice.with(&quot;1&quot;, 1)
         @mock.random_call(&quot;1&quot;, 1)
         @mock.random_call(&quot;1&quot;, 1)
         @mock.rspec_verify
       end
-      
+
       it &quot;twice should pass when called twice with unspecified args&quot; do
         @mock.should_receive(:random_call).twice
         @mock.random_call(&quot;1&quot;)</diff>
      <filename>rails_plugins/rspec/spec/spec/mocks/twice_counts_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../../ruby_forker'
 
 describe &quot;The bin/spec script&quot; do
   include RubyForker
-  
+
   it &quot;should have no warnings&quot; do
     pending &quot;Hangs on JRuby&quot; if PLATFORM =~ /java/
     spec_path = &quot;#{File.dirname(__FILE__)}/../../../bin/spec&quot;</diff>
      <filename>rails_plugins/rspec/spec/spec/package/bin_spec_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
 module Spec
   module Runner
     describe ClassAndArgumentsParser, &quot;.parse&quot; do
-      
+
       it &quot;should use a single : to separate class names from arguments&quot; do
         ClassAndArgumentsParser.parse('Foo').should == ['Foo', nil]
         ClassAndArgumentsParser.parse('Foo:arg').should == ['Foo', 'arg']
@@ -17,7 +17,7 @@ module Spec
         lambda do
           ClassAndArgumentsParser.parse('')
         end.should raise_error(&quot;Couldn't parse \&quot;\&quot;&quot;)
-      end      
+      end
     end
   end
 end</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/class_and_argument_parser_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -107,7 +107,7 @@ module Spec
 
         ::Spec::Runner::Options.should_receive(:new).with(@err, @out).and_return(options)
         options.reporter.should_receive(:add_example_group).with(example_group)
-        
+
         Spec::Runner::CommandLine.run(OptionParser.parse([], @err, @out))
       end
 </diff>
      <filename>rails_plugins/rspec/spec/spec/runner/command_line_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@ module Spec
           err.rewind
           err.read.should =~ /No server is running/
         end
-      end    
+      end
     end
 
     class DrbCommandLineSpec &lt; ::Spec::Example::ExampleGroup
@@ -23,7 +23,7 @@ module Spec
           exit Spec::Runner::CommandLine.run(OptionParser.parse(argv, stderr, stdout))
         end
       end
-      
+
       unless Config::CONFIG['ruby_install_name'] == 'jruby'
         before(:all) do
           DRb.start_service(&quot;druby://localhost:8989&quot;, CommandLineForSpec)</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/drb_command_line_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 require File.dirname(__FILE__) + '/../../spec_helper.rb'
 
 describe &quot;ExecutionContext&quot; do
-  
+
   it &quot;should provide duck_type()&quot; do
     dt = duck_type(:length)
     dt.should be_an_instance_of(Spec::Mocks::DuckTypeArgConstraint)
@@ -21,7 +21,7 @@ describe &quot;ExecutionContext&quot; do
   it &quot;should provide stub()&quot; do
     thing_stub = stub(&quot;thing&quot;).should be_an_instance_of(Spec::Mocks::Mock)
   end
-  
+
   it &quot;should add method stubs to stub()&quot; do
     thing_stub = stub(&quot;thing&quot;, :a =&gt; &quot;A&quot;, :b =&gt; &quot;B&quot;)
     thing_stub.a.should == &quot;A&quot;</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/execution_context_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,7 @@ module Spec
           @formatter = FailingExampleGroupsFormatter.new(options, io)
           @example_group = Class.new(::Spec::Example::ExampleGroup)
         end
-        
+
         it &quot;should add example name for each failure&quot; do
           formatter.add_example_group(Class.new(ExampleGroup).describe(&quot;b 1&quot;))
           formatter.example_failed(&quot;e 1&quot;, nil, Reporter::Failure.new(nil, RuntimeError.new))
@@ -22,7 +22,7 @@ module Spec
           formatter.example_failed(&quot;e 3&quot;, nil, Reporter::Failure.new(nil, RuntimeError.new))
           io.string.should == &quot;b 1\nb 2\n&quot;
         end
-        
+
         it &quot;should delimit ExampleGroup superclass descriptions with :&quot; do
           parent_example_group = Class.new(example_group).describe(&quot;Parent&quot;)
           child_example_group = Class.new(parent_example_group).describe(&quot;#child_method&quot;)</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
   PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.4.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
   PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
@@ -197,7 +197,7 @@ a {
 &lt;span class=&quot;linenum&quot;&gt;12&lt;/span&gt;    mock = mock(&quot;poke me&quot;)
 &lt;span class=&quot;offending&quot;&gt;&lt;span class=&quot;linenum&quot;&gt;13&lt;/span&gt;    mock.should_receive(:poke)&lt;/span&gt;
 &lt;span class=&quot;linenum&quot;&gt;14&lt;/span&gt;  end
-&lt;span class=&quot;linenum&quot;&gt;15&lt;/span&gt;  
+&lt;span class=&quot;linenum&quot;&gt;15&lt;/span&gt;
 &lt;span class=&quot;linenum&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;# gem install syntax to get syntax highlighting&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
       &lt;/div&gt;
     &lt;/dd&gt;</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
   PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
   PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
   PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
@@ -236,7 +236,7 @@ a {
       &lt;span class=&quot;failed_spec_name&quot;&gt;has a bug we need to fix&lt;/span&gt;
       &lt;div class=&quot;failure&quot; id=&quot;failure_4&quot;&gt;
         &lt;div class=&quot;message&quot;&gt;&lt;pre&gt;Expected pending 'here is the bug' to fail. No Error was raised.&lt;/pre&gt;&lt;/div&gt;
-        
+
     &lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&lt;span class=&quot;linenum&quot;&gt;31&lt;/span&gt;
 &lt;span class=&quot;linenum&quot;&gt;32&lt;/span&gt;  &lt;span class=&quot;ident&quot;&gt;it&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;has a bug we need to fix&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;do&lt;/span&gt;
 &lt;span class=&quot;offending&quot;&gt;&lt;span class=&quot;linenum&quot;&gt;33&lt;/span&gt;    &lt;span class=&quot;ident&quot;&gt;pending&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;here is the bug&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;do&lt;/span&gt;&lt;/span&gt;
@@ -263,7 +263,7 @@ Diff:
 +behaviour driven development
  framework for Ruby
 &lt;/pre&gt;&lt;/div&gt;
-        
+
     &lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&lt;span class=&quot;linenum&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;framework&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;constant&quot;&gt;Ruby&lt;/span&gt;
 &lt;span class=&quot;linenum&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;constant&quot;&gt;EOF&lt;/span&gt;
 &lt;span class=&quot;offending&quot;&gt;&lt;span class=&quot;linenum&quot;&gt;13&lt;/span&gt;    &lt;span class=&quot;ident&quot;&gt;usa&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;should&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ident&quot;&gt;uk&lt;/span&gt;&lt;/span&gt;</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@ module Spec
           def jruby?
             PLATFORM == 'java'
           end
-    
+
           it &quot;should produce HTML identical to the one we designed manually with #{opt}&quot; do
             root = File.expand_path(File.dirname(__FILE__) + '/../../../..')
             suffix = jruby? ? '-jruby' : ''</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,19 +12,19 @@ module Spec
           options.stub!(:colour).and_return(true)
           @formatter = ProfileFormatter.new(options, io)
         end
-        
+
         it &quot;should print a heading&quot; do
           formatter.start(0)
           io.string.should eql(&quot;Profiling enabled.\n&quot;)
         end
-        
+
         it &quot;should record the current time when starting a new example&quot; do
           now = Time.now
           Time.stub!(:now).and_return(now)
           formatter.example_started('should foo')
           formatter.instance_variable_get(&quot;@time&quot;).should == now
         end
-        
+
         it &quot;should correctly record a passed example&quot; do
           now = Time.now
           Time.stub!(:now).and_return(now)
@@ -32,7 +32,7 @@ module Spec
           child_example_group = Class.new(parent_example_group).describe('Child')
 
           formatter.add_example_group(child_example_group)
-          
+
           formatter.example_started('when foo')
           Time.stub!(:now).and_return(now+1)
           formatter.example_passed(stub('foo', :description =&gt; 'i like ice cream'))
@@ -40,22 +40,22 @@ module Spec
           formatter.start_dump
           io.string.should include('Parent Child')
         end
-        
+
         it &quot;should sort the results in descending order&quot; do
           formatter.instance_variable_set(&quot;@example_times&quot;, [['a', 'a', 0.1], ['b', 'b', 0.3], ['c', 'c', 0.2]])
           formatter.start_dump
           formatter.instance_variable_get(&quot;@example_times&quot;).should == [ ['b', 'b', 0.3], ['c', 'c', 0.2], ['a', 'a', 0.1]]
         end
-        
+
         it &quot;should print the top 10 results&quot; do
           example_group = Class.new(::Spec::Example::ExampleGroup).describe(&quot;ExampleGroup&quot;)
           formatter.add_example_group(example_group)
           formatter.instance_variable_set(&quot;@time&quot;, Time.now)
-          
-          15.times do 
+
+          15.times do
             formatter.example_passed(stub('foo', :description =&gt; 'i like ice cream'))
           end
-          
+
           io.should_receive(:print).exactly(10)
           formatter.start_dump
         end</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -22,7 +22,7 @@ module Spec
           @formatter.dump_summary(3, 2, 1, 0)
           @io.string.should eql(&quot;\nFinished in 3 seconds\n\n2 examples, 1 failure\n&quot;)
         end
-        
+
         it &quot;should produce standard summary&quot; do
           @formatter.example_pending(&quot;example_group&quot;, ExampleGroup.new(&quot;example&quot;), &quot;message&quot;)
           @io.rewind
@@ -82,14 +82,14 @@ EOE
 /tmp/x.rb:3:
 EOE
         end
-        
+
         it &quot;should dump pending&quot; do
           @formatter.example_pending(&quot;example_group&quot;, ExampleGroup.new(&quot;example&quot;), &quot;message&quot;)
           @formatter.dump_pending
           @io.string.should =~ /Pending\:\nexample_group example \(message\)\n/
         end
       end
-      
+
       describe &quot;ProgressBarFormatter outputting to custom out&quot; do
         before(:each) do
           @out = mock(&quot;out&quot;)
@@ -116,7 +116,7 @@ EOE
           options.stub!(:dry_run).and_return(true)
           @formatter = ProgressBarFormatter.new(options, @io)
         end
-      
+
         it &quot;should not produce summary on dry run&quot; do
           @formatter.dump_summary(3, 2, 1, 0)
           @io.string.should eql(&quot;&quot;)</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -36,7 +36,7 @@ module Spec
             Spec::Runner::CommandLine.run(options)
 
             yield(out.string)
-          end          
+          end
         end
 
         # # Uncomment this spec temporarily in order to overwrite the expected with actual.</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,7 +11,7 @@ module Spec
             @options = mock('options')
             @reporter = HtmlFormatter.new(@options, @out)
           end
-          
+
           it &quot;should just be poked at&quot; do
             @reporter.run_started(1)
             @reporter.story_started('story_title', 'narrative')
@@ -27,19 +27,19 @@ module Spec
             @reporter.scenario_started('story_title', 'failed_scenario_name')
             @reporter.step_failed('then', 'failed_step', 'en', 'to')
             @reporter.scenario_failed('story_title', 'failed_scenario_name', NameError.new('sup'))
-            
+
             @reporter.scenario_started('story_title', 'scenario_with_given_scenario_name')
             @reporter.found_scenario('given scenario', 'succeeded_scenario_name')
-            
+
             @reporter.story_ended('story_title', 'narrative')
             @reporter.run_ended
           end
-          
+
           it &quot;should create spans for params&quot; do
             @reporter.step_succeeded('given', 'a $coloured $animal', 'brown', 'dog')
             @out.string.should == &quot;                &lt;li class=\&quot;passed\&quot;&gt;Given a &lt;span class=\&quot;param\&quot;&gt;brown&lt;/span&gt; &lt;span class=\&quot;param\&quot;&gt;dog&lt;/span&gt;&lt;/li&gt;\n&quot;
           end
-          
+
           it 'should create spanes for params in regexp steps' do
             @reporter.step_succeeded :given, /a (pink|blue) (.*)/, 'brown', 'dog'
             @out.string.should == &quot;                &lt;li class=\&quot;passed\&quot;&gt;Given a &lt;span class=\&quot;param\&quot;&gt;brown&lt;/span&gt; &lt;span class=\&quot;param\&quot;&gt;dog&lt;/span&gt;&lt;/li&gt;\n&quot;</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/story/html_formatter_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
   PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
@@ -188,8 +188,8 @@ a {
       &lt;span class=&quot;failed_spec_name&quot;&gt;should fail when expected message not received&lt;/span&gt;
       &lt;div class=&quot;failure&quot; id=&quot;failure_1&quot;&gt;
         &lt;div class=&quot;message&quot;&gt;&lt;pre&gt;Mock 'poke me' expected :poke with (any args) once, but received it 0 times&lt;/pre&gt;&lt;/div&gt;
-        &lt;div class=&quot;backtrace&quot;&gt;&lt;pre&gt;&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/failing_examples/mocking_example.rb&amp;line=13&quot;&gt;./failing_examples/mocking_example.rb:13&lt;/a&gt; 
-&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=52&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52&lt;/a&gt; 
+        &lt;div class=&quot;backtrace&quot;&gt;&lt;pre&gt;&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/failing_examples/mocking_example.rb&amp;line=13&quot;&gt;./failing_examples/mocking_example.rb:13&lt;/a&gt;
+&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=52&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52&lt;/a&gt;
 &lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=48&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:48&lt;/a&gt; &lt;/pre&gt;&lt;/div&gt;
     &lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&lt;span class=&quot;linenum&quot;&gt;11&lt;/span&gt;  &lt;span class=&quot;ident&quot;&gt;it&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;should fail when expected message not received&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;do&lt;/span&gt;
 &lt;span class=&quot;linenum&quot;&gt;12&lt;/span&gt;    &lt;span class=&quot;ident&quot;&gt;mock&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ident&quot;&gt;mock&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;(&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;poke me&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;)&lt;/span&gt;
@@ -203,8 +203,8 @@ a {
       &lt;span class=&quot;failed_spec_name&quot;&gt;should fail when messages are received out of order&lt;/span&gt;
       &lt;div class=&quot;failure&quot; id=&quot;failure_2&quot;&gt;
         &lt;div class=&quot;message&quot;&gt;&lt;pre&gt;Mock 'one two three' received :three out of order&lt;/pre&gt;&lt;/div&gt;
-        &lt;div class=&quot;backtrace&quot;&gt;&lt;pre&gt;&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/failing_examples/mocking_example.rb&amp;line=22&quot;&gt;./failing_examples/mocking_example.rb:22&lt;/a&gt; 
-&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=52&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52&lt;/a&gt; 
+        &lt;div class=&quot;backtrace&quot;&gt;&lt;pre&gt;&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/failing_examples/mocking_example.rb&amp;line=22&quot;&gt;./failing_examples/mocking_example.rb:22&lt;/a&gt;
+&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=52&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52&lt;/a&gt;
 &lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=48&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:48&lt;/a&gt; &lt;/pre&gt;&lt;/div&gt;
     &lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&lt;span class=&quot;linenum&quot;&gt;20&lt;/span&gt;    &lt;span class=&quot;ident&quot;&gt;mock&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;should_receive&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;symbol&quot;&gt;:three&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;ordered&lt;/span&gt;
 &lt;span class=&quot;linenum&quot;&gt;21&lt;/span&gt;    &lt;span class=&quot;ident&quot;&gt;mock&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;one&lt;/span&gt;
@@ -218,8 +218,8 @@ a {
       &lt;span class=&quot;failed_spec_name&quot;&gt;should get yelled at when sending unexpected messages&lt;/span&gt;
       &lt;div class=&quot;failure&quot; id=&quot;failure_3&quot;&gt;
         &lt;div class=&quot;message&quot;&gt;&lt;pre&gt;Mock 'don't talk to me' expected :any_message_at_all with (any args) 0 times, but received it once&lt;/pre&gt;&lt;/div&gt;
-        &lt;div class=&quot;backtrace&quot;&gt;&lt;pre&gt;&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/failing_examples/mocking_example.rb&amp;line=28&quot;&gt;./failing_examples/mocking_example.rb:28&lt;/a&gt; 
-&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=52&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52&lt;/a&gt; 
+        &lt;div class=&quot;backtrace&quot;&gt;&lt;pre&gt;&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/failing_examples/mocking_example.rb&amp;line=28&quot;&gt;./failing_examples/mocking_example.rb:28&lt;/a&gt;
+&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=52&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52&lt;/a&gt;
 &lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=48&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:48&lt;/a&gt; &lt;/pre&gt;&lt;/div&gt;
     &lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&lt;span class=&quot;linenum&quot;&gt;26&lt;/span&gt;  &lt;span class=&quot;ident&quot;&gt;it&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;should get yelled at when sending unexpected messages&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;do&lt;/span&gt;
 &lt;span class=&quot;linenum&quot;&gt;27&lt;/span&gt;    &lt;span class=&quot;ident&quot;&gt;mock&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ident&quot;&gt;mock&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;(&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;don't talk to me&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;)&lt;/span&gt;
@@ -233,8 +233,8 @@ a {
       &lt;span class=&quot;failed_spec_name&quot;&gt;has a bug we need to fix&lt;/span&gt;
       &lt;div class=&quot;failure&quot; id=&quot;failure_4&quot;&gt;
         &lt;div class=&quot;message&quot;&gt;&lt;pre&gt;Expected pending 'here is the bug' to fail. No Error was raised.&lt;/pre&gt;&lt;/div&gt;
-        &lt;div class=&quot;backtrace&quot;&gt;&lt;pre&gt;&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/failing_examples/mocking_example.rb&amp;line=33&quot;&gt;./failing_examples/mocking_example.rb:33&lt;/a&gt; 
-&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=52&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52&lt;/a&gt; 
+        &lt;div class=&quot;backtrace&quot;&gt;&lt;pre&gt;&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/failing_examples/mocking_example.rb&amp;line=33&quot;&gt;./failing_examples/mocking_example.rb:33&lt;/a&gt;
+&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=52&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52&lt;/a&gt;
 &lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=48&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:48&lt;/a&gt; &lt;/pre&gt;&lt;/div&gt;
     &lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&lt;span class=&quot;linenum&quot;&gt;31&lt;/span&gt;
 &lt;span class=&quot;linenum&quot;&gt;32&lt;/span&gt;  &lt;span class=&quot;ident&quot;&gt;it&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;has a bug we need to fix&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;do&lt;/span&gt;
@@ -262,8 +262,8 @@ Diff:
 +behaviour driven development
  framework for Ruby
 &lt;/pre&gt;&lt;/div&gt;
-        &lt;div class=&quot;backtrace&quot;&gt;&lt;pre&gt;&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/failing_examples/diffing_spec.rb&amp;line=13&quot;&gt;./failing_examples/diffing_spec.rb:13&lt;/a&gt; 
-&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=52&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52&lt;/a&gt; 
+        &lt;div class=&quot;backtrace&quot;&gt;&lt;pre&gt;&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/failing_examples/diffing_spec.rb&amp;line=13&quot;&gt;./failing_examples/diffing_spec.rb:13&lt;/a&gt;
+&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=52&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52&lt;/a&gt;
 &lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=48&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:48&lt;/a&gt; &lt;/pre&gt;&lt;/div&gt;
     &lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&lt;span class=&quot;linenum&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;framework&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;constant&quot;&gt;Ruby&lt;/span&gt;
 &lt;span class=&quot;linenum&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;constant&quot;&gt;EOF&lt;/span&gt;
@@ -292,8 +292,8 @@ Diff:
 +species=tortoise
  &amp;gt;
 &lt;/pre&gt;&lt;/div&gt;
-        &lt;div class=&quot;backtrace&quot;&gt;&lt;pre&gt;&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/failing_examples/diffing_spec.rb&amp;line=34&quot;&gt;./failing_examples/diffing_spec.rb:34&lt;/a&gt; 
-&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=52&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52&lt;/a&gt; 
+        &lt;div class=&quot;backtrace&quot;&gt;&lt;pre&gt;&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/failing_examples/diffing_spec.rb&amp;line=34&quot;&gt;./failing_examples/diffing_spec.rb:34&lt;/a&gt;
+&lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=52&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52&lt;/a&gt;
 &lt;a href=&quot;txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&amp;line=48&quot;&gt;./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:48&lt;/a&gt; &lt;/pre&gt;&lt;/div&gt;
     &lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&lt;span class=&quot;linenum&quot;&gt;32&lt;/span&gt;    &lt;span class=&quot;ident&quot;&gt;expected&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;constant&quot;&gt;Animal&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;bob&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;,&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;giraffe&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;
 &lt;span class=&quot;linenum&quot;&gt;33&lt;/span&gt;    &lt;span class=&quot;ident&quot;&gt;actual&lt;/span&gt;   &lt;span class=&quot;punct&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;constant&quot;&gt;Animal&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;bob&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;,&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;tortoise&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html</filename>
    </modified>
    <modified>
      <diff>@@ -236,7 +236,7 @@ a {
       &lt;span class=&quot;failed_spec_name&quot;&gt;has a bug we need to fix&lt;/span&gt;
       &lt;div class=&quot;failure&quot; id=&quot;failure_4&quot;&gt;
         &lt;div class=&quot;message&quot;&gt;&lt;pre&gt;Expected pending 'here is the bug' to fail. No Error was raised.&lt;/pre&gt;&lt;/div&gt;
-        
+
     &lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&lt;span class=&quot;linenum&quot;&gt;31&lt;/span&gt;
 &lt;span class=&quot;linenum&quot;&gt;32&lt;/span&gt;  &lt;span class=&quot;ident&quot;&gt;it&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;has a bug we need to fix&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;do&lt;/span&gt;
 &lt;span class=&quot;offending&quot;&gt;&lt;span class=&quot;linenum&quot;&gt;33&lt;/span&gt;    &lt;span class=&quot;ident&quot;&gt;pending&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;here is the bug&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;do&lt;/span&gt;&lt;/span&gt;
@@ -263,7 +263,7 @@ Diff:
 +behaviour driven development
  framework for Ruby
 &lt;/pre&gt;&lt;/div&gt;
-        
+
     &lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&lt;span class=&quot;linenum&quot;&gt;11&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;framework&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;constant&quot;&gt;Ruby&lt;/span&gt;
 &lt;span class=&quot;linenum&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;constant&quot;&gt;EOF&lt;/span&gt;
 &lt;span class=&quot;offending&quot;&gt;&lt;span class=&quot;linenum&quot;&gt;13&lt;/span&gt;    &lt;span class=&quot;ident&quot;&gt;usa&lt;/span&gt;&lt;span class=&quot;punct&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;ident&quot;&gt;should&lt;/span&gt; &lt;span class=&quot;punct&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;ident&quot;&gt;uk&lt;/span&gt;&lt;/span&gt;</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html</filename>
    </modified>
    <modified>
      <diff>@@ -59,7 +59,7 @@ unless [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
       heckle_runner.heckle_with
     end
   end
-  
+
   describe &quot;Heckler&quot; do
     it &quot;should say yes to tests_pass? if specs pass&quot; do
       options = mock(&quot;options&quot;, :null_object =&gt; true)</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/heckle_runner_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,7 +7,7 @@ module Spec
         @error = RuntimeError.new
         @tweaker = NoisyBacktraceTweaker.new
       end
-        
+
       it &quot;should leave anything in lib spec dir&quot; do
         [&quot;expectations&quot;, &quot;mocks&quot;, &quot;runner&quot;, &quot;stubs&quot;].each do |child|
           @error.set_backtrace([&quot;/lib/spec/#{child}/anything.rb&quot;])
@@ -33,13 +33,13 @@ module Spec
           @tweaker.tweak_backtrace(@error)
         end.should_not raise_error
       end
-      
+
       it &quot;should clean up double slashes&quot; do
         @error.set_backtrace([&quot;/a//b/c//d.rb&quot;])
         @tweaker.tweak_backtrace(@error)
         @error.backtrace.should include(&quot;/a/b/c/d.rb&quot;)
       end
-      
+
     end
   end
 end</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@ describe &quot;OptionParser&quot; do
     @parser.parse(args)
     @parser.options
   end
-  
+
   it &quot;should accept files to include&quot; do
     options = parse([&quot;--pattern&quot;, &quot;foo&quot;])
     options.filename_pattern.should == &quot;foo&quot;
@@ -27,7 +27,7 @@ describe &quot;OptionParser&quot; do
     options = parse([&quot;--format&quot;, &quot;Custom::Formatter&quot;])
     options.formatters[0].class.should be(Custom::Formatter)
   end
-  
+
   it &quot;should support formatters with relative and absolute paths, even on windows&quot; do
     options = parse([
       &quot;--format&quot;, &quot;Custom::Formatter:C:\\foo\\bar&quot;,
@@ -66,8 +66,8 @@ describe &quot;OptionParser&quot; do
   end
 
   it &quot;should print instructions about how to require missing formatter&quot; do
-    lambda do 
-      options = parse([&quot;--format&quot;, &quot;Custom::MissingFormatter&quot;]) 
+    lambda do
+      options = parse([&quot;--format&quot;, &quot;Custom::MissingFormatter&quot;])
       options.formatters
     end.should raise_error(NameError)
     @err.string.should match(/Couldn't find formatter class Custom::MissingFormatter/n)
@@ -78,7 +78,7 @@ describe &quot;OptionParser&quot; do
     @out.rewind
     @out.read.should match(/RSpec-\d+\.\d+\.\d+.*\(build \d+\) - BDD for Ruby\nhttp:\/\/rspec.rubyforge.org\/\n/n)
   end
-  
+
   it &quot;should require file when require specified&quot; do
     lambda do
       parse([&quot;--require&quot;, &quot;whatever&quot;])
@@ -118,10 +118,10 @@ describe &quot;OptionParser&quot; do
   it &quot;should read several example names from file if --example is given an existing file name&quot; do
     options = parse([&quot;--example&quot;, File.dirname(__FILE__) + '/examples.txt'])
     options.examples.should eql([
-      &quot;Sir, if you were my husband, I would poison your drink.&quot;, 
+      &quot;Sir, if you were my husband, I would poison your drink.&quot;,
       &quot;Madam, if you were my wife, I would drink it.&quot;])
   end
-  
+
   it &quot;should read no examples if given an empty file&quot; do
     options = parse([&quot;--example&quot;, File.dirname(__FILE__) + '/empty_file.txt'])
     options.examples.should eql([])
@@ -303,7 +303,7 @@ describe &quot;OptionParser&quot; do
     options.colour.should be_true
     options.formatters.first.should be_instance_of(::Spec::Runner::Formatter::SpecdocFormatter)
   end
-   
+
   it &quot;should save config to file when --generate-options is specified&quot; do
     FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts')
     options = parse([&quot;--colour&quot;, &quot;--generate-options&quot;, &quot;test.spec.opts&quot;, &quot;--diff&quot;])
@@ -327,7 +327,7 @@ describe &quot;OptionParser&quot; do
     end
     parse([&quot;some/spec.rb&quot;, &quot;--diff&quot;, &quot;--drb&quot;, &quot;--colour&quot;])
   end
-  
+
   it &quot;should reverse spec order when --reverse is specified&quot; do
     options = parse([&quot;some/spec.rb&quot;, &quot;--reverse&quot;])
   end</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/option_parser_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -18,21 +18,21 @@ module Spec
           @options.examples.should == []
         end
       end
-      
+
       describe &quot;#include_pattern&quot; do
         it &quot;should default to '**/*_spec.rb'&quot; do
           @options.filename_pattern.should == &quot;**/*_spec.rb&quot;
         end
       end
-      
+
       describe &quot;#files_to_load&quot; do
-        
+
         it &quot;should load files not following pattern if named explicitly&quot; do
           file = File.expand_path(File.dirname(__FILE__) + &quot;/resources/a_bar.rb&quot;)
           @options.files &lt;&lt; file
           @options.files_to_load.should include(file)
         end
-        
+
         describe &quot;with default --pattern&quot; do
           it &quot;should load files named _spec.rb&quot; do
             dir = File.expand_path(File.dirname(__FILE__) + &quot;/resources/&quot;)
@@ -40,33 +40,33 @@ module Spec
             @options.files_to_load.should == [&quot;#{dir}/a_spec.rb&quot;]
           end
         end
-        
+
         describe &quot;with explicit pattern (single)&quot; do
           before(:each) do
             @options.filename_pattern = &quot;**/*_foo.rb&quot;
           end
-        
+
           it &quot;should load files following pattern&quot; do
             file = File.expand_path(File.dirname(__FILE__) + &quot;/resources/a_foo.rb&quot;)
             @options.files &lt;&lt; file
             @options.files_to_load.should include(file)
           end
-        
+
           it &quot;should load files in directories following pattern&quot; do
             dir = File.expand_path(File.dirname(__FILE__) + &quot;/resources&quot;)
             @options.files &lt;&lt; dir
             @options.files_to_load.should include(&quot;#{dir}/a_foo.rb&quot;)
           end
-        
+
           it &quot;should not load files in directories not following pattern&quot; do
             dir = File.expand_path(File.dirname(__FILE__) + &quot;/resources&quot;)
             @options.files &lt;&lt; dir
             @options.files_to_load.should_not include(&quot;#{dir}/a_bar.rb&quot;)
           end
         end
-        
+
         describe &quot;with explicit pattern (comma,separated,values)&quot; do
-          
+
           before(:each) do
             @options.filename_pattern = &quot;**/*_foo.rb,**/*_bar.rb&quot;
           end
@@ -77,16 +77,16 @@ module Spec
             @options.files_to_load.should include(&quot;#{dir}/a_foo.rb&quot;)
             @options.files_to_load.should include(&quot;#{dir}/a_bar.rb&quot;)
           end
-        
+
           it &quot;should support comma separated values with spaces&quot; do
             dir = File.expand_path(File.dirname(__FILE__) + &quot;/resources&quot;)
             @options.files &lt;&lt; dir
             @options.files_to_load.should include(&quot;#{dir}/a_foo.rb&quot;)
             @options.files_to_load.should include(&quot;#{dir}/a_bar.rb&quot;)
           end
-        
+
         end
-      
+
       end
 
       describe &quot;#backtrace_tweaker&quot; do</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/options_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -45,7 +45,7 @@ module Spec
         @tweaker.tweak_backtrace(@error)
         @error.backtrace.should be_empty
       end
-      
+
       it &quot;should clean up double slashes&quot; do
         @error.set_backtrace([&quot;/a//b/c//d.rb&quot;])
         @tweaker.tweak_backtrace(@error)</diff>
      <filename>rails_plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,10 +10,10 @@ module Spec
         return @name == other.name
       end
     end
-    
+
     class ClassWithMultiWordPredicate
       def multi_word_predicate?
-        true 
+        true
       end
     end
 
@@ -45,12 +45,12 @@ module Spec
         def add_to_collection_with_length_method(item)
           @items_in_collection_with_length_method.push(item)
         end
-        
+
         def items_for(arg)
           return [1, 2, 3] if arg == 'a'
           [1]
         end
-        
+
         def items
           @items_in_collection_with_size_method
         end
@@ -75,11 +75,11 @@ module Spec
           @funny_called = true
           @return_val
         end
-        
+
         def exists?
           @return_val
         end
-        
+
         def multi_word_predicate?
           @return_val
         end
@@ -102,7 +102,7 @@ module Custom
   require 'spec/runner/formatter/base_text_formatter'
   class Formatter &lt; Spec::Runner::Formatter::BaseTextFormatter
     attr_reader :options, :where
-    
+
     def initialize(options, where)
       @options = options
       @where = where
@@ -111,7 +111,7 @@ module Custom
 
   class BadFormatter &lt; Spec::Runner::Formatter::BaseTextFormatter
     attr_reader :where
-    
+
     def initialize(options, where)
       bad_method
     end</diff>
      <filename>rails_plugins/rspec/spec/spec/spec_classes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,39 +5,39 @@ module Spec
         @title = 'a story'
         @narrative = 'narrative'
       end
-      
+
       def title(value)
         @title = value
         self
       end
-      
+
       def narrative(value)
         @narrative = value
         self
       end
-      
+
       def to_story(&amp;block)
         block = lambda {} unless block_given?
         Story.new @title, @narrative, &amp;block
       end
     end
-    
+
     class ScenarioBuilder
       def initialize
         @name = 'a scenario'
         @story = StoryBuilder.new.to_story
       end
-      
+
       def name(value)
         @name = value
         self
       end
-      
+
       def story(value)
         @story = value
         self
       end
-      
+
       def to_scenario(&amp;block)
         Scenario.new @story, @name, &amp;block
       end</diff>
      <filename>rails_plugins/rspec/spec/spec/story/builders.rb</filename>
    </modified>
    <modified>
      <diff>@@ -51,7 +51,7 @@ module Spec
           Spec::Story::Runner::PlainTextStoryRunner.should_receive(:new).and_return(runner)
           runner.should_receive(:run)
           @main.run_story
-        end  
+        end
       end
 
       describe Main, &quot;#steps_for&quot; do
@@ -114,7 +114,7 @@ module Spec
 
       describe Main, &quot;#with_steps_for running a story&quot; do
         it_should_behave_like &quot;the main object extended with Main&quot;
-        
+
         before(:each) do
           @runner = mock(&quot;runner&quot;)
           @runner_step_group = StepGroup.new
@@ -122,21 +122,21 @@ module Spec
           @runner.stub!(:run)
           Spec::Story::Runner::PlainTextStoryRunner.stub!(:new).and_return(@runner)
         end
-        
+
         it &quot;should create a PlainTextStoryRunner with a path&quot; do
           Spec::Story::Runner::PlainTextStoryRunner.should_receive(:new).with('path/to/file',{}).and_return(@runner)
           @main.with_steps_for(:foo) do
             run 'path/to/file'
           end
         end
-        
+
         it &quot;should create a PlainTextStoryRunner with a path and options&quot; do
           Spec::Story::Runner::PlainTextStoryRunner.should_receive(:new).with(anything,{:bar =&gt; :baz}).and_return(@runner)
           @main.with_steps_for(:foo) do
             run 'path/to/file', :bar =&gt; :baz
           end
         end
-        
+
         it &quot;should pass the group it creates to the runner's steps&quot; do
           steps = @main.steps_for(:ice_cream) do
             Given(&quot;vanilla&quot;) {}
@@ -146,7 +146,7 @@ module Spec
           end
           @runner_step_group.should have_step(:given, &quot;vanilla&quot;)
         end
-        
+
         it &quot;should run a story&quot; do
           @runner.should_receive(:run)
           Spec::Story::Runner::PlainTextStoryRunner.should_receive(:new).and_return(@runner)</diff>
      <filename>rails_plugins/rspec/spec/spec/story/extensions/main_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,12 +13,12 @@ module Spec
           @scenario_ran = true
         end
         Runner::StoryRunner.should_receive(:scenario_from_current_story).with('scenario name').and_return(scenario)
-        
+
         step = GivenScenario.new 'scenario name'
-        
+
         # when
         step.perform(instance, nil)
-        
+
         # then
         instance.scenario_ran.should be_true
       end</diff>
      <filename>rails_plugins/rspec/spec/spec/story/given_scenario_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,24 +12,24 @@ module Spec
 
         it &quot;should provide access to steps&quot; do
           runner = PlainTextStoryRunner.new(&quot;path&quot;)
-          
+
           runner.steps do |add|
             add.given(&quot;baz&quot;) {}
           end
-          
+
           runner.steps.find(:given, &quot;baz&quot;).should_not be_nil
         end
-        
+
         it &quot;should parse a story file&quot; do
           runner = PlainTextStoryRunner.new(&quot;path&quot;)
-          
+
           during {
             runner.run
           }.expect {
             @parser.should_receive(:parse).with([&quot;this&quot;, &quot;and that&quot;])
           }
         end
-        
+
         it &quot;should build up a mediator with its own steps and the singleton story_runner&quot; do
           runner = PlainTextStoryRunner.new(&quot;path&quot;)
           Spec::Story::Runner.should_receive(:story_runner).and_return(story_runner = mock(&quot;story runner&quot;))
@@ -37,7 +37,7 @@ module Spec
             and_return(mediator = stub(&quot;mediator&quot;, :run_stories =&gt; nil))
           runner.run
         end
-        
+
         it &quot;should build up a parser with the mediator&quot; do
           runner = PlainTextStoryRunner.new(&quot;path&quot;)
           Spec::Story::Runner.should_receive(:story_runner).and_return(story_runner = mock(&quot;story runner&quot;))
@@ -45,7 +45,7 @@ module Spec
           Spec::Story::Runner::StoryParser.should_receive(:new).with(mediator).and_return(@parser)
           runner.run
         end
-        
+
         it &quot;should tell the mediator to run the stories&quot; do
           runner = PlainTextStoryRunner.new(&quot;path&quot;)
           mediator = mock(&quot;mediator&quot;)
@@ -53,7 +53,7 @@ module Spec
           mediator.should_receive(:run_stories)
           runner.run
         end
-        
+
         it &quot;should accept a block instead of a path&quot; do
           runner = PlainTextStoryRunner.new do |runner|
             runner.load(&quot;path/to/story&quot;)
@@ -61,14 +61,14 @@ module Spec
           File.should_receive(:read).with(&quot;path/to/story&quot;).and_return(&quot;this\nand that&quot;)
           runner.run
         end
-        
+
         it &quot;should tell you if you try to run with no path set&quot; do
           runner = PlainTextStoryRunner.new
           lambda {
             runner.run
           }.should raise_error(RuntimeError, &quot;You must set a path to the file with the story. See the RDoc.&quot;)
         end
-        
+
         it &quot;should pass options to the mediator&quot; do
           runner = PlainTextStoryRunner.new(&quot;path&quot;, :foo =&gt; :bar)
           Spec::Story::Runner::StoryMediator.should_receive(:new).
@@ -76,7 +76,7 @@ module Spec
             and_return(mediator = stub(&quot;mediator&quot;, :run_stories =&gt; nil))
           runner.run
         end
-        
+
         it &quot;should provide access to its options&quot; do
           runner = PlainTextStoryRunner.new(&quot;path&quot;)
           runner[:foo] = :bar
@@ -85,7 +85,7 @@ module Spec
             and_return(mediator = stub(&quot;mediator&quot;, :run_stories =&gt; nil))
           runner.run
         end
-        
+
       end
     end
   end</diff>
      <filename>rails_plugins/rspec/spec/spec/story/runner/plain_text_story_runner_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,12 +8,12 @@ module Spec
           # given
           story = stub_everything('story')
           scenario_collector = ScenarioCollector.new(story)
-          
+
           # when
           scenario_collector.Scenario 'scenario1' do end
           scenario_collector.Scenario 'scenario2' do end
           scenarios = scenario_collector.scenarios
-          
+
           # then
           scenario_collector.should have(2).scenarios
           scenarios.first.name.should == 'scenario1'</diff>
      <filename>rails_plugins/rspec/spec/spec/story/runner/scenario_collector_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,14 +15,14 @@ module Spec
           scenario = Scenario.new story, 'scenario' do
             $answer = @answer
           end
-          
+
           # when
           scenario_runner.run(scenario, world)
-          
+
           # then
           $answer.should == 42
         end
-        
+
         it 'should allow scenarios to share methods' do
           # given
           world = stub_everything
@@ -39,15 +39,15 @@ module Spec
             shared()
           end
           scenario_runner = ScenarioRunner.new
-          
+
           # when
           scenario_runner.run(scenario1, world)
           scenario_runner.run(scenario2, world)
-          
+
           # then
           $shared_invoked.should == 2
         end
-        
+
         it 'should notify listeners when a scenario starts' do
           # given
           world = stub_everything
@@ -60,17 +60,17 @@ module Spec
           mock_listener2 = stub_everything('listener2')
           scenario_runner.add_listener(mock_listener1)
           scenario_runner.add_listener(mock_listener2)
-          
+
           # expect
           mock_listener1.should_receive(:scenario_started).with('story', 'scenario1')
           mock_listener2.should_receive(:scenario_started).with('story', 'scenario1')
-          
+
           # when
           scenario_runner.run(scenario, world)
-          
+
           # then
         end
-        
+
         it 'should notify listeners when a scenario succeeds' do
           # given
           world = stub_everything('world')
@@ -83,17 +83,17 @@ module Spec
           mock_listener2 = stub_everything('listener2')
           scenario_runner.add_listener(mock_listener1)
           scenario_runner.add_listener(mock_listener2)
-          
+
           # expect
           mock_listener1.should_receive(:scenario_succeeded).with('story', 'scenario1')
           mock_listener2.should_receive(:scenario_succeeded).with('story', 'scenario1')
-          
+
           # when
           scenario_runner.run(scenario, world)
-          
+
           # then
         end
-        
+
         it 'should notify listeners ONCE when a scenario raises an error' do
           # given
           error = RuntimeError.new('oops')
@@ -104,17 +104,17 @@ module Spec
           mock_listener = stub_everything('listener')
           scenario_runner.add_listener(mock_listener)
           world = stub_everything
-          
+
           # expect
           world.should_receive(:errors).twice.and_return([error, error])
           mock_listener.should_receive(:scenario_failed).with('title', 'scenario1', error).once
-          
+
           # when
           scenario_runner.run scenario, world
-          
+
           # then
         end
-        
+
         it 'should notify listeners when a scenario is pending' do
           # given
           pending_error = Spec::Example::ExamplePendingError.new('todo')
@@ -125,15 +125,15 @@ module Spec
           mock_listener = mock('listener')
           scenario_runner.add_listener(mock_listener)
           world = stub_everything
-          
+
           # expect
           world.should_receive(:errors).twice.and_return([pending_error, pending_error])
           mock_listener.should_receive(:scenario_started).with('title', 'scenario1')
           mock_listener.should_receive(:scenario_pending).with('title', 'scenario1', 'todo').once
-          
+
           # when
           scenario_runner.run scenario, world
-          
+
           # then
         end
       end</diff>
      <filename>rails_plugins/rspec/spec/spec/story/runner/scenario_runner_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../story_helper'
 module Spec
   module Story
     module Runner
-      
+
       describe StoryMediator do
         before(:each) do
           $story_mediator_spec_value = nil
@@ -11,38 +11,38 @@ module Spec
           @step_group.create_matcher(:given, &quot;given&quot;) { $story_mediator_spec_value = &quot;given matched&quot; }
           @step_group.create_matcher(:when, &quot;when&quot;) { $story_mediator_spec_value = &quot;when matched&quot; }
           @step_group.create_matcher(:then, &quot;then&quot;) { $story_mediator_spec_value = &quot;then matched&quot; }
-          
+
           @scenario_runner = ScenarioRunner.new
           @runner = StoryRunner.new @scenario_runner
           @mediator = StoryMediator.new @step_group, @runner
         end
-        
+
         def run_stories
           @mediator.run_stories
           @runner.run_stories
         end
-        
+
         it &quot;should have no stories&quot; do
           @mediator.stories.should be_empty
         end
-        
+
         it &quot;should create two stories&quot; do
           @mediator.create_story &quot;story title&quot;, &quot;story narrative&quot;
           @mediator.create_story &quot;story title 2&quot;, &quot;story narrative 2&quot;
           run_stories
-          
+
           @runner.should have(2).stories
           @runner.stories.first.title.should == &quot;story title&quot;
           @runner.stories.first.narrative.should == &quot;story narrative&quot;
           @runner.stories.last.title.should == &quot;story title 2&quot;
           @runner.stories.last.narrative.should == &quot;story narrative 2&quot;
         end
-        
+
         it &quot;should create a scenario&quot; do
           @mediator.create_story &quot;title&quot;, &quot;narrative&quot;
           @mediator.create_scenario &quot;scenario name&quot;
           run_stories
-          
+
           @runner.should have(1).scenarios
           @runner.scenarios.first.name.should == &quot;scenario name&quot;
           @runner.scenarios.first.story.should == @runner.stories.first
@@ -55,20 +55,20 @@ module Spec
             @mediator.create_scenario &quot;current scenario&quot;
             @mediator.create_given_scenario &quot;previous scenario&quot;
             run_stories
-          
+
             $story_mediator_spec_value.should == &quot;previous scenario matched&quot;
           end
         end
-                
+
         it &quot;should create a given step if one matches&quot; do
           @mediator.create_story &quot;title&quot;, &quot;narrative&quot;
           @mediator.create_scenario &quot;scenario&quot;
           @mediator.create_given &quot;given&quot;
           run_stories
-          
+
           $story_mediator_spec_value.should == &quot;given matched&quot;
         end
-        
+
         it &quot;should create a pending step if no given step matches&quot; do
           @mediator.create_story &quot;title&quot;, &quot;narrative&quot;
           @mediator.create_scenario &quot;scenario&quot;
@@ -78,16 +78,16 @@ module Spec
           @scenario_runner.add_listener mock_listener
           run_stories
         end
-        
+
         it &quot;should create a when step if one matches&quot; do
           @mediator.create_story &quot;title&quot;, &quot;narrative&quot;
           @mediator.create_scenario &quot;scenario&quot;
           @mediator.create_when &quot;when&quot;
           run_stories
-          
+
           $story_mediator_spec_value.should == &quot;when matched&quot;
         end
-        
+
         it &quot;should create a pending step if no when step matches&quot; do
           @mediator.create_story &quot;title&quot;, &quot;narrative&quot;
           @mediator.create_scenario &quot;scenario&quot;
@@ -97,16 +97,16 @@ module Spec
           @scenario_runner.add_listener mock_listener
           run_stories
         end
-        
+
         it &quot;should create a then step if one matches&quot; do
           @mediator.create_story &quot;title&quot;, &quot;narrative&quot;
           @mediator.create_scenario &quot;scenario&quot;
           @mediator.create_then &quot;then&quot;
           run_stories
-          
+
           $story_mediator_spec_value.should == &quot;then matched&quot;
         end
-        
+
         it &quot;should create a pending step if no 'then' step matches&quot; do
           @mediator.create_story &quot;title&quot;, &quot;narrative&quot;
           @mediator.create_scenario &quot;scenario&quot;
@@ -116,18 +116,18 @@ module Spec
           @scenario_runner.add_listener mock_listener
           run_stories
         end
-        
+
         it &quot;should pass options to the stories it creates&quot; do
           @mediator = StoryMediator.new @step_group, @runner, :foo =&gt; :bar
           @mediator.create_story &quot;story title&quot;, &quot;story narrative&quot;
 
           run_stories
-          
+
           @runner.stories.first[:foo].should == :bar
         end
-        
+
       end
-      
+
     end
   end
 end
\ No newline at end of file</diff>
      <filename>rails_plugins/rspec/spec/spec/story/runner/story_mediator_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../story_helper'
 module Spec
 	module Story
 		module Runner
-		  
+		
 			describe StoryParser do
 			  before(:each) do
 			    @story_mediator = mock(&quot;story_mediator&quot;)
@@ -13,7 +13,7 @@ module Spec
 			  it &quot;should parse no lines&quot; do
 					@parser.parse([])
 			  end
-			  
+			
 			  it &quot;should ignore text before the first Story: begins&quot; do
 			    @story_mediator.should_not_receive(:create_scenario)
 			    @story_mediator.should_not_receive(:create_given)
@@ -22,38 +22,38 @@ module Spec
 			    @story_mediator.should_receive(:create_story).with(&quot;simple addition&quot;, &quot;&quot;)
 					@parser.parse([&quot;Here is a bunch of text&quot;, &quot;about a calculator and all the things&quot;, &quot;that it will do&quot;, &quot;Story: simple addition&quot;])
 		    end
-			  
+			
 			  it &quot;should create a story&quot; do
 			    @story_mediator.should_receive(:create_story).with(&quot;simple addition&quot;, &quot;&quot;)
 					@parser.parse([&quot;Story: simple addition&quot;])
 			  end
-			  
+			
 			  it &quot;should create a story when line has leading spaces&quot; do
 			    @story_mediator.should_receive(:create_story).with(&quot;simple addition&quot;, &quot;&quot;)
 					@parser.parse([&quot;    Story: simple addition&quot;])
 			  end
-			  
+			
 			  it &quot;should add a one line narrative to the story&quot; do
 			    @story_mediator.should_receive(:create_story).with(&quot;simple addition&quot;,&quot;narrative&quot;)
 					@parser.parse([&quot;Story: simple addition&quot;,&quot;narrative&quot;])
 			  end
-			  
+			
 			  it &quot;should add a multi line narrative to the story&quot; do
 			    @story_mediator.should_receive(:create_story).with(&quot;simple addition&quot;,&quot;narrative line 1\nline 2\nline 3&quot;)
 					@parser.parse([&quot;Story: simple addition&quot;,&quot;narrative line 1&quot;, &quot;line 2&quot;, &quot;line 3&quot;])
 			  end
-			  
+			
 			  it &quot;should exclude blank lines from the narrative&quot; do
 			    @story_mediator.should_receive(:create_story).with(&quot;simple addition&quot;,&quot;narrative line 1\nline 2&quot;)
 					@parser.parse([&quot;Story: simple addition&quot;,&quot;narrative line 1&quot;, &quot;&quot;, &quot;line 2&quot;])
 			  end
-			  
+			
 			  it &quot;should exclude Scenario from the narrative&quot; do
 			    @story_mediator.should_receive(:create_story).with(&quot;simple addition&quot;,&quot;narrative line 1\nline 2&quot;)
 			    @story_mediator.should_receive(:create_scenario)
 					@parser.parse([&quot;Story: simple addition&quot;,&quot;narrative line 1&quot;, &quot;line 2&quot;, &quot;Scenario: add one plus one&quot;])
 			  end
-			  
+			
 			end
 
 			describe StoryParser, &quot;in Story state&quot; do
@@ -62,18 +62,18 @@ module Spec
 		    	@parser = StoryParser.new(@story_mediator)
 			    @story_mediator.stub!(:create_story)
 			  end
-			  
+			
 			  it &quot;should create a second Story for Story&quot; do
           @story_mediator.should_receive(:create_story).with(&quot;number two&quot;,&quot;&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Story: number two&quot;])
 			  end
-			  
+			
 			  it &quot;should include And in the narrative&quot; do
           @story_mediator.should_receive(:create_story).with(&quot;s&quot;,&quot;And foo&quot;)
           @story_mediator.should_receive(:create_scenario).with(&quot;bar&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;And foo&quot;, &quot;Scenario: bar&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Scenario for Scenario&quot; do
           @story_mediator.should_receive(:create_scenario).with(&quot;number two&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: number two&quot;])
@@ -84,25 +84,25 @@ module Spec
           @story_mediator.should_receive(:create_scenario).with(&quot;bar&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Given foo&quot;, &quot;Scenario: bar&quot;])
 			  end
-			  
+			
 			  it &quot;should include Given: in the narrative&quot; do
           @story_mediator.should_receive(:create_story).with(&quot;s&quot;,&quot;Given: foo&quot;)
           @story_mediator.should_receive(:create_scenario).with(&quot;bar&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Given: foo&quot;, &quot;Scenario: bar&quot;])
 			  end
-			  			  
+			  			
 			  it &quot;should include When in the narrative&quot; do
           @story_mediator.should_receive(:create_story).with(&quot;s&quot;,&quot;When foo&quot;)
           @story_mediator.should_receive(:create_scenario).with(&quot;bar&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;When foo&quot;, &quot;Scenario: bar&quot;])
 			  end
-			  			  
+			  			
 			  it &quot;should include Then in the narrative&quot; do
           @story_mediator.should_receive(:create_story).with(&quot;s&quot;,&quot;Then foo&quot;)
           @story_mediator.should_receive(:create_scenario).with(&quot;bar&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Then foo&quot;, &quot;Scenario: bar&quot;])
 			  end
-			  			  
+			  			
 			  it &quot;should include other in the story&quot; do
           @story_mediator.should_receive(:create_story).with(&quot;s&quot;,&quot;narrative&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;narrative&quot;])
@@ -116,12 +116,12 @@ module Spec
 			    @story_mediator.stub!(:create_story)
 			    @story_mediator.stub!(:create_scenario)
 			  end
-			  
+			
 			  it &quot;should create a Story for Story&quot; do
           @story_mediator.should_receive(:create_story).with(&quot;number two&quot;,&quot;&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Story: number two&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Scenario for Scenario&quot; do
           @story_mediator.should_receive(:create_scenario).with(&quot;number two&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Scenario: number two&quot;])
@@ -132,59 +132,59 @@ module Spec
   					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;And second&quot;])
 			    }.should raise_error(IllegalStepError, /^Illegal attempt to create a And after a Scenario/)
 			  end
-			  
+			
 			  it &quot;should create a Given for Given&quot; do
           @story_mediator.should_receive(:create_given).with(&quot;gift&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given gift&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Given for Given:&quot; do
           @story_mediator.should_receive(:create_given).with(&quot;gift&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given: gift&quot;])
 			  end
-			  
+			
 			  it &quot;should create a GivenScenario for GivenScenario&quot; do
           @story_mediator.should_receive(:create_given_scenario).with(&quot;previous&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;GivenScenario previous&quot;])
 			  end
-			  
+			
 			  it &quot;should create a GivenScenario for GivenScenario:&quot; do
           @story_mediator.should_receive(:create_given_scenario).with(&quot;previous&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;GivenScenario: previous&quot;])
 			  end
-			  
+			
 			  it &quot;should transition to Given state after GivenScenario&quot; do
           @story_mediator.stub!(:create_given_scenario)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;GivenScenario previous&quot;])
 					@parser.instance_eval{@state}.should be_an_instance_of(StoryParser::GivenState)
 			  end
-			  
+			
 			  it &quot;should transition to Given state after GivenScenario:&quot; do
           @story_mediator.stub!(:create_given_scenario)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;GivenScenario: previous&quot;])
 					@parser.instance_eval{@state}.should be_an_instance_of(StoryParser::GivenState)
 			  end
-			  
+			
 			  it &quot;should create a When for When&quot; do
           @story_mediator.should_receive(:create_when).with(&quot;ever&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;When ever&quot;])
 			  end
-			  
+			
 			  it &quot;should create a When for When:&quot; do
           @story_mediator.should_receive(:create_when).with(&quot;ever&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;When: ever&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Then for Then&quot; do
           @story_mediator.should_receive(:create_then).with(&quot;and there&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Then and there&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Then for Then:&quot; do
           @story_mediator.should_receive(:create_then).with(&quot;and there&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Then: and there&quot;])
 			  end
-			  
+			
 			  it &quot;should ignore other&quot; do
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;this is ignored&quot;])
 			  end
@@ -198,12 +198,12 @@ module Spec
 			    @story_mediator.stub!(:create_scenario)
 			    @story_mediator.should_receive(:create_given).with(&quot;first&quot;)
 			  end
-			  
+			
 			  it &quot;should create a Story for Story&quot; do
           @story_mediator.should_receive(:create_story).with(&quot;number two&quot;,&quot;&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;Story: number two&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Scenario for Scenario&quot; do
           @story_mediator.should_receive(:create_scenario).with(&quot;number two&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;Scenario: number two&quot;])
@@ -213,37 +213,37 @@ module Spec
           @story_mediator.should_receive(:create_given).with(&quot;second&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;Given second&quot;])
 			  end
-			  
+			
 			  it &quot;should create a second Given for And&quot; do
           @story_mediator.should_receive(:create_given).with(&quot;second&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given: first&quot;, &quot;And second&quot;])
 			  end
-			  
+			
 			  it &quot;should create a second Given for And:&quot; do
           @story_mediator.should_receive(:create_given).with(&quot;second&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;And: second&quot;])
 			  end
-			  
+			
 			  it &quot;should create a When for When&quot; do
           @story_mediator.should_receive(:create_when).with(&quot;ever&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When ever&quot;])
 			  end
-			  
+			
 			  it &quot;should create a When for When:&quot; do
           @story_mediator.should_receive(:create_when).with(&quot;ever&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When: ever&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Then for Then&quot; do
           @story_mediator.should_receive(:create_then).with(&quot;and there&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;Then and there&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Then for Then:&quot; do
           @story_mediator.should_receive(:create_then).with(&quot;and there&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;Then: and there&quot;])
 			  end
-			  
+			
 			  it &quot;should ignore other&quot; do
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;this is ignored&quot;])
 			  end
@@ -258,12 +258,12 @@ module Spec
 			    @story_mediator.should_receive(:create_given).with(&quot;first&quot;)
 			    @story_mediator.should_receive(:create_when).with(&quot;else&quot;)
 			  end
-			  
+			
 			  it &quot;should create a Story for Story&quot; do
           @story_mediator.should_receive(:create_story).with(&quot;number two&quot;,&quot;&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When: else&quot;, &quot;Story: number two&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Scenario for Scenario&quot; do
           @story_mediator.should_receive(:create_scenario).with(&quot;number two&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;Scenario: number two&quot;])
@@ -273,42 +273,42 @@ module Spec
           @story_mediator.should_receive(:create_given).with(&quot;second&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;Given second&quot;])
 			  end
-			  
+			
 			  it &quot;should create Given for Given:&quot; do
           @story_mediator.should_receive(:create_given).with(&quot;second&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;Given: second&quot;])
 			  end
-			  
+			
 			  it &quot;should create a second When for When&quot; do
           @story_mediator.should_receive(:create_when).with(&quot;ever&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;When ever&quot;])
 			  end
-			  
+			
 			  it &quot;should create a second When for When:&quot; do
           @story_mediator.should_receive(:create_when).with(&quot;ever&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given: first&quot;, &quot;When: else&quot;, &quot;When: ever&quot;])
 			  end
-			  
+			
 			  it &quot;should create a second When for And&quot; do
           @story_mediator.should_receive(:create_when).with(&quot;ever&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;And ever&quot;])
 			  end
-			  
+			
 			  it &quot;should create a second When for And:&quot; do
           @story_mediator.should_receive(:create_when).with(&quot;ever&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given: first&quot;, &quot;When: else&quot;, &quot;And: ever&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Then for Then&quot; do
           @story_mediator.should_receive(:create_then).with(&quot;and there&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;Then and there&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Then for Then:&quot; do
           @story_mediator.should_receive(:create_then).with(&quot;and there&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given: first&quot;, &quot;When: else&quot;, &quot;Then: and there&quot;])
 			  end
-			  
+			
 			  it &quot;should ignore other&quot; do
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;this is ignored&quot;])
 			  end
@@ -324,12 +324,12 @@ module Spec
 			    @story_mediator.should_receive(:create_when).with(&quot;else&quot;)
 			    @story_mediator.should_receive(:create_then).with(&quot;what&quot;)
 			  end
-			  
+			
 			  it &quot;should create a Story for Story&quot; do
           @story_mediator.should_receive(:create_story).with(&quot;number two&quot;,&quot;&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;Then what&quot;, &quot;Story: number two&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Scenario for Scenario&quot; do
           @story_mediator.should_receive(:create_scenario).with(&quot;number two&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;Then what&quot;, &quot;Scenario: number two&quot;])
@@ -339,17 +339,17 @@ module Spec
           @story_mediator.should_receive(:create_given).with(&quot;second&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;Then what&quot;, &quot;Given second&quot;])
 			  end
-			  
+			
 			  it &quot;should create Given for Given:&quot; do
           @story_mediator.should_receive(:create_given).with(&quot;second&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given: first&quot;, &quot;When: else&quot;, &quot;Then: what&quot;, &quot;Given: second&quot;])
 			  end
-			  
+			
 			  it &quot;should create When for When&quot; do
           @story_mediator.should_receive(:create_when).with(&quot;ever&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;Then what&quot;, &quot;When ever&quot;])
 			  end
-			  
+			
 			  it &quot;should create When for When:&quot; do
           @story_mediator.should_receive(:create_when).with(&quot;ever&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given: first&quot;, &quot;When: else&quot;, &quot;Then: what&quot;, &quot;When: ever&quot;])
@@ -359,7 +359,7 @@ module Spec
           @story_mediator.should_receive(:create_then).with(&quot;and there&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;Then what&quot;, &quot;Then and there&quot;])
 			  end
-			  
+			
 			  it &quot;should create a Then for Then:&quot; do
           @story_mediator.should_receive(:create_then).with(&quot;and there&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given: first&quot;, &quot;When: else&quot;, &quot;Then: what&quot;, &quot;Then: and there&quot;])
@@ -369,7 +369,7 @@ module Spec
           @story_mediator.should_receive(:create_then).with(&quot;ever&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given first&quot;, &quot;When else&quot;, &quot;Then what&quot;, &quot;And ever&quot;])
 			  end
-			  
+			
 			  it &quot;should create a second Then for And:&quot; do
           @story_mediator.should_receive(:create_then).with(&quot;ever&quot;)
 					@parser.parse([&quot;Story: s&quot;, &quot;Scenario: s&quot;, &quot;Given: first&quot;, &quot;When: else&quot;, &quot;Then: what&quot;, &quot;And: ever&quot;])</diff>
      <filename>rails_plugins/rspec/spec/spec/story/runner/story_parser_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,12 +7,12 @@ module Spec
         it 'should collect all the stories' do
           # given
           story_runner = StoryRunner.new(stub('scenario_runner'))
-          
+
           # when
           story_runner.Story 'title1', 'narrative1' do end
           story_runner.Story 'title2', 'narrative2' do end
           stories = story_runner.stories
-          
+
           # then
           story_runner.should have(2).stories
           stories.first.title.should == 'title1'
@@ -20,11 +20,11 @@ module Spec
           stories.last.title.should == 'title2'
           stories.last.narrative.should == 'narrative2'
         end
-        
+
         it 'should gather all the scenarios in the stories' do
           # given
           story_runner = StoryRunner.new(stub('scenario_runner'))
-          
+
           # when
           story_runner.Story &quot;story1&quot;, &quot;narrative1&quot; do
             Scenario &quot;scenario1&quot; do end
@@ -34,14 +34,14 @@ module Spec
             Scenario &quot;scenario3&quot; do end
           end
           scenarios = story_runner.scenarios
-          
+
           # then
           story_runner.should have(3).scenarios
           scenarios[0].name.should == 'scenario1'
           scenarios[1].name.should == 'scenario2'
           scenarios[2].name.should == 'scenario3'
         end
-        
+
         # captures worlds passed into a ScenarioRunner
         class ScenarioWorldCatcher
           attr_accessor :worlds
@@ -49,7 +49,7 @@ module Spec
            (@worlds ||= [])  &lt;&lt; world
           end
         end
-        
+
         it 'should run each scenario in a separate object' do
           # given
           scenario_world_catcher = ScenarioWorldCatcher.new
@@ -58,16 +58,16 @@ module Spec
             Scenario 'scenario1' do end
             Scenario 'scenario2' do end
           end
-          
+
           # when
           story_runner.run_stories
-          
+
           # then
           worlds = scenario_world_catcher.worlds
           scenario_world_catcher.should have(2).worlds
           worlds[0].should_not == worlds[1]
         end
-        
+
         it 'should use the provided world creator to create worlds' do
           # given
           stub_scenario_runner = stub_everything
@@ -77,16 +77,16 @@ module Spec
             Scenario 'scenario1' do end
             Scenario 'scenario2' do end
           end
-          
+
           # expect
           mock_world_creator.should_receive(:create).twice
-          
+
           # when
           story_runner.run_stories
-          
+
           # then
         end
-        
+
         it 'should notify listeners of the scenario count when the run starts' do
           # given
           story_runner = StoryRunner.new(stub_everything)
@@ -94,7 +94,7 @@ module Spec
           mock_listener2 = stub_everything('listener2')
           story_runner.add_listener(mock_listener1)
           story_runner.add_listener(mock_listener2)
-          
+
           story_runner.Story 'story1', 'narrative1' do
             Scenario 'scenario1' do end
           end
@@ -102,17 +102,17 @@ module Spec
             Scenario 'scenario2' do end
             Scenario 'scenario3' do end
           end
-          
+
           # expect
           mock_listener1.should_receive(:run_started).with(3)
           mock_listener2.should_receive(:run_started).with(3)
-          
+
           # when
           story_runner.run_stories
-          
+
           # then
         end
-        
+
         it 'should notify listeners when a story starts' do
           # given
           story_runner = StoryRunner.new(stub_everything)
@@ -120,7 +120,7 @@ module Spec
           mock_listener2 = stub_everything('listener2')
           story_runner.add_listener(mock_listener1)
           story_runner.add_listener(mock_listener2)
-          
+
           story_runner.Story 'story1', 'narrative1' do
             Scenario 'scenario1' do end
           end
@@ -128,19 +128,19 @@ module Spec
             Scenario 'scenario2' do end
             Scenario 'scenario3' do end
           end
-          
+
           # expect
           mock_listener1.should_receive(:story_started).with('story1', 'narrative1')
           mock_listener1.should_receive(:story_ended).with('story1', 'narrative1')
           mock_listener2.should_receive(:story_started).with('story2', 'narrative2')
           mock_listener2.should_receive(:story_ended).with('story2', 'narrative2')
-          
+
           # when
           story_runner.run_stories
-          
+
           # then
         end
-        
+
         it 'should notify listeners when the run ends' do
           # given
           story_runner = StoryRunner.new(stub_everything)
@@ -151,17 +151,17 @@ module Spec
           story_runner.Story 'story1', 'narrative1' do
             Scenario 'scenario1' do end
           end
-          
+
           # expect
           mock_listener1.should_receive(:run_ended)
           mock_listener2.should_receive(:run_ended)
-          
+
           # when
           story_runner.run_stories
-          
+
           # then
         end
-        
+
         it 'should run a story in an instance of a specified class' do
           # given
           scenario_world_catcher = ScenarioWorldCatcher.new
@@ -169,15 +169,15 @@ module Spec
           story_runner.Story 'title', 'narrative', :type =&gt; String do
             Scenario 'scenario' do end
           end
-          
+
           # when
           story_runner.run_stories
-          
+
           # then
           scenario_world_catcher.worlds[0].should be_kind_of(String)
           scenario_world_catcher.worlds[0].should be_kind_of(World)
         end
-        
+
         it 'should pass initialization params through to the constructed instance' do
           # given
           scenario_world_catcher = ScenarioWorldCatcher.new
@@ -185,20 +185,20 @@ module Spec
           story_runner.Story 'title', 'narrative', :type =&gt; Array, :args =&gt; [3]  do
             Scenario 'scenario' do end
           end
-          
+
           # when
           story_runner.run_stories
-          
+
           # then
           scenario_world_catcher.worlds[0].should be_kind_of(Array)
           scenario_world_catcher.worlds[0].size.should == 3
         end
-        
+
         it 'should find a scenario in the current story by name' do
           # given
           story_runner = StoryRunner.new(ScenarioRunner.new)
           $scenario = nil
-          
+
           story_runner.Story 'title', 'narrative' do
             Scenario 'first scenario' do
             end
@@ -206,47 +206,47 @@ module Spec
               $scenario = StoryRunner.scenario_from_current_story 'first scenario'
             end
           end
-          
+
           # when
           story_runner.run_stories
-          
+
           # then
           $scenario.name.should == 'first scenario'
         end
-        
+
         it &quot;should clean the steps between stories&quot; do
           #given
           story_runner = StoryRunner.new(ScenarioRunner.new)
           result = mock 'result'
-          
+
           step1 = Step.new('step') do
             result.one
           end
           steps1 = StepGroup.new
           steps1.add :when, step1
-          
+
           story_runner.Story 'title', 'narrative', :steps =&gt; steps1 do
             Scenario 'first scenario' do
               When 'step'
             end
           end
-          
+
           step2 = Step.new('step') do
             result.two
           end
           steps2 = StepGroup.new
           steps2.add :when, step2
-          
+
           story_runner.Story 'title2', 'narrative', :steps =&gt; steps2 do
             Scenario 'second scenario' do
               When 'step'
             end
           end
-          
+
           #then
           result.should_receive(:one)
           result.should_receive(:two)
-          
+
           #when
           story_runner.run_stories
         end</diff>
      <filename>rails_plugins/rspec/spec/spec/story/runner/story_runner_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@ module Spec
         end
         return io
       end
-      
+
       before :each do
         Kernel.stub!(:at_exit)
         @stdout, $stdout = $stdout, dev_null
@@ -19,24 +19,24 @@ module Spec
         @world_creator = World.dup
         @runner_module.module_eval { @run_options = @story_runner = @scenario_runner = @world_creator = nil }
       end
-      
+
       after :each do
         $stdout = @stdout
         ARGV.replace @argv
         @runner_module.module_eval { @run_options = @story_runner = @scenario_runner = @world_creator = nil }
       end
-      
+
       it 'should wire up a singleton StoryRunner' do
         @runner_module.story_runner.should_not be_nil
       end
-      
+
       it 'should set its options based on ARGV' do
         # given
         ARGV &lt;&lt; '--dry-run'
-        
+
         # when
         options = @runner_module.run_options
-        
+
         # then
         options.dry_run.should be_true
       end
@@ -46,58 +46,58 @@ module Spec
         story_runner = mock('story runner', :null_object =&gt; true)
         scenario_runner = mock('scenario runner', :null_object =&gt; true)
         world_creator = mock('world', :null_object =&gt; true)
-        
+
         @runner_module::class_eval { @world_creator = world_creator }
         @runner_module::StoryRunner.stub!(:new).and_return(story_runner)
         @runner_module::ScenarioRunner.stub!(:new).and_return(scenario_runner)
-        
+
         # expect
         world_creator.should_receive(:add_listener).with(an_instance_of(Spec::Runner::Formatter::Story::PlainTextFormatter))
         story_runner.should_receive(:add_listener).with(an_instance_of(Spec::Runner::Formatter::Story::PlainTextFormatter))
         scenario_runner.should_receive(:add_listener).with(an_instance_of(Spec::Runner::Formatter::Story::PlainTextFormatter))
-        
+
         # when
         @runner_module.story_runner
       end
-      
+
       it 'should add a documenter to the runner classes if one is specified' do
         # given
         ARGV &lt;&lt; &quot;--format&quot; &lt;&lt; &quot;html&quot;
         story_runner = mock('story runner', :null_object =&gt; true)
         scenario_runner = mock('scenario runner', :null_object =&gt; true)
         world_creator = mock('world', :null_object =&gt; true)
-        
+
         @runner_module::class_eval { @world_creator = world_creator }
         @runner_module::StoryRunner.stub!(:new).and_return(story_runner)
         @runner_module::ScenarioRunner.stub!(:new).and_return(scenario_runner)
-        
+
         # expect
         world_creator.should_receive(:add_listener).with(an_instance_of(Spec::Runner::Formatter::Story::HtmlFormatter))
         story_runner.should_receive(:add_listener).with(an_instance_of(Spec::Runner::Formatter::Story::HtmlFormatter))
         scenario_runner.should_receive(:add_listener).with(an_instance_of(Spec::Runner::Formatter::Story::HtmlFormatter))
-        
+
         # when
         @runner_module.story_runner
       end
-      
+
       it 'should add any registered listener to the runner classes' do
         # given
         ARGV &lt;&lt; &quot;--format&quot; &lt;&lt; &quot;html&quot;
         story_runner = mock('story runner', :null_object =&gt; true)
         scenario_runner = mock('scenario runner', :null_object =&gt; true)
         world_creator = mock('world', :null_object =&gt; true)
-        
+
         @runner_module::class_eval { @world_creator = world_creator }
         @runner_module::StoryRunner.stub!(:new).and_return(story_runner)
         @runner_module::ScenarioRunner.stub!(:new).and_return(scenario_runner)
-        
+
         listener = Object.new
-        
+
         # expect
         world_creator.should_receive(:add_listener).with(listener)
         story_runner.should_receive(:add_listener).with(listener)
         scenario_runner.should_receive(:add_listener).with(listener)
-        
+
         # when
         @runner_module.register_listener listener
       end</diff>
      <filename>rails_plugins/rspec/spec/spec/story/runner_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,12 +6,12 @@ module Spec
       it 'should not raise an error if no body is supplied' do
         # given
         story = StoryBuilder.new.to_story
-        
+
         # when
         error = exception_from do
           Scenario.new story, 'name'
         end
-        
+
         # then
         error.should be_nil
       end</diff>
      <filename>rails_plugins/rspec/spec/spec/story/scenario_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,38 +6,38 @@ module Spec
       before(:each) do
         @step_group = StepGroup.new
       end
-      
+
       it &quot;should not find a matcher if empty&quot; do
         @step_group.find(:given, &quot;this and that&quot;).should be_nil
       end
-      
+
       it &quot;should create a given_scenario matcher&quot; do
         step = @step_group.given_scenario(&quot;this and that&quot;) {}
         @step_group.find(:given_scenario, &quot;this and that&quot;).should_not be_nil
         @step_group.find(:given_scenario, &quot;this and that&quot;).should equal(step)
       end
-      
+
       it &quot;should create a given matcher&quot; do
         step = @step_group.given(&quot;this and that&quot;) {}
         @step_group.find(:given, &quot;this and that&quot;).should equal(step)
       end
-      
+
       it &quot;should create a when matcher&quot; do
         step = @step_group.when(&quot;this and that&quot;) {}
         @step_group.find(:when, &quot;this and that&quot;).should equal(step)
       end
-      
+
       it &quot;should create a them matcher&quot; do
         step = @step_group.then(&quot;this and that&quot;) {}
         @step_group.find(:then, &quot;this and that&quot;).should equal(step)
       end
-      
+
       it &quot;should add a matcher object&quot; do
         step = Step.new(&quot;this and that&quot;) {}
         @step_group.add(:given, step)
         @step_group.find(:given, &quot;this and that&quot;).should equal(step)
       end
-      
+
       it &quot;should add it matchers to another StepGroup (with one given)&quot; do
         source = StepGroup.new
         target = StepGroup.new
@@ -45,7 +45,7 @@ module Spec
         source.add_to target
         target.find(:given, &quot;this and that&quot;).should equal(step)
       end
-      
+
       it &quot;should add it matchers to another StepGroup (with some of each type)&quot; do
         source = StepGroup.new
         target = StepGroup.new
@@ -65,14 +65,14 @@ module Spec
         target.find(:then, &quot;2&quot;).should equal(then2)
         target.find(:then, &quot;3&quot;).should equal(then3)
       end
-      
+
       it &quot;should append another collection&quot; do
         matchers_to_append = StepGroup.new
         step = matchers_to_append.given(&quot;this and that&quot;) {}
         @step_group &lt;&lt; matchers_to_append
         @step_group.find(:given, &quot;this and that&quot;).should equal(step)
       end
-      
+
       it &quot;should append several other collections&quot; do
         matchers_to_append = StepGroup.new
         more_matchers_to_append = StepGroup.new
@@ -83,7 +83,7 @@ module Spec
         @step_group.find(:given, &quot;this and that&quot;).should equal(first_matcher)
         @step_group.find(:given, &quot;and the other&quot;).should equal(second_matcher)
       end
-      
+
       it &quot;should yield itself on initialization&quot; do
         begin
           $step_group_spec_step = nil
@@ -95,7 +95,7 @@ module Spec
           $step_group_spec_step = nil
         end
       end
-      
+
       it &quot;should support defaults&quot; do
         class StepGroupSubclass &lt; StepGroup
           steps do |add|
@@ -104,25 +104,25 @@ module Spec
         end
         StepGroupSubclass.new.find(:given, &quot;foo&quot;).should_not be_nil
       end
-      
+
       it &quot;should create a Given&quot; do
         sub = Class.new(StepGroup).new
         step = sub.Given(&quot;foo&quot;) {}
         sub.find(:given, &quot;foo&quot;).should == step
       end
-      
+
       it &quot;should create a When&quot; do
         sub = Class.new(StepGroup).new
         step = sub.When(&quot;foo&quot;) {}
         sub.find(:when, &quot;foo&quot;).should == step
       end
-      
+
       it &quot;should create a Then&quot; do
         sub = Class.new(StepGroup).new
         step = sub.Then(&quot;foo&quot;) {}
         sub.find(:then, &quot;foo&quot;).should == step
       end
-      
+
       it &quot;should create steps in a block&quot; do
         sub = Class.new(StepGroup).new do
           Given(&quot;a given&quot;) {}
@@ -133,22 +133,22 @@ module Spec
         sub.find(:when, &quot;a when&quot;).should_not be_nil
         sub.find(:then, &quot;a then&quot;).should_not be_nil
       end
-      
+
       it &quot;should clear itself&quot; do
         step = @step_group.given(&quot;this and that&quot;) {}
         @step_group.clear
         @step_group.find(:given, &quot;this and that&quot;).should be_nil
       end
-      
+
       it &quot;should tell you when it is empty&quot; do
         @step_group.should be_empty
       end
-      
+
       it &quot;should tell you when it is not empty&quot; do
         @step_group.given(&quot;this and that&quot;) {}
         @step_group.should_not be_empty
       end
-      
+
       it &quot;should handle &lt;&lt; nil&quot; do
         @step_group &lt;&lt; nil
       end</diff>
      <filename>rails_plugins/rspec/spec/spec/story/step_group_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,40 +8,40 @@ module Spec
         step_mother = StepMother.new
         step = Step.new(&quot;a given&quot;, &amp;lambda {})
         step_mother.store(:given, step)
-        
+
         # when
         found = step_mother.find(:given, &quot;a given&quot;)
-        
+
         # then
         found.should == step
       end
-      
+
       it 'should NOT raise an error if a step is missing' do
         # given
         step_mother = StepMother.new
-        
+
         # then
         lambda do
           # when
           step_mother.find(:given, &quot;doesn't exist&quot;)
         end.should_not raise_error
       end
-      
+
       it &quot;should create a default step which raises a pending error&quot; do
         # given
         step_mother = StepMother.new
-        
+
         # when
         step = step_mother.find(:given, &quot;doesn't exist&quot;)
-        
+
         # then
         step.should be_an_instance_of(Step)
-        
+
         lambda do
           step.perform(Object.new, &quot;doesn't exist&quot;)
         end.should raise_error(Spec::Example::ExamplePendingError, /Unimplemented/)
       end
-      
+
       it 'should clear itself' do
         # given
         step_mother = StepMother.new
@@ -50,20 +50,20 @@ module Spec
 
         # when
         step_mother.clear
-        
+
         # then
         step_mother.should be_empty
       end
-      
+
       it &quot;should use assigned steps&quot; do
         step_mother = StepMother.new
-        
+
         step = Step.new('step') {}
         step_group = StepGroup.new
         step_group.add(:given, step)
-        
+
         step_mother.use(step_group)
-                
+
         step_mother.find(:given, &quot;step&quot;).should equal(step)
       end
 </diff>
      <filename>rails_plugins/rspec/spec/spec/story/step_mother_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,42 +7,42 @@ module Spec
         step = Step.new(&quot;this text&quot;) {}
         step.matches?(&quot;this text&quot;).should be_true
       end
-      
+
       it &quot;should not match a text string that does not start the same&quot; do
         step = Step.new(&quot;this text&quot;) {}
         step.matches?(&quot;Xthis text&quot;).should be_false
       end
-      
+
       it &quot;should not match a text string that does not end the same&quot; do
         step = Step.new(&quot;this text&quot;) {}
         step.matches?(&quot;this textX&quot;).should be_false
       end
-      
+
       it &quot;should match a text string with a param&quot; do
         step = Step.new(&quot;this $param text&quot;) {}
         step.matches?(&quot;this anything text&quot;).should be_true
       end
-      
+
       it &quot;should not be greedy&quot; do
         step = Step.new(&quot;enter $value for $key&quot;) {}
         step.parse_args(&quot;enter 3 for keys for a piano&quot;).should == ['3','keys for a piano']
       end
-      
+
       it &quot;should match a text string with 3 params&quot; do
         step = Step.new(&quot;1 $one 2 $two 3 $three 4&quot;) {}
         step.matches?(&quot;1 a 2 b 3 c 4&quot;).should be_true
       end
-      
+
       it &quot;should match a text string with a param at the beginning&quot; do
         step = Step.new(&quot;$one 2 3&quot;) {}
         step.matches?(&quot;a 2 3&quot;).should be_true
       end
-      
+
       it &quot;should match a text string with a param at the end&quot; do
         step = Step.new(&quot;1 2 $three&quot;) {}
         step.matches?(&quot;1 2 c&quot;).should be_true
       end
-      
+
       it &quot;should not match a different string&quot; do
         step = Step.new(&quot;this text&quot;) {}
         step.matches?(&quot;other text&quot;).should be_false
@@ -52,65 +52,65 @@ module Spec
         step = Step.new(/this text/) {}
         step.matches?(&quot;this text&quot;).should be_true
       end
-      
+
       it &quot;should match a regexp with a match group&quot; do
         step = Step.new(/this (.*) text/) {}
         step.matches?(&quot;this anything text&quot;).should be_true
       end
-      
+
       it &quot;should match a regexp with a named variable&quot; do
         step = Step.new(/this $variable text/) {}
         step.matches?(&quot;this anything text&quot;).should be_true
       end
-      
+
       it &quot;should not match a non matching regexp&quot; do
         step = Step.new(/this (.*) text/) {}
         step.matches?(&quot;other anything text&quot;).should be_false
       end
-      
+
       it &quot;should not match a non matching regexp with a named variable&quot; do
         step = Step.new(/this $variable text/) {}
         step.matches?(&quot;other anything text&quot;).should be_false
       end
-      
+
       it &quot;should not get bogged down by parens in strings&quot; do
         step = Step.new(&quot;before () after&quot;) {}
         step.matches?(&quot;before () after&quot;).should be_true
       end
-      
+
       it &quot;should match any option of an alteration&quot; do
         step = Step.new(/(he|she) is cool/) {}
         step.matches?(&quot;he is cool&quot;).should be_true
         step.matches?(&quot;she is cool&quot;).should be_true
       end
-      
+
       it &quot;should match alteration as well as a variable&quot; do
         step = Step.new(/(he|she) is (.*)/) {}
         step.matches?(&quot;he is cool&quot;).should be_true
         step.parse_args(&quot;he is cool&quot;).should == ['he', 'cool']
       end
-      
+
       it &quot;should match alteration as well as a named variable&quot; do
         step = Step.new(/(he|she) is $adjective/) {}
         step.matches?(&quot;he is cool&quot;).should be_true
         step.parse_args(&quot;he is cool&quot;).should == ['he', 'cool']
       end
-      
+
       it &quot;should match alteration as well as a anonymous and named variable&quot; do
         step = Step.new(/(he|she) is (.*?) $adjective/) {}
         step.matches?(&quot;he is very cool&quot;).should be_true
         step.parse_args(&quot;he is very cool&quot;).should == ['he', 'very', 'cool']
       end
-      
+
     end
-    
+
     describe Step do
       it &quot;should make complain with no block&quot; do
         lambda {
           step = Step.new(&quot;foo&quot;)
         }.should raise_error
       end
-      
+
       it &quot;should perform itself on an object&quot; do
         # given
         $instance = nil
@@ -118,14 +118,14 @@ module Spec
           $instance = self
         end
         instance = Object.new
-        
+
         # when
         step.perform(instance, &quot;step&quot;)
-        
+
         # then
         $instance.should == instance
       end
-      
+
       it &quot;should perform itself with one parameter with match expression&quot; do
         # given
         $result = nil
@@ -133,15 +133,15 @@ module Spec
           $result = count
         end
         instance = Object.new
-        
+
         # when
         args = step.parse_args(&quot;an account with 3 dollars&quot;)
         step.perform(instance, *args)
-        
+
         # then
         $result.should == &quot;3&quot;
       end
-      
+
       it &quot;should perform itself with one parameter without a match expression&quot; do
         # given
         $result = nil
@@ -149,14 +149,14 @@ module Spec
           $result = amount
         end
         instance = Object.new
-        
+
         # when
         step.perform(instance, 20)
-        
+
         # then
         $result.should == 20
       end
-      
+
       it &quot;should perform itself with 2 parameters&quot; do
         # given
         $account_type = nil
@@ -166,11 +166,11 @@ module Spec
           $amount = amount
         end
         instance = Object.new
-        
+
         # when
         args = step.parse_args(&quot;a savings account with 3 dollars&quot;)
         step.perform(instance, *args)
-        
+
         # then
         $account_type.should == &quot;savings&quot;
         $amount.should == &quot;3&quot;
@@ -185,11 +185,11 @@ module Spec
           $adjective = adjective
         end
         instance = Object.new
-        
+
         # when
         args = step.parse_args(&quot;he is cool&quot;)
         step.perform(instance, *args)
-        
+
         # then
         $pronoun.should == &quot;he&quot;
         $adjective.should == &quot;cool&quot;</diff>
      <filename>rails_plugins/rspec/spec/spec/story/step_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,37 +10,37 @@ module Spec
           $instance = self
         end
         object = Object.new
-        
+
         # when
         story.run_in(object)
-        
+
         # then
         $instance.should be(object)
       end
-      
+
       it 'should not raise an error if no block is supplied' do
         # when
         error = exception_from do
           Story.new 'title', 'narrative'
         end
-        
+
         # then
         error.should be_nil
       end
-      
+
       it &quot;should raise when error raised running in another object&quot; do
         #given
         story = Story.new 'title', 'narrative' do
           raise &quot;this is raised in the story&quot;
         end
         object = Object.new
-        
+
         # when/then
         lambda do
           story.run_in(object)
         end.should raise_error
       end
-      
+
       it &quot;should use the steps it is told to using a StepGroup&quot; do
         story = Story.new(&quot;title&quot;, &quot;narrative&quot;, :steps =&gt; steps = StepGroup.new) do end
         assignee = mock(&quot;assignee&quot;)
@@ -53,27 +53,27 @@ module Spec
           orig_rspec_story_steps = $rspec_story_steps
           $rspec_story_steps = StepGroupHash.new
           $rspec_story_steps[:foo] = steps = Object.new
-        
+
           story = Story.new(&quot;title&quot;, &quot;narrative&quot;, :steps_for =&gt; :foo) do end
           assignee = mock(&quot;assignee&quot;)
-        
+
           assignee.should_receive(:use).with(steps)
           story.assign_steps_to(assignee)
         ensure
           $rspec_story_steps = orig_rspec_story_steps
         end
       end
-      
+
       it &quot;should use the steps it is told to using multiple keys&quot; do
         begin
           orig_rspec_story_steps = $rspec_story_steps
           $rspec_story_steps = StepGroupHash.new
           $rspec_story_steps[:foo] = foo_steps = Object.new
           $rspec_story_steps[:bar] = bar_steps = Object.new
-        
+
           story = Story.new(&quot;title&quot;, &quot;narrative&quot;, :steps_for =&gt; [:foo, :bar]) do end
           assignee = mock(&quot;assignee&quot;)
-        
+
           assignee.should_receive(:use).with(foo_steps)
           assignee.should_receive(:use).with(bar_steps)
           story.assign_steps_to(assignee)</diff>
      <filename>rails_plugins/rspec/spec/spec/story/story_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@ describe &quot;Translator&quot; do
   before do
     @t = Spec::Translator.new
   end
-  
+
   it &quot;should translate files&quot; do
     from = File.dirname(__FILE__) + '/..'
     to = &quot;#{Dir.tmpdir}/translated_specs&quot;
@@ -27,7 +27,7 @@ describe &quot;Translator&quot; do
       &quot;before(:all)  {foo}\n&quot;
     )
   end
-  
+
   it &quot;should translate context ' to describe '&quot; do
     @t.translate_line(
       &quot;context 'Translator' do\n&quot;
@@ -51,7 +51,7 @@ describe &quot;Translator&quot; do
       '  describe &quot;Translator&quot;'
     )
   end
-  
+
   it &quot;should not translate context=foo&quot; do
     @t.translate_line('  context=foo').should eql('  context=foo')
   end
@@ -63,7 +63,7 @@ describe &quot;Translator&quot; do
   it &quot;should not translate context  =  foo&quot; do
     @t.translate_line('  context  =  foo').should eql('  context  =  foo')
   end
-  
+
   it &quot;should translate should_be_close&quot; do
     @t.translate_line('5.0.should_be_close(5.0, 0.5)').should eql('5.0.should be_close(5.0, 0.5)')
   end
@@ -87,7 +87,7 @@ describe &quot;Translator&quot; do
   it &quot;should leave should_receive&quot; do
     @t.translate_line('@mock.should_receive(:not_expected).with(&quot;unexpected text&quot;)').should eql('@mock.should_receive(:not_expected).with(&quot;unexpected text&quot;)')
   end
-  
+
   it &quot;should translate multi word predicates&quot; do
     @t.translate_line('foo.should_multi_word_predicate').should eql('foo.should be_multi_word_predicate')
   end
@@ -123,7 +123,7 @@ describe &quot;Translator&quot; do
   it &quot;should translate should_be_happy&quot; do
     @t.translate_line(&quot;4.should_be_happy&quot;).should eql(&quot;4.should be_happy&quot;)
   end
-    
+
   it &quot;should translate custom method taking regexp with parenthesis&quot; do
     @t.translate_line(&quot;@browser.should_contain_text(/Sn.rrunger og annet rusk/)&quot;).should eql(&quot;@browser.should be_contain_text(/Sn.rrunger og annet rusk/)&quot;)
   end
@@ -131,16 +131,16 @@ describe &quot;Translator&quot; do
   it &quot;should translate custom method taking regexp without parenthesis&quot; do
     @t.translate_line(&quot;@browser.should_contain_text /Sn.rrunger og annet rusk/\n&quot;).should eql(&quot;@browser.should be_contain_text(/Sn.rrunger og annet rusk/)\n&quot;)
   end
-   
+
   it &quot;should translate should_not_be_nil&quot; do
     @t.translate_line(&quot;foo.should_not_be_nil\n&quot;).should eql(&quot;foo.should_not be_nil\n&quot;)
   end
-    
+
   it &quot;should translate kind of&quot; do
     @t.translate_line('@object.should_be_kind_of(MessageExpectation)').should(
     eql('@object.should be_kind_of(MessageExpectation)'))
   end
-  
+
   it &quot;should translate should_be_true&quot; do
     @t.translate_line(&quot;foo.should_be_true\n&quot;).should eql(&quot;foo.should be_true\n&quot;)
   end
@@ -151,7 +151,7 @@ describe &quot;Translator&quot; do
     @t.translate_line(&quot;collection.each { |c| c.should_match a_regexp_in_a_var }\n&quot;).should eql(&quot;collection.each { |c| c.should match(a_regexp_in_a_var) }\n&quot;)
     @t.translate_line(&quot;collection.each{|c| c.should_match a_regexp_in_a_var}\n&quot;).should eql(&quot;collection.each{|c| c.should match(a_regexp_in_a_var) }\n&quot;)
   end
-  
+
   # From Rubinius specs
   it &quot;should translate close_to without parens&quot; do
     @t.translate_line(&quot;end.should_be_close 3.14159_26535_89793_23846, TOLERANCE\n&quot;).should eql(&quot;end.should be_close(3.14159_26535_89793_23846, TOLERANCE)\n&quot;)
@@ -186,7 +186,7 @@ describe &quot;Translator&quot; do
       &quot;@parslet.should_not eql(lambda { nil }.to_parseable)&quot;
     )
   end
-  
+
   # [#9882] 0.9 Beta 1 - translator bugs
   # http://rubyforge.org/tracker/index.php?func=detail&amp;aid=9882&amp;group_id=797&amp;atid=3149
   it &quot;should support fully qualified names&quot; do
@@ -196,7 +196,7 @@ describe &quot;Translator&quot; do
       &quot;results.should be_kind_of(SimpleASTLanguage::Identifier)&quot;
     )
   end
-    
+
   # [#9882] 0.9 Beta 1 - translator bugs
   # http://rubyforge.org/tracker/index.php?func=detail&amp;aid=9882&amp;group_id=797&amp;atid=3149
   # it &quot;should leave whitespace between expression and comments&quot; do</diff>
      <filename>rails_plugins/rspec/spec/spec/translator_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -40,20 +40,20 @@ module Spec
     def pass
       Pass.new
     end
-    
+
     class CorrectlyOrderedMockExpectation
       def initialize(&amp;event)
         @event = event
       end
-      
+
       def expect(&amp;expectations)
         expectations.call
         @event.call
       end
     end
-    
+
     def during(&amp;block)
-      CorrectlyOrderedMockExpectation.new(&amp;block) 
+      CorrectlyOrderedMockExpectation.new(&amp;block)
     end
   end
 end
@@ -72,7 +72,7 @@ module Custom
 
     def run
     end
-  end  
+  end
 end
 
 def exception_from(&amp;block)</diff>
      <filename>rails_plugins/rspec/spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,6 +11,6 @@ module StoryHelper
   def cmdline(args, stderr)
     ruby(&quot;#{File.dirname(__FILE__) + '/../../resources/helpers/cmdline.rb'} #{args}&quot;, stderr)
   end
-  
+
   Spec::Story::World.send :include, self
 end</diff>
      <filename>rails_plugins/rspec/stories/resources/helpers/story_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ steps_for :running_rspec do
       raise &quot;could not find file at #{@path}&quot;
     end
   end
-  
+
   When(&quot;I run it with the $interpreter&quot;) do |interpreter|
     stderr_file = Tempfile.new('rspec')
     stderr_file.close
@@ -23,13 +23,13 @@ steps_for :running_rspec do
     @stderr = IO.read(stderr_file.path)
     @exit_code = $?.to_i
   end
-  
+
   Then(&quot;the exit code should be $exit_code&quot;) do |exit_code|
     if @exit_code != exit_code.to_i
       raise &quot;Did not exit with #{exit_code}, but with #{@exit_code}. Standard error:\n#{@stderr}&quot;
     end
   end
-  
+
   Then(&quot;the $stream should match $regex&quot;) do |stream, string_or_regex|
     written = case(stream)
       when 'stdout' then @stdout
@@ -38,7 +38,7 @@ steps_for :running_rspec do
     end
     written.should smart_match(string_or_regex)
   end
-  
+
   Then(&quot;the $stream should not match $regex&quot;) do |stream, string_or_regex|
     written = case(stream)
       when 'stdout' then @stdout</diff>
      <filename>rails_plugins/rspec/stories/resources/steps/running_rspec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -25,7 +25,7 @@ class ATest &lt; Test::Unit::TestCase
   def test_should_pass_with_assert
     assert true
   end
-  
+
   def test_should_fail_with_assert
     assert false
   end
@@ -33,7 +33,7 @@ class ATest &lt; Test::Unit::TestCase
   def test_should_pass_with_should
     1.should == 1
   end
-  
+
   def test_should_fail_with_should
     1.should == 2
   end</diff>
      <filename>rails_plugins/rspec/stories/resources/test/spec_and_test_together.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,7 +15,7 @@ class MySpec &lt; Test::Unit::TestCase
   def should_pass_with_assert
     assert true
   end
-  
+
   def should_fail_with_assert
     assert false
   end</diff>
      <filename>rails_plugins/rspec/stories/resources/test/test_case_with_should_methods.rb</filename>
    </modified>
    <modified>
      <diff>@@ -26,7 +26,7 @@ var Builder = {
   //       due to a Firefox bug
   node: function(elementName) {
     elementName = elementName.toUpperCase();
-    
+
     // try innerHTML approach
     var parentTag = this.NODEMAP[elementName] || 'div';
     var parentElement = document.createElement(parentTag);
@@ -34,14 +34,14 @@ var Builder = {
       parentElement.innerHTML = &quot;&lt;&quot; + elementName + &quot;&gt;&lt;/&quot; + elementName + &quot;&gt;&quot;;
     } catch(e) {}
     var element = parentElement.firstChild || null;
-      
+
     // see if browser added wrapping tags
     if(element &amp;&amp; (element.tagName.toUpperCase() != elementName))
       element = element.getElementsByTagName(elementName)[0];
-    
+
     // fallback to createElement approach
     if(!element) element = document.createElement(elementName);
-    
+
     // abort if nothing could be created
     if(!element) return;
 
@@ -62,13 +62,13 @@ var Builder = {
             // workaround firefox 1.0.X bug
             if(!element) {
               element = document.createElement(elementName);
-              for(attr in arguments[1]) 
+              for(attr in arguments[1])
                 element[attr == 'class' ? 'className' : attr] = arguments[1][attr];
             }
             if(element.tagName.toUpperCase() != elementName)
               element = parentElement.getElementsByTagName(elementName)[0];
           }
-        } 
+        }
 
     // text, or array of children
     if(arguments[2])
@@ -117,20 +117,20 @@ var Builder = {
     $(element).update(html.strip());
     return element.down();
   },
-  dump: function(scope) { 
-    if(typeof scope != 'object' &amp;&amp; typeof scope != 'function') scope = window; //global scope 
-  
+  dump: function(scope) {
+    if(typeof scope != 'object' &amp;&amp; typeof scope != 'function') scope = window; //global scope
+
     var tags = (&quot;A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY &quot; +
       &quot;BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET &quot; +
       &quot;FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX &quot;+
       &quot;KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P &quot;+
       &quot;PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD &quot;+
       &quot;TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR&quot;).split(/\s+/);
-  
-    tags.each( function(tag){ 
-      scope[tag] = function() { 
-        return Builder.node.apply(Builder, [tag].concat($A(arguments)));  
-      } 
+
+    tags.each( function(tag){
+      scope[tag] = function() {
+        return Builder.node.apply(Builder, [tag].concat($A(arguments)));
+      }
     });
   }
 }</diff>
      <filename>rails_plugins/rspec/story_server/prototype/javascripts/builder.js</filename>
    </modified>
    <modified>
      <diff>@@ -7,18 +7,18 @@
 //  Richard Livsey
 //  Rahul Bhargava
 //  Rob Wills
-// 
+//
 // script.aculo.us is freely distributable under the terms of an MIT-style license.
 // For details, see the script.aculo.us web site: http://script.aculo.us/
 
-// Autocompleter.Base handles all the autocompletion functionality 
+// Autocompleter.Base handles all the autocompletion functionality
 // that's independent of the data source for autocompletion. This
 // includes drawing the autocompletion menu, observing keyboard
 // and mouse events, and similar.
 //
-// Specific autocompleters need to provide, at the very least, 
+// Specific autocompleters need to provide, at the very least,
 // a getUpdatedChoices function that will be invoked every time
-// the text inside the monitored textbox changes. This method 
+// the text inside the monitored textbox changes. This method
 // should get the text for which to provide autocompletion by
 // invoking this.getToken(), NOT by directly accessing
 // this.element.value. This is to allow incremental tokenized
@@ -32,8 +32,8 @@
 // will incrementally autocomplete with a comma as the token.
 // Additionally, ',' in the above example can be replaced with
 // a token array, e.g. { tokens: [',', '\n'] } which
-// enables autocompletion on multiple tokens. This is most 
-// useful when one of the tokens is \n (a newline), as it 
+// enables autocompletion on multiple tokens. This is most
+// useful when one of the tokens is \n (a newline), as it
 // allows smart autocompletion after linebreaks.
 //
 // vim:expandtab ts=8 sw=2
@@ -46,12 +46,12 @@ Autocompleter.Base = function() { };
 Autocompleter.Base.prototype = {
   baseInitialize: function(element, update, options) {
     element          = $(element)
-    this.element     = element; 
-    this.update      = $(update);  
-    this.hasFocus    = false; 
-    this.changed     = false; 
-    this.active      = false; 
-    this.index       = 0;     
+    this.element     = element;
+    this.update      = $(update);
+    this.hasFocus    = false;
+    this.changed     = false;
+    this.active      = false;
+    this.index       = 0;
     this.entryCount  = 0;
     this.oldElementValue = this.element.value;
 
@@ -64,28 +64,28 @@ Autocompleter.Base.prototype = {
     this.options.tokens       = this.options.tokens || [];
     this.options.frequency    = this.options.frequency || 0.4;
     this.options.minChars     = this.options.minChars || 1;
-    this.options.onShow       = this.options.onShow || 
-      function(element, update){ 
+    this.options.onShow       = this.options.onShow ||
+      function(element, update){
         if(!update.style.position || update.style.position=='absolute') {
           update.style.position = 'absolute';
           Position.clone(element, update, {
-            setHeight: false, 
+            setHeight: false,
             offsetTop: element.offsetHeight
           });
         }
         Effect.Appear(update,{duration:0.15});
       };
-    this.options.onHide = this.options.onHide || 
+    this.options.onHide = this.options.onHide ||
       function(element, update){ new Effect.Fade(update,{duration:0.15}) };
 
-    if(typeof(this.options.tokens) == 'string') 
+    if(typeof(this.options.tokens) == 'string')
       this.options.tokens = new Array(this.options.tokens);
     // Force carriage returns as token delimiters anyway
     if (!this.options.tokens.include('\n'))
       this.options.tokens.push('\n');
 
     this.observer = null;
-    
+
     this.element.setAttribute('autocomplete','off');
 
     Element.hide(this.update);
@@ -96,10 +96,10 @@ Autocompleter.Base.prototype = {
 
   show: function() {
     if(Element.getStyle(this.update, 'display')=='none') this.options.onShow(this.element, this.update);
-    if(!this.iefix &amp;&amp; 
+    if(!this.iefix &amp;&amp;
       (Prototype.Browser.IE) &amp;&amp;
       (Element.getStyle(this.update, 'position')=='absolute')) {
-      new Insertion.After(this.update, 
+      new Insertion.After(this.update,
        '&lt;iframe id=&quot;' + this.update.id + '_iefix&quot; '+
        'style=&quot;display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);&quot; ' +
        'src=&quot;javascript:false;&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;');
@@ -107,7 +107,7 @@ Autocompleter.Base.prototype = {
     }
     if(this.iefix) setTimeout(this.fixIEOverlapping.bind(this), 50);
   },
-  
+
   fixIEOverlapping: function() {
     Position.clone(this.update, this.iefix, {setTop:(!this.update.style.height)});
     this.iefix.style.zIndex = 1;
@@ -155,15 +155,15 @@ Autocompleter.Base.prototype = {
          if(Prototype.Browser.WebKit) Event.stop(event);
          return;
       }
-     else 
-       if(event.keyCode==Event.KEY_TAB || event.keyCode==Event.KEY_RETURN || 
+     else
+       if(event.keyCode==Event.KEY_TAB || event.keyCode==Event.KEY_RETURN ||
          (Prototype.Browser.WebKit &gt; 0 &amp;&amp; event.keyCode == 0)) return;
 
     this.changed = true;
     this.hasFocus = true;
 
     if(this.observer) clearTimeout(this.observer);
-      this.observer = 
+      this.observer =
         setTimeout(this.onObserverEvent.bind(this), this.options.frequency*1000);
   },
 
@@ -175,35 +175,35 @@ Autocompleter.Base.prototype = {
 
   onHover: function(event) {
     var element = Event.findElement(event, 'LI');
-    if(this.index != element.autocompleteIndex) 
+    if(this.index != element.autocompleteIndex)
     {
         this.index = element.autocompleteIndex;
         this.render();
     }
     Event.stop(event);
   },
-  
+
   onClick: function(event) {
     var element = Event.findElement(event, 'LI');
     this.index = element.autocompleteIndex;
     this.selectEntry();
     this.hide();
   },
-  
+
   onBlur: function(event) {
     // needed to make click events working
     setTimeout(this.hide.bind(this), 250);
     this.hasFocus = false;
-    this.active = false;     
-  }, 
-  
+    this.active = false;
+  },
+
   render: function() {
     if(this.entryCount &gt; 0) {
       for (var i = 0; i &lt; this.entryCount; i++)
-        this.index==i ? 
-          Element.addClassName(this.getEntry(i),&quot;selected&quot;) : 
+        this.index==i ?
+          Element.addClassName(this.getEntry(i),&quot;selected&quot;) :
           Element.removeClassName(this.getEntry(i),&quot;selected&quot;);
-      if(this.hasFocus) { 
+      if(this.hasFocus) {
         this.show();
         this.active = true;
       }
@@ -212,27 +212,27 @@ Autocompleter.Base.prototype = {
       this.hide();
     }
   },
-  
+
   markPrevious: function() {
     if(this.index &gt; 0) this.index--
       else this.index = this.entryCount-1;
     this.getEntry(this.index).scrollIntoView(true);
   },
-  
+
   markNext: function() {
     if(this.index &lt; this.entryCount-1) this.index++
       else this.index = 0;
     this.getEntry(this.index).scrollIntoView(false);
   },
-  
+
   getEntry: function(index) {
     return this.update.firstChild.childNodes[index];
   },
-  
+
   getCurrentEntry: function() {
     return this.getEntry(this.index);
   },
-  
+
   selectEntry: function() {
     this.active = false;
     this.updateElement(this.getCurrentEntry());
@@ -249,7 +249,7 @@ Autocompleter.Base.prototype = {
       if(nodes.length&gt;0) value = Element.collectTextNodes(nodes[0], this.options.select);
     } else
       value = Element.collectTextNodesIgnoreClass(selectedElement, 'informal');
-    
+
     var bounds = this.getTokenBounds();
     if (bounds[0] != -1) {
       var newValue = this.element.value.substr(0, bounds[0]);
@@ -262,7 +262,7 @@ Autocompleter.Base.prototype = {
     }
     this.oldElementValue = this.element.value;
     this.element.focus();
-    
+
     if (this.options.afterUpdateElement)
       this.options.afterUpdateElement(this.element, selectedElement);
   },
@@ -274,20 +274,20 @@ Autocompleter.Base.prototype = {
       Element.cleanWhitespace(this.update.down());
 
       if(this.update.firstChild &amp;&amp; this.update.down().childNodes) {
-        this.entryCount = 
+        this.entryCount =
           this.update.down().childNodes.length;
         for (var i = 0; i &lt; this.entryCount; i++) {
           var entry = this.getEntry(i);
           entry.autocompleteIndex = i;
           this.addObservers(entry);
         }
-      } else { 
+      } else {
         this.entryCount = 0;
       }
 
       this.stopIndicator();
       this.index = 0;
-      
+
       if(this.entryCount==1 &amp;&amp; this.options.autoSelect) {
         this.selectEntry();
         this.hide();
@@ -303,7 +303,7 @@ Autocompleter.Base.prototype = {
   },
 
   onObserverEvent: function() {
-    this.changed = false;   
+    this.changed = false;
     this.tokenBounds = null;
     if(this.getToken().length&gt;=this.options.minChars) {
       this.getUpdatedChoices();
@@ -357,16 +357,16 @@ Object.extend(Object.extend(Ajax.Autocompleter.prototype, Autocompleter.Base.pro
 
   getUpdatedChoices: function() {
     this.startIndicator();
-    
-    var entry = encodeURIComponent(this.options.paramName) + '=' + 
+
+    var entry = encodeURIComponent(this.options.paramName) + '=' +
       encodeURIComponent(this.getToken());
 
     this.options.parameters = this.options.callback ?
       this.options.callback(this.element, entry) : entry;
 
-    if(this.options.defaultParams) 
+    if(this.options.defaultParams)
       this.options.parameters += '&amp;' + this.options.defaultParams;
-    
+
     new Ajax.Request(this.url, this.options);
   },
 
@@ -389,7 +389,7 @@ Object.extend(Object.extend(Ajax.Autocompleter.prototype, Autocompleter.Base.pro
 // - choices - How many autocompletion choices to offer
 //
 // - partialSearch - If false, the autocompleter will match entered
-//                    text only at the beginning of strings in the 
+//                    text only at the beginning of strings in the
 //                    autocomplete array. Defaults to true, which will
 //                    match text at the beginning of any *word* in the
 //                    strings in the autocomplete array. If you want to
@@ -406,7 +406,7 @@ Object.extend(Object.extend(Ajax.Autocompleter.prototype, Autocompleter.Base.pro
 // - ignoreCase - Whether to ignore case when autocompleting.
 //                 Defaults to true.
 //
-// It's possible to pass in a custom function as the 'selector' 
+// It's possible to pass in a custom function as the 'selector'
 // option, if you prefer to write your own autocompletion logic.
 // In that case, the other options above will not apply unless
 // you support them.
@@ -435,20 +435,20 @@ Autocompleter.Local.prototype = Object.extend(new Autocompleter.Base(), {
         var entry     = instance.getToken();
         var count     = 0;
 
-        for (var i = 0; i &lt; instance.options.array.length &amp;&amp;  
-          ret.length &lt; instance.options.choices ; i++) { 
+        for (var i = 0; i &lt; instance.options.array.length &amp;&amp;
+          ret.length &lt; instance.options.choices ; i++) {
 
           var elem = instance.options.array[i];
-          var foundPos = instance.options.ignoreCase ? 
-            elem.toLowerCase().indexOf(entry.toLowerCase()) : 
+          var foundPos = instance.options.ignoreCase ?
+            elem.toLowerCase().indexOf(entry.toLowerCase()) :
             elem.indexOf(entry);
 
           while (foundPos != -1) {
-            if (foundPos == 0 &amp;&amp; elem.length != entry.length) { 
-              ret.push(&quot;&lt;li&gt;&lt;strong&gt;&quot; + elem.substr(0, entry.length) + &quot;&lt;/strong&gt;&quot; + 
+            if (foundPos == 0 &amp;&amp; elem.length != entry.length) {
+              ret.push(&quot;&lt;li&gt;&lt;strong&gt;&quot; + elem.substr(0, entry.length) + &quot;&lt;/strong&gt;&quot; +
                 elem.substr(entry.length) + &quot;&lt;/li&gt;&quot;);
               break;
-            } else if (entry.length &gt;= instance.options.partialChars &amp;&amp; 
+            } else if (entry.length &gt;= instance.options.partialChars &amp;&amp;
               instance.options.partialSearch &amp;&amp; foundPos != -1) {
               if (instance.options.fullSearch || /\s/.test(elem.substr(foundPos-1,1))) {
                 partial.push(&quot;&lt;li&gt;&quot; + elem.substr(0, foundPos) + &quot;&lt;strong&gt;&quot; +
@@ -458,8 +458,8 @@ Autocompleter.Local.prototype = Object.extend(new Autocompleter.Base(), {
               }
             }
 
-            foundPos = instance.options.ignoreCase ? 
-              elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) : 
+            foundPos = instance.options.ignoreCase ?
+              elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) :
               elem.indexOf(entry, foundPos + 1);
 
           }
@@ -945,7 +945,7 @@ Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions = function(opt
 };
 
 
-// Delayed observer, like Form.Element.Observer, 
+// Delayed observer, like Form.Element.Observer,
 // but waits for delay after last key input
 // Ideal for live-search fields
 
@@ -956,7 +956,7 @@ Form.Element.DelayedObserver.prototype = {
     this.element   = $(element);
     this.callback  = callback;
     this.timer     = null;
-    this.lastValue = $F(this.element); 
+    this.lastValue = $F(this.element);
     Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this));
   },
   delayedListener: function(event) {</diff>
      <filename>rails_plugins/rspec/story_server/prototype/javascripts/controls.js</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@
 
 // Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
 //           (c) 2005-2007 Sammi Williams (http://www.oriontransfer.co.nz, sammi@oriontransfer.co.nz)
-// 
+//
 // script.aculo.us is freely distributable under the terms of an MIT-style license.
 // For details, see the script.aculo.us web site: http://script.aculo.us/
 
@@ -34,7 +34,7 @@ var Droppables = {
         options._containers.push($(containment));
       }
     }
-    
+
     if(options.accept) options.accept = [options.accept].flatten();
 
     Element.makePositioned(element); // fix IE
@@ -42,34 +42,34 @@ var Droppables = {
 
     this.drops.push(options);
   },
-  
+
   findDeepestChild: function(drops) {
     deepest = drops[0];
-      
+
     for (i = 1; i &lt; drops.length; ++i)
       if (Element.isParent(drops[i].element, deepest.element))
         deepest = drops[i];
-    
+
     return deepest;
   },
 
   isContained: function(element, drop) {
     var containmentNode;
     if(drop.tree) {
-      containmentNode = element.treeNode; 
+      containmentNode = element.treeNode;
     } else {
       containmentNode = element.parentNode;
     }
     return drop._containers.detect(function(c) { return containmentNode == c });
   },
-  
+
   isAffected: function(point, element, drop) {
     return (
       (drop.element!=element) &amp;&amp;
       ((!drop._containers) ||
         this.isContained(element, drop)) &amp;&amp;
       ((!drop.accept) ||
-        (Element.classNames(element).detect( 
+        (Element.classNames(element).detect(
           function(v) { return drop.accept.include(v) } ) )) &amp;&amp;
       Position.within(drop.element, point[0], point[1]) );
   },
@@ -89,12 +89,12 @@ var Droppables = {
   show: function(point, element) {
     if(!this.drops.length) return;
     var drop, affected = [];
-    
+
     this.drops.each( function(drop) {
       if(Droppables.isAffected(point, element, drop))
         affected.push(drop);
     });
-        
+
     if(affected.length&gt;0)
       drop = Droppables.findDeepestChild(affected);
 
@@ -103,7 +103,7 @@ var Droppables = {
       Position.within(drop.element, point[0], point[1]);
       if(drop.onHover)
         drop.onHover(element, drop.element, Position.overlap(drop.overlap, drop.element));
-      
+
       if (drop != this.last_active) Droppables.activate(drop);
     }
   },
@@ -114,8 +114,8 @@ var Droppables = {
 
     if (this.isAffected([Event.pointerX(event), Event.pointerY(event)], element, this.last_active))
       if (this.last_active.onDrop) {
-        this.last_active.onDrop(element, this.last_active.element, event); 
-        return true; 
+        this.last_active.onDrop(element, this.last_active.element, event);
+        return true;
       }
   },
 
@@ -128,20 +128,20 @@ var Droppables = {
 var Draggables = {
   drags: [],
   observers: [],
-  
+
   register: function(draggable) {
     if(this.drags.length == 0) {
       this.eventMouseUp   = this.endDrag.bindAsEventListener(this);
       this.eventMouseMove = this.updateDrag.bindAsEventListener(this);
       this.eventKeypress  = this.keyPress.bindAsEventListener(this);
-      
+
       Event.observe(document, &quot;mouseup&quot;, this.eventMouseUp);
       Event.observe(document, &quot;mousemove&quot;, this.eventMouseMove);
       Event.observe(document, &quot;keypress&quot;, this.eventKeypress);
     }
     this.drags.push(draggable);
   },
-  
+
   unregister: function(draggable) {
     this.drags = this.drags.reject(function(d) { return d==draggable });
     if(this.drags.length == 0) {
@@ -150,24 +150,24 @@ var Draggables = {
       Event.stopObserving(document, &quot;keypress&quot;, this.eventKeypress);
     }
   },
-  
+
   activate: function(draggable) {
-    if(draggable.options.delay) { 
-      this._timeout = setTimeout(function() { 
-        Draggables._timeout = null; 
-        window.focus(); 
-        Draggables.activeDraggable = draggable; 
-      }.bind(this), draggable.options.delay); 
+    if(draggable.options.delay) {
+      this._timeout = setTimeout(function() {
+        Draggables._timeout = null;
+        window.focus();
+        Draggables.activeDraggable = draggable;
+      }.bind(this), draggable.options.delay);
     } else {
       window.focus(); // allows keypress events if window isn't currently focused, fails for Safari
       this.activeDraggable = draggable;
     }
   },
-  
+
   deactivate: function() {
     this.activeDraggable = null;
   },
-  
+
   updateDrag: function(event) {
     if(!this.activeDraggable) return;
     var pointer = [Event.pointerX(event), Event.pointerY(event)];
@@ -175,36 +175,36 @@ var Draggables = {
     // the same coordinates, prevent needless redrawing (moz bug?)
     if(this._lastPointer &amp;&amp; (this._lastPointer.inspect() == pointer.inspect())) return;
     this._lastPointer = pointer;
-    
+
     this.activeDraggable.updateDrag(event, pointer);
   },
-  
+
   endDrag: function(event) {
-    if(this._timeout) { 
-      clearTimeout(this._timeout); 
-      this._timeout = null; 
+    if(this._timeout) {
+      clearTimeout(this._timeout);
+      this._timeout = null;
     }
     if(!this.activeDraggable) return;
     this._lastPointer = null;
     this.activeDraggable.endDrag(event);
     this.activeDraggable = null;
   },
-  
+
   keyPress: function(event) {
     if(this.activeDraggable)
       this.activeDraggable.keyPress(event);
   },
-  
+
   addObserver: function(observer) {
     this.observers.push(observer);
     this._cacheObserverCallbacks();
   },
-  
+
   removeObserver: function(element) {  // element instead of observer fixes mem leaks
     this.observers = this.observers.reject( function(o) { return o.element==element });
     this._cacheObserverCallbacks();
   },
-  
+
   notify: function(eventName, draggable, event) {  // 'onStart', 'onEnd', 'onDrag'
     if(this[eventName+'Count'] &gt; 0)
       this.observers.each( function(o) {
@@ -212,7 +212,7 @@ var Draggables = {
       });
     if(draggable.options[eventName]) draggable.options[eventName](draggable, event);
   },
-  
+
   _cacheObserverCallbacks: function() {
     ['onStart','onEnd','onDrag'].each( function(eventName) {
       Draggables[eventName+'Count'] = Draggables.observers.select(
@@ -239,12 +239,12 @@ Draggable.prototype = {
       },
       endeffect: function(element) {
         var toOpacity = Object.isNumber(element._opacity) ? element._opacity : 1.0;
-        new Effect.Opacity(element, {duration:0.2, from:0.7, to:toOpacity, 
+        new Effect.Opacity(element, {duration:0.2, from:0.7, to:toOpacity,
           queue: {scope:'_draggable', position:'end'},
-          afterFinish: function(){ 
-            Draggable._dragging[element] = false 
+          afterFinish: function(){
+            Draggable._dragging[element] = false
           }
-        }); 
+        });
       },
       zindex: 1000,
       revert: false,
@@ -255,57 +255,57 @@ Draggable.prototype = {
       snap: false,  // false, or xy or [x,y] or function(x,y){ return [x,y] }
       delay: 0
     };
-    
+
     if(!arguments[1] || Object.isUndefined(arguments[1].endeffect))
       Object.extend(defaults, {
         starteffect: function(element) {
           element._opacity = Element.getOpacity(element);
           Draggable._dragging[element] = true;
-          new Effect.Opacity(element, {duration:0.2, from:element._opacity, to:0.7}); 
+          new Effect.Opacity(element, {duration:0.2, from:element._opacity, to:0.7});
         }
       });
-    
+
     var options = Object.extend(defaults, arguments[1] || { });
 
     this.element = $(element);
-    
+
     if(options.handle &amp;&amp; Object.isString(options.handle))
       this.handle = this.element.down('.'+options.handle, 0);
-    
+
     if(!this.handle) this.handle = $(options.handle);
     if(!this.handle) this.handle = this.element;
-    
+
     if(options.scroll &amp;&amp; !options.scroll.scrollTo &amp;&amp; !options.scroll.outerHTML) {
       options.scroll = $(options.scroll);
       this._isScrollChild = Element.childOf(this.element, options.scroll);
     }
 
-    Element.makePositioned(this.element); // fix IE    
+    Element.makePositioned(this.element); // fix IE
 
     this.options  = options;
-    this.dragging = false;   
+    this.dragging = false;
 
     this.eventMouseDown = this.initDrag.bindAsEventListener(this);
     Event.observe(this.handle, &quot;mousedown&quot;, this.eventMouseDown);
-    
+
     Draggables.register(this);
   },
-  
+
   destroy: function() {
     Event.stopObserving(this.handle, &quot;mousedown&quot;, this.eventMouseDown);
     Draggables.unregister(this);
   },
-  
+
   currentDelta: function() {
     return([
       parseInt(Element.getStyle(this.element,'left') || '0'),
       parseInt(Element.getStyle(this.element,'top') || '0')]);
   },
-  
+
   initDrag: function(event) {
     if(!Object.isUndefined(Draggable._dragging[this.element]) &amp;&amp;
       Draggable._dragging[this.element]) return;
-    if(Event.isLeftClick(event)) {    
+    if(Event.isLeftClick(event)) {
       // abort on form elements, fixes a Firefox issue
       var src = Event.element(event);
       if((tag_name = src.tagName.toUpperCase()) &amp;&amp; (
@@ -314,26 +314,26 @@ Draggable.prototype = {
         tag_name=='OPTION' ||
         tag_name=='BUTTON' ||
         tag_name=='TEXTAREA')) return;
-        
+
       var pointer = [Event.pointerX(event), Event.pointerY(event)];
       var pos     = Position.cumulativeOffset(this.element);
       this.offset = [0,1].map( function(i) { return (pointer[i] - pos[i]) });
-      
+
       Draggables.activate(this);
       Event.stop(event);
     }
   },
-  
+
   startDrag: function(event) {
     this.dragging = true;
     if(!this.delta)
       this.delta = this.currentDelta();
-    
+
     if(this.options.zindex) {
       this.originalZ = parseInt(Element.getStyle(this.element,'z-index') || 0);
       this.element.style.zIndex = this.options.zindex;
     }
-    
+
     if(this.options.ghosting) {
       this._clone = this.element.cloneNode(true);
       this.element._originallyAbsolute = (this.element.getStyle('position') == 'absolute');
@@ -341,7 +341,7 @@ Draggable.prototype = {
         Position.absolutize(this.element);
       this.element.parentNode.insertBefore(this._clone, this.element);
     }
-    
+
     if(this.options.scroll) {
       if (this.options.scroll == window) {
         var where = this._getWindowScroll(this.options.scroll);
@@ -352,28 +352,28 @@ Draggable.prototype = {
         this.originalScrollTop = this.options.scroll.scrollTop;
       }
     }
-    
+
     Draggables.notify('onStart', this, event);
-        
+
     if(this.options.starteffect) this.options.starteffect(this.element);
   },
-  
+
   updateDrag: function(event, pointer) {
     if(!this.dragging) this.startDrag(event);
-    
+
     if(!this.options.quiet){
       Position.prepare();
       Droppables.show(pointer, this.element);
     }
-    
+
     Draggables.notify('onDrag', this, event);
-    
+
     this.draw(pointer);
     if(this.options.change) this.options.change(this);
-    
+
     if(this.options.scroll) {
       this.stopScrolling();
-      
+
       var p;
       if (this.options.scroll == window) {
         with(this._getWindowScroll(this.options.scroll)) { p = [ left, top, left+width, top+height ]; }
@@ -391,16 +391,16 @@ Draggable.prototype = {
       if(pointer[1] &gt; (p[3]-this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[3]-this.options.scrollSensitivity);
       this.startScrolling(speed);
     }
-    
+
     // fix AppleWebKit rendering
     if(Prototype.Browser.WebKit) window.scrollBy(0,0);
-    
+
     Event.stop(event);
   },
-  
+
   finishDrag: function(event, success) {
     this.dragging = false;
-    
+
     if(this.options.quiet){
       Position.prepare();
       var pointer = [Event.pointerX(event), Event.pointerY(event)];
@@ -415,17 +415,17 @@ Draggable.prototype = {
       this._clone = null;
     }
 
-    var dropped = false; 
-    if(success) { 
-      dropped = Droppables.fire(event, this.element); 
-      if (!dropped) dropped = false; 
+    var dropped = false;
+    if(success) {
+      dropped = Droppables.fire(event, this.element);
+      if (!dropped) dropped = false;
     }
     if(dropped &amp;&amp; this.options.onDropped) this.options.onDropped(this.element);
     Draggables.notify('onEnd', this, event);
 
     var revert = this.options.revert;
     if(revert &amp;&amp; Object.isFunction(revert)) revert = revert(this.element);
-    
+
     var d = this.currentDelta();
     if(revert &amp;&amp; this.options.reverteffect) {
       if (dropped == 0 || revert != 'failure')
@@ -438,45 +438,45 @@ Draggable.prototype = {
     if(this.options.zindex)
       this.element.style.zIndex = this.originalZ;
 
-    if(this.options.endeffect) 
+    if(this.options.endeffect)
       this.options.endeffect(this.element);
-      
+
     Draggables.deactivate(this);
     Droppables.reset();
   },
-  
+
   keyPress: function(event) {
     if(event.keyCode!=Event.KEY_ESC) return;
     this.finishDrag(event, false);
     Event.stop(event);
   },
-  
+
   endDrag: function(event) {
     if(!this.dragging) return;
     this.stopScrolling();
     this.finishDrag(event, true);
     Event.stop(event);
   },
-  
+
   draw: function(point) {
     var pos = Position.cumulativeOffset(this.element);
     if(this.options.ghosting) {
       var r   = Position.realOffset(this.element);
       pos[0] += r[0] - Position.deltaX; pos[1] += r[1] - Position.deltaY;
     }
-    
+
     var d = this.currentDelta();
     pos[0] -= d[0]; pos[1] -= d[1];
-    
+
     if(this.options.scroll &amp;&amp; (this.options.scroll != window &amp;&amp; this._isScrollChild)) {
       pos[0] -= this.options.scroll.scrollLeft-this.originalScrollLeft;
       pos[1] -= this.options.scroll.scrollTop-this.originalScrollTop;
     }
-    
-    var p = [0,1].map(function(i){ 
-      return (point[i]-pos[i]-this.offset[i]) 
+
+    var p = [0,1].map(function(i){
+      return (point[i]-pos[i]-this.offset[i])
     }.bind(this));
-    
+
     if(this.options.snap) {
       if(Object.isFunction(this.options.snap)) {
         p = this.options.snap(p[0],p[1],this);
@@ -489,16 +489,16 @@ Draggable.prototype = {
           return (v/this.options.snap).round()*this.options.snap }.bind(this))
       }
     }}
-    
+
     var style = this.element.style;
     if((!this.options.constraint) || (this.options.constraint=='horizontal'))
       style.left = p[0] + &quot;px&quot;;
     if((!this.options.constraint) || (this.options.constraint=='vertical'))
       style.top  = p[1] + &quot;px&quot;;
-    
+
     if(style.visibility==&quot;hidden&quot;) style.visibility = &quot;&quot;; // fix gecko rendering
   },
-  
+
   stopScrolling: function() {
     if(this.scrollInterval) {
       clearInterval(this.scrollInterval);
@@ -506,14 +506,14 @@ Draggable.prototype = {
       Draggables._lastScrollPointer = null;
     }
   },
-  
+
   startScrolling: function(speed) {
     if(!(speed[0] || speed[1])) return;
     this.scrollSpeed = [speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];
     this.lastScrolled = new Date();
     this.scrollInterval = setInterval(this.scroll.bind(this), 10);
   },
-  
+
   scroll: function() {
     var current = new Date();
     var delta = current - this.lastScrolled;
@@ -529,7 +529,7 @@ Draggable.prototype = {
       this.options.scroll.scrollLeft += this.scrollSpeed[0] * delta / 1000;
       this.options.scroll.scrollTop  += this.scrollSpeed[1] * delta / 1000;
     }
-    
+
     Position.prepare();
     Droppables.show(Draggables._lastPointer, this.element);
     Draggables.notify('onDrag', this);
@@ -543,10 +543,10 @@ Draggable.prototype = {
         Draggables._lastScrollPointer[1] = 0;
       this.draw(Draggables._lastScrollPointer);
     }
-    
+
     if(this.options.change) this.options.change(this);
   },
-  
+
   _getWindowScroll: function(w) {
     var T, L, W, H;
     with (w.document) {
@@ -581,11 +581,11 @@ SortableObserver.prototype = {
     this.observer  = observer;
     this.lastValue = Sortable.serialize(this.element);
   },
-  
+
   onStart: function() {
     this.lastValue = Sortable.serialize(this.element);
   },
-  
+
   onEnd: function() {
     Sortable.unmark();
     if(this.lastValue != Sortable.serialize(this.element))
@@ -595,11 +595,11 @@ SortableObserver.prototype = {
 
 var Sortable = {
   SERIALIZE_RULE: /^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,
-  
+
   sortables: { },
-  
+
   _findRootElement: function(element) {
-    while (element.tagName.toUpperCase() != &quot;BODY&quot;) {  
+    while (element.tagName.toUpperCase() != &quot;BODY&quot;) {
       if(element.id &amp;&amp; Sortable.sortables[element.id]) return element;
       element = element.parentNode;
     }
@@ -610,22 +610,22 @@ var Sortable = {
     if(!element) return;
     return Sortable.sortables[element.id];
   },
-  
+
   destroy: function(element){
     var s = Sortable.options(element);
-    
+
     if(s) {
       Draggables.removeObserver(s.element);
       s.droppables.each(function(d){ Droppables.remove(d) });
       s.draggables.invoke('destroy');
-      
+
       delete Sortable.sortables[s.element.id];
     }
   },
 
   create: function(element) {
     element = $(element);
-    var options = Object.extend({ 
+    var options = Object.extend({
       element:     element,
       tag:         'li',       // assumes li children, override with tag: 'tagname'
       dropOnEmpty: false,
@@ -639,17 +639,17 @@ var Sortable = {
       delay:       0,
       hoverclass:  null,
       ghosting:    false,
-      quiet:       false, 
+      quiet:       false,
       scroll:      false,
       scrollSensitivity: 20,
       scrollSpeed: 15,
       format:      this.SERIALIZE_RULE,
-      
-      // these take arrays of elements or ids and can be 
+
+      // these take arrays of elements or ids and can be
       // used for better initialization performance
       elements:    false,
       handles:     false,
-      
+
       onChange:    Prototype.emptyFunction,
       onUpdate:    Prototype.emptyFunction
     }, arguments[1] || { });
@@ -686,7 +686,7 @@ var Sortable = {
     if(options.zindex)
       options_for_draggable.zindex = options.zindex;
 
-    // build options for the droppables  
+    // build options for the droppables
     var options_for_droppable = {
       overlap:     options.overlap,
       containment: options.containment,
@@ -694,7 +694,7 @@ var Sortable = {
       hoverclass:  options.hoverclass,
       onHover:     Sortable.onHover
     }
-    
+
     var options_for_tree = {
       onHover:      Sortable.onEmptyHover,
       overlap:      options.overlap,
@@ -703,7 +703,7 @@ var Sortable = {
     }
 
     // fix for gecko engine
-    Element.cleanWhitespace(element); 
+    Element.cleanWhitespace(element);
 
     options.draggables = [];
     options.droppables = [];
@@ -716,14 +716,14 @@ var Sortable = {
 
     (options.elements || this.findElements(element, options) || []).each( function(e,i) {
       var handle = options.handles ? $(options.handles[i]) :
-        (options.handle ? $(e).getElementsByClassName(options.handle)[0] : e); 
+        (options.handle ? $(e).getElementsByClassName(options.handle)[0] : e);
       options.draggables.push(
         new Draggable(e, Object.extend(options_for_draggable, { handle: handle })));
       Droppables.add(e, options_for_droppable);
       if(options.tree) e.treeNode = element;
-      options.droppables.push(e);      
+      options.droppables.push(e);
     });
-    
+
     if(options.tree) {
       (Sortable.findTreeElements(element, options) || []).each( function(e) {
         Droppables.add(e, options_for_tree);
@@ -745,7 +745,7 @@ var Sortable = {
     return Element.findChildren(
       element, options.only, options.tree ? true : false, options.tag);
   },
-  
+
   findTreeElements: function(element, options) {
     return Element.findChildren(
       element, options.only, options.tree ? true : false, options.treeTag);
@@ -762,7 +762,7 @@ var Sortable = {
         var oldParentNode = element.parentNode;
         element.style.visibility = &quot;hidden&quot;; // fix gecko rendering
         dropon.parentNode.insertBefore(element, dropon);
-        if(dropon.parentNode!=oldParentNode) 
+        if(dropon.parentNode!=oldParentNode)
           Sortable.options(oldParentNode).onChange(element);
         Sortable.options(dropon.parentNode).onChange(element);
       }
@@ -773,26 +773,26 @@ var Sortable = {
         var oldParentNode = element.parentNode;
         element.style.visibility = &quot;hidden&quot;; // fix gecko rendering
         dropon.parentNode.insertBefore(element, nextElement);
-        if(dropon.parentNode!=oldParentNode) 
+        if(dropon.parentNode!=oldParentNode)
           Sortable.options(oldParentNode).onChange(element);
         Sortable.options(dropon.parentNode).onChange(element);
       }
     }
   },
-  
+
   onEmptyHover: function(element, dropon, overlap) {
     var oldParentNode = element.parentNode;
     var droponOptions = Sortable.options(dropon);
-        
+
     if(!Element.isParent(dropon, element)) {
       var index;
-      
+
       var children = Sortable.findElements(dropon, {tag: droponOptions.tag, only: droponOptions.only});
       var child = null;
-            
+
       if(children) {
         var offset = Element.offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap);
-        
+
         for (index = 0; index &lt; children.length; index += 1) {
           if (offset - Element.offsetSize (children[index], droponOptions.overlap) &gt;= 0) {
             offset -= Element.offsetSize (children[index], droponOptions.overlap);
@@ -805,9 +805,9 @@ var Sortable = {
           }
         }
       }
-      
+
       dropon.insertBefore(element, child);
-      
+
       Sortable.options(oldParentNode).onChange(element);
       droponOptions.onChange(element);
     }
@@ -820,34 +820,34 @@ var Sortable = {
   mark: function(dropon, position) {
     // mark on ghosting only
     var sortable = Sortable.options(dropon.parentNode);
-    if(sortable &amp;&amp; !sortable.ghosting) return; 
+    if(sortable &amp;&amp; !sortable.ghosting) return;
 
     if(!Sortable._marker) {
-      Sortable._marker = 
+      Sortable._marker =
         ($('dropmarker') || Element.extend(document.createElement('DIV'))).
           hide().addClassName('dropmarker').setStyle({position:'absolute'});
       document.getElementsByTagName(&quot;body&quot;).item(0).appendChild(Sortable._marker);
-    }    
+    }
     var offsets = Position.cumulativeOffset(dropon);
     Sortable._marker.setStyle({left: offsets[0]+'px', top: offsets[1] + 'px'});
-    
+
     if(position=='after')
-      if(sortable.overlap == 'horizontal') 
+      if(sortable.overlap == 'horizontal')
         Sortable._marker.setStyle({left: (offsets[0]+dropon.clientWidth) + 'px'});
       else
         Sortable._marker.setStyle({top: (offsets[1]+dropon.clientHeight) + 'px'});
-    
+
     Sortable._marker.show();
   },
-  
+
   _tree: function(element, options, parent) {
     var children = Sortable.findElements(element, options) || [];
-  
+
     for (var i = 0; i &lt; children.length; ++i) {
       var match = children[i].id.match(options.format);
 
       if (!match) continue;
-      
+
       var child = {
         id: encodeURIComponent(match ? match[1] : null),
         element: element,
@@ -856,15 +856,15 @@ var Sortable = {
         position: parent.children.length,
         container: $(children[i]).down(options.treeTag)
       }
-      
+
       /* Get the element containing the children and recurse over it */
       if (child.container)
         this._tree(child.container, options, child)
-      
+
       parent.children.push (child);
     }
 
-    return parent; 
+    return parent;
   },
 
   tree: function(element) {
@@ -877,7 +877,7 @@ var Sortable = {
       name: element.id,
       format: sortableOptions.format
     }, arguments[1] || { });
-    
+
     var root = {
       id: null,
       parent: null,
@@ -885,7 +885,7 @@ var Sortable = {
       container: element,
       position: 0
     }
-    
+
     return Sortable._tree(element, options, root);
   },
 
@@ -901,7 +901,7 @@ var Sortable = {
   sequence: function(element) {
     element = $(element);
     var options = Object.extend(this.options(element), arguments[1] || { });
-    
+
     return $(this.findElements(element, options) || []).map( function(item) {
       return item.id.match(options.format) ? item.id.match(options.format)[1] : '';
     });
@@ -910,14 +910,14 @@ var Sortable = {
   setSequence: function(element, new_sequence) {
     element = $(element);
     var options = Object.extend(this.options(element), arguments[2] || { });
-    
+
     var nodeMap = { };
     this.findElements(element, options).each( function(n) {
         if (n.id.match(options.format))
             nodeMap[n.id.match(options.format)[1]] = [n, n.parentNode];
         n.parentNode.removeChild(n);
     });
-   
+
     new_sequence.each(function(ident) {
       var n = nodeMap[ident];
       if (n) {
@@ -926,16 +926,16 @@ var Sortable = {
       }
     });
   },
-  
+
   serialize: function(element) {
     element = $(element);
     var options = Object.extend(Sortable.options(element), arguments[1] || { });
     var name = encodeURIComponent(
       (arguments[1] &amp;&amp; arguments[1].name) ? arguments[1].name : element.id);
-    
+
     if (options.tree) {
       return Sortable.tree(element, arguments[1]).children.map( function (item) {
-        return [name + Sortable._constructIndex(item) + &quot;[id]=&quot; + 
+        return [name + Sortable._constructIndex(item) + &quot;[id]=&quot; +
                 encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));
       }).flatten().join('&amp;');
     } else {
@@ -953,7 +953,7 @@ Element.isParent = function(child, element) {
   return Element.isParent(child.parentNode, element);
 }
 
-Element.findChildren = function(element, only, recursive, tagName) {   
+Element.findChildren = function(element, only, recursive, tagName) {
   if(!element.hasChildNodes()) return null;
   tagName = tagName.toUpperCase();
   if(only) only = [only].flatten();</diff>
      <filename>rails_plugins/rspec/story_server/prototype/javascripts/dragdrop.js</filename>
    </modified>
    <modified>
      <diff>@@ -5,46 +5,46 @@
 //  Justin Palmer (http://encytemedia.com/)
 //  Mark Pilgrim (http://diveintomark.org/)
 //  Martin Bialasinki
-// 
+//
 // script.aculo.us is freely distributable under the terms of an MIT-style license.
-// For details, see the script.aculo.us web site: http://script.aculo.us/ 
+// For details, see the script.aculo.us web site: http://script.aculo.us/
 
-// converts rgb() and #xxx to #xxxxxx format,  
-// returns self (or first argument) if not convertable  
-String.prototype.parseColor = function() {  
+// converts rgb() and #xxx to #xxxxxx format,
+// returns self (or first argument) if not convertable
+String.prototype.parseColor = function() {
   var color = '#';
-  if (this.slice(0,4) == 'rgb(') {  
-    var cols = this.slice(4,this.length-1).split(',');  
-    var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i&lt;3);  
-  } else {  
-    if (this.slice(0,1) == '#') {  
-      if (this.length==4) for(var i=1;i&lt;4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();  
-      if (this.length==7) color = this.toLowerCase();  
-    }  
-  }  
-  return (color.length==7 ? color : (arguments[0] || this));  
+  if (this.slice(0,4) == 'rgb(') {
+    var cols = this.slice(4,this.length-1).split(',');
+    var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i&lt;3);
+  } else {
+    if (this.slice(0,1) == '#') {
+      if (this.length==4) for(var i=1;i&lt;4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();
+      if (this.length==7) color = this.toLowerCase();
+    }
+  }
+  return (color.length==7 ? color : (arguments[0] || this));
 };
 
 /*--------------------------------------------------------------------------*/
 
-Element.collectTextNodes = function(element) {  
+Element.collectTextNodes = function(element) {
   return $A($(element).childNodes).collect( function(node) {
-    return (node.nodeType==3 ? node.nodeValue : 
+    return (node.nodeType==3 ? node.nodeValue :
       (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
   }).flatten().join('');
 };
 
-Element.collectTextNodesIgnoreClass = function(element, className) {  
+Element.collectTextNodesIgnoreClass = function(element, className) {
   return $A($(element).childNodes).collect( function(node) {
-    return (node.nodeType==3 ? node.nodeValue : 
-      ((node.hasChildNodes() &amp;&amp; !Element.hasClassName(node,className)) ? 
+    return (node.nodeType==3 ? node.nodeValue :
+      ((node.hasChildNodes() &amp;&amp; !Element.hasClassName(node,className)) ?
         Element.collectTextNodesIgnoreClass(node, className) : ''));
   }).flatten().join('');
 };
 
 Element.setContentZoom = function(element, percent) {
-  element = $(element);  
-  element.setStyle({fontSize: (percent/100) + 'em'});   
+  element = $(element);
+  element.setStyle({fontSize: (percent/100) + 'em'});
   if (Prototype.Browser.WebKit) window.scrollBy(0,0);
   return element;
 };
@@ -84,16 +84,16 @@ var Effect = {
     wobble: function(pos) {
       return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5;
     },
-    pulse: function(pos, pulses) { 
-      pulses = pulses || 5; 
+    pulse: function(pos, pulses) {
+      pulses = pulses || 5;
       return (
-        ((pos % (1/pulses)) * pulses).round() == 0 ? 
-              ((pos * pulses * 2) - (pos * pulses * 2).floor()) : 
+        ((pos % (1/pulses)) * pulses).round() == 0 ?
+              ((pos * pulses * 2) - (pos * pulses * 2).floor()) :
           1 - ((pos * pulses * 2) - (pos * pulses * 2).floor())
         );
     },
-    spring: function(pos) { 
-      return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6)); 
+    spring: function(pos) {
+      return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6));
     },
     none: function(pos) {
       return 0;
@@ -114,14 +114,14 @@ var Effect = {
   tagifyText: function(element) {
     var tagifyStyle = 'position:relative';
     if (Prototype.Browser.IE) tagifyStyle += ';zoom:1';
-    
+
     element = $(element);
     $A(element.childNodes).each( function(child) {
       if (child.nodeType==3) {
         child.nodeValue.toArray().each( function(character) {
           element.insertBefore(
             new Element('span', {style: tagifyStyle}).update(
-              character == ' ' ? String.fromCharCode(160) : character), 
+              character == ' ' ? String.fromCharCode(160) : character),
               child);
         });
         Element.remove(child);
@@ -130,13 +130,13 @@ var Effect = {
   },
   multiple: function(element, effect) {
     var elements;
-    if (((typeof element == 'object') || 
-        Object.isFunction(element)) &amp;&amp; 
+    if (((typeof element == 'object') ||
+        Object.isFunction(element)) &amp;&amp;
        (element.length))
       elements = element;
     else
       elements = $(element).childNodes;
-      
+
     var options = Object.extend({
       speed: 0.1,
       delay: 0.0
@@ -158,7 +158,7 @@ var Effect = {
     var options = Object.extend({
       queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
     }, arguments[2] || { });
-    Effect[element.visible() ? 
+    Effect[element.visible() ?
       Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
   }
 };
@@ -170,20 +170,20 @@ Effect.DefaultOptions.transition = Effect.Transitions.sinoidal;
 Effect.ScopedQueue = Class.create(Enumerable, {
   initialize: function() {
     this.effects  = [];
-    this.interval = null;    
+    this.interval = null;
   },
   _each: function(iterator) {
     this.effects._each(iterator);
   },
   add: function(effect) {
     var timestamp = new Date().getTime();
-    
-    var position = Object.isString(effect.options.queue) ? 
+
+    var position = Object.isString(effect.options.queue) ?
       effect.options.queue : effect.options.queue.position;
-    
+
     switch(position) {
       case 'front':
-        // move unstarted effects after this effect  
+        // move unstarted effects after this effect
         this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
             e.startOn  += effect.finishOn;
             e.finishOn += effect.finishOn;
@@ -197,13 +197,13 @@ Effect.ScopedQueue = Class.create(Enumerable, {
         timestamp = this.effects.pluck('finishOn').max() || timestamp;
         break;
     }
-    
+
     effect.startOn  += timestamp;
     effect.finishOn += timestamp;
 
     if (!effect.options.queue.limit || (this.effects.length &lt; effect.options.queue.limit))
       this.effects.push(effect);
-    
+
     if (!this.interval)
       this.interval = setInterval(this.loop.bind(this), 15);
   },
@@ -216,7 +216,7 @@ Effect.ScopedQueue = Class.create(Enumerable, {
   },
   loop: function() {
     var timePos = new Date().getTime();
-    for(var i=0, len=this.effects.length;i&lt;len;i++) 
+    for(var i=0, len=this.effects.length;i&lt;len;i++)
       this.effects[i] &amp;&amp; this.effects[i].loop(timePos);
   }
 });
@@ -225,10 +225,10 @@ Effect.Queues = {
   instances: $H(),
   get: function(queueName) {
     if (!Object.isString(queueName)) return queueName;
-    
+
     if (!this.instances[queueName])
       this.instances[queueName] = new Effect.ScopedQueue();
-      
+
     return this.instances[queueName];
   }
 };
@@ -253,11 +253,11 @@ Effect.Base.prototype = {
     this.fromToDelta  = this.options.to-this.options.from;
     this.totalTime    = this.finishOn-this.startOn;
     this.totalFrames  = this.options.fps*this.options.duration;
-    
+
     eval('this.render = function(pos){ '+
       'if (this.state==&quot;idle&quot;){this.state=&quot;running&quot;;'+
       codeForEvent(this.options,'beforeSetup')+
-      (this.setup ? 'this.setup();':'')+ 
+      (this.setup ? 'this.setup();':'')+
       codeForEvent(this.options,'afterSetup')+
       '};if (this.state==&quot;running&quot;){'+
       'pos=this.options.transition(pos)*'+this.fromToDelta+'+'+this.options.from+';'+
@@ -266,10 +266,10 @@ Effect.Base.prototype = {
       (this.update ? 'this.update(pos);':'')+
       codeForEvent(this.options,'afterUpdate')+
       '}}');
-    
+
     this.event('beforeStart');
     if (!this.options.sync)
-      Effect.Queues.get(Object.isString(this.options.queue) ? 
+      Effect.Queues.get(Object.isString(this.options.queue) ?
         'global' : this.options.queue.scope).add(this);
   },
   loop: function(timePos) {
@@ -278,9 +278,9 @@ Effect.Base.prototype = {
         this.render(1.0);
         this.cancel();
         this.event('beforeFinish');
-        if (this.finish) this.finish(); 
+        if (this.finish) this.finish();
         this.event('afterFinish');
-        return;  
+        return;
       }
       var pos   = (timePos - this.startOn) / this.totalTime,
           frame = (pos * this.totalFrames).round();
@@ -292,7 +292,7 @@ Effect.Base.prototype = {
   },
   cancel: function() {
     if (!this.options.sync)
-      Effect.Queues.get(Object.isString(this.options.queue) ? 
+      Effect.Queues.get(Object.isString(this.options.queue) ?
         'global' : this.options.queue.scope).remove(this);
     this.state = 'finished';
   },
@@ -330,10 +330,10 @@ Effect.Parallel = Class.create(Effect.Base, {
 Effect.Tween = Class.create(Effect.Base, {
   initialize: function(object, from, to) {
     object = Object.isString(object) ? $(object) : object;
-    var args = $A(arguments), method = args.last(), 
+    var args = $A(arguments), method = args.last(),
       options = args.length == 5 ? args[3] : null;
     this.method = Object.isFunction(method) ? method.bind(object) :
-      Object.isFunction(object[method]) ? object[method].bind(object) : 
+      Object.isFunction(object[method]) ? object[method].bind(object) :
       function(value) { object[method] = value };
     this.start(Object.extend({ from: from, to: to }, options || { }));
   },
@@ -397,7 +397,7 @@ Effect.Move = Class.create(Effect.Base, {
 
 // for backwards compatibility
 Effect.MoveBy = function(element, toTop, toLeft) {
-  return new Effect.Move(element, 
+  return new Effect.Move(element,
     Object.extend({ x: toLeft, y: toTop }, arguments[3] || { }));
 };
 
@@ -419,15 +419,15 @@ Effect.Scale = Class.create(Effect.Base, {
   setup: function() {
     this.restoreAfterFinish = this.options.restoreAfterFinish || false;
     this.elementPositioning = this.element.getStyle('position');
-    
+
     this.originalStyle = { };
     ['top','left','width','height','fontSize'].each( function(k) {
       this.originalStyle[k] = this.element.style[k];
     }.bind(this));
-      
+
     this.originalTop  = this.element.offsetTop;
     this.originalLeft = this.element.offsetLeft;
-    
+
     var fontSize = this.element.getStyle('font-size') || '100%';
     ['em','px','%','pt'].each( function(fontSizeType) {
       if (fontSize.indexOf(fontSizeType)&gt;0) {
@@ -435,9 +435,9 @@ Effect.Scale = Class.create(Effect.Base, {
         this.fontSizeType = fontSizeType;
       }
     }.bind(this));
-    
+
     this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
-    
+
     this.dims = null;
     if (this.options.scaleMode=='box')
       this.dims = [this.element.offsetHeight, this.element.offsetWidth];
@@ -514,7 +514,7 @@ Effect.ScrollTo = function(element) {
   var options = arguments[1] || { },
     scrollOffsets = document.viewport.getScrollOffsets(),
     elementOffsets = $(element).cumulativeOffset(),
-    max = (window.height || document.body.scrollHeight) - document.viewport.getHeight();  
+    max = (window.height || document.body.scrollHeight) - document.viewport.getHeight();
 
   if (options.offset) elementOffsets[1] += options.offset;
 
@@ -534,9 +534,9 @@ Effect.Fade = function(element) {
   var options = Object.extend({
     from: element.getOpacity() || 1.0,
     to:   0.0,
-    afterFinishInternal: function(effect) { 
+    afterFinishInternal: function(effect) {
       if (effect.options.to!=0) return;
-      effect.element.hide().setStyle({opacity: oldOpacity}); 
+      effect.element.hide().setStyle({opacity: oldOpacity});
     }
   }, arguments[1] || { });
   return new Effect.Opacity(element,options);
@@ -552,15 +552,15 @@ Effect.Appear = function(element) {
     effect.element.forceRerendering();
   },
   beforeSetup: function(effect) {
-    effect.element.setOpacity(effect.options.from).show(); 
+    effect.element.setOpacity(effect.options.from).show();
   }}, arguments[1] || { });
   return new Effect.Opacity(element,options);
 };
 
 Effect.Puff = function(element) {
   element = $(element);
-  var oldStyle = { 
-    opacity: element.getInlineOpacity(), 
+  var oldStyle = {
+    opacity: element.getInlineOpacity(),
     position: element.getStyle('position'),
     top:  element.style.top,
     left: element.style.left,
@@ -568,10 +568,10 @@ Effect.Puff = function(element) {
     height: element.style.height
   };
   return new Effect.Parallel(
-   [ new Effect.Scale(element, 200, 
-      { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }), 
-     new Effect.Opacity(element, { sync: true, to: 0.0 } ) ], 
-     Object.extend({ duration: 1.0, 
+   [ new Effect.Scale(element, 200,
+      { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }),
+     new Effect.Opacity(element, { sync: true, to: 0.0 } ) ],
+     Object.extend({ duration: 1.0,
       beforeSetupInternal: function(effect) {
         Position.absolutize(effect.effects[0].element)
       },
@@ -585,12 +585,12 @@ Effect.BlindUp = function(element) {
   element = $(element);
   element.makeClipping();
   return new Effect.Scale(element, 0,
-    Object.extend({ scaleContent: false, 
-      scaleX: false, 
+    Object.extend({ scaleContent: false,
+      scaleX: false,
       restoreAfterFinish: true,
       afterFinishInternal: function(effect) {
         effect.element.hide().undoClipping();
-      } 
+      }
     }, arguments[1] || { })
   );
 };
@@ -598,15 +598,15 @@ Effect.BlindUp = function(element) {
 Effect.BlindDown = function(element) {
   element = $(element);
   var elementDimensions = element.getDimensions();
-  return new Effect.Scale(element, 100, Object.extend({ 
-    scaleContent: false, 
+  return new Effect.Scale(element, 100, Object.extend({
+    scaleContent: false,
     scaleX: false,
     scaleFrom: 0,
     scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
     restoreAfterFinish: true,
     afterSetup: function(effect) {
-      effect.element.makeClipping().setStyle({height: '0px'}).show(); 
-    },  
+      effect.element.makeClipping().setStyle({height: '0px'}).show();
+    },
     afterFinishInternal: function(effect) {
       effect.element.undoClipping();
     }
@@ -621,10 +621,10 @@ Effect.SwitchOff = function(element) {
     from: 0,
     transition: Effect.Transitions.flicker,
     afterFinishInternal: function(effect) {
-      new Effect.Scale(effect.element, 1, { 
+      new Effect.Scale(effect.element, 1, {
         duration: 0.3, scaleFromCenter: true,
         scaleX: false, scaleContent: false, restoreAfterFinish: true,
-        beforeSetup: function(effect) { 
+        beforeSetup: function(effect) {
           effect.element.makePositioned().makeClipping();
         },
         afterFinishInternal: function(effect) {
@@ -642,16 +642,16 @@ Effect.DropOut = function(element) {
     left: element.getStyle('left'),
     opacity: element.getInlineOpacity() };
   return new Effect.Parallel(
-    [ new Effect.Move(element, {x: 0, y: 100, sync: true }), 
+    [ new Effect.Move(element, {x: 0, y: 100, sync: true }),
       new Effect.Opacity(element, { sync: true, to: 0.0 }) ],
     Object.extend(
       { duration: 0.5,
         beforeSetup: function(effect) {
-          effect.effects[0].element.makePositioned(); 
+          effect.effects[0].element.makePositioned();
         },
         afterFinishInternal: function(effect) {
           effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);
-        } 
+        }
       }, arguments[1] || { }));
 };
 
@@ -660,7 +660,7 @@ Effect.Shake = function(element) {
   var oldStyle = {
     top: element.getStyle('top'),
     left: element.getStyle('left') };
-    return new Effect.Move(element, 
+    return new Effect.Move(element,
       { x:  20, y: 0, duration: 0.05, afterFinishInternal: function(effect) {
     new Effect.Move(effect.element,
       { x: -40, y: 0, duration: 0.1,  afterFinishInternal: function(effect) {
@@ -681,9 +681,9 @@ Effect.SlideDown = function(element) {
   // SlideDown need to have the content of the element wrapped in a container element with fixed height!
   var oldInnerBottom = element.down().getStyle('bottom');
   var elementDimensions = element.getDimensions();
-  return new Effect.Scale(element, 100, Object.extend({ 
-    scaleContent: false, 
-    scaleX: false, 
+  return new Effect.Scale(element, 100, Object.extend({
+    scaleContent: false,
+    scaleX: false,
     scaleFrom: window.opera ? 0 : 1,
     scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
     restoreAfterFinish: true,
@@ -691,11 +691,11 @@ Effect.SlideDown = function(element) {
       effect.element.makePositioned();
       effect.element.down().makePositioned();
       if (window.opera) effect.element.setStyle({top: ''});
-      effect.element.makeClipping().setStyle({height: '0px'}).show(); 
+      effect.element.makeClipping().setStyle({height: '0px'}).show();
     },
     afterUpdateInternal: function(effect) {
       effect.element.down().setStyle({bottom:
-        (effect.dims[0] - effect.element.clientHeight) + 'px' }); 
+        (effect.dims[0] - effect.element.clientHeight) + 'px' });
     },
     afterFinishInternal: function(effect) {
       effect.element.undoClipping().undoPositioned();
@@ -709,8 +709,8 @@ Effect.SlideUp = function(element) {
   var oldInnerBottom = element.down().getStyle('bottom');
   var elementDimensions = element.getDimensions();
   return new Effect.Scale(element, window.opera ? 0 : 1,
-   Object.extend({ scaleContent: false, 
-    scaleX: false, 
+   Object.extend({ scaleContent: false,
+    scaleX: false,
     scaleMode: 'box',
     scaleFrom: 100,
     scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
@@ -720,7 +720,7 @@ Effect.SlideUp = function(element) {
       effect.element.down().makePositioned();
       if (window.opera) effect.element.setStyle({top: ''});
       effect.element.makeClipping().show();
-    },  
+    },
     afterUpdateInternal: function(effect) {
       effect.element.down().setStyle({bottom:
         (effect.dims[0] - effect.element.clientHeight) + 'px' });
@@ -733,15 +733,15 @@ Effect.SlideUp = function(element) {
   );
 };
 
-// Bug in opera makes the TD containing this element expand for a instance after finish 
+// Bug in opera makes the TD containing this element expand for a instance after finish
 Effect.Squish = function(element) {
-  return new Effect.Scale(element, window.opera ? 1 : 0, { 
+  return new Effect.Scale(element, window.opera ? 1 : 0, {
     restoreAfterFinish: true,
     beforeSetup: function(effect) {
-      effect.element.makeClipping(); 
-    },  
+      effect.element.makeClipping();
+    },
     afterFinishInternal: function(effect) {
-      effect.element.hide().undoClipping(); 
+      effect.element.hide().undoClipping();
     }
   });
 };
@@ -761,13 +761,13 @@ Effect.Grow = function(element) {
     width: element.style.width,
     opacity: element.getInlineOpacity() };
 
-  var dims = element.getDimensions();    
+  var dims = element.getDimensions();
   var initialMoveX, initialMoveY;
   var moveX, moveY;
-  
+
   switch (options.direction) {
     case 'top-left':
-      initialMoveX = initialMoveY = moveX = moveY = 0; 
+      initialMoveX = initialMoveY = moveX = moveY = 0;
       break;
     case 'top-right':
       initialMoveX = dims.width;
@@ -792,11 +792,11 @@ Effect.Grow = function(element) {
       moveY = -dims.height / 2;
       break;
   }
-  
+
   return new Effect.Move(element, {
     x: initialMoveX,
     y: initialMoveY,
-    duration: 0.01, 
+    duration: 0.01,
     beforeSetup: function(effect) {
       effect.element.hide().makeClipping().makePositioned();
     },
@@ -805,14 +805,14 @@ Effect.Grow = function(element) {
         [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }),
           new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }),
           new Effect.Scale(effect.element, 100, {
-            scaleMode: { originalHeight: dims.height, originalWidth: dims.width }, 
+            scaleMode: { originalHeight: dims.height, originalWidth: dims.width },
             sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true})
         ], Object.extend({
              beforeSetup: function(effect) {
-               effect.effects[0].element.setStyle({height: '0px'}).show(); 
+               effect.effects[0].element.setStyle({height: '0px'}).show();
              },
              afterFinishInternal: function(effect) {
-               effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle); 
+               effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);
              }
            }, options)
       )
@@ -837,7 +837,7 @@ Effect.Shrink = function(element) {
 
   var dims = element.getDimensions();
   var moveX, moveY;
-  
+
   switch (options.direction) {
     case 'top-left':
       moveX = moveY = 0;
@@ -854,19 +854,19 @@ Effect.Shrink = function(element) {
       moveX = dims.width;
       moveY = dims.height;
       break;
-    case 'center':  
+    case 'center':
       moveX = dims.width / 2;
       moveY = dims.height / 2;
       break;
   }
-  
+
   return new Effect.Parallel(
     [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }),
       new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}),
       new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition })
-    ], Object.extend({            
+    ], Object.extend({
          beforeStartInternal: function(effect) {
-           effect.effects[0].element.makePositioned().makeClipping(); 
+           effect.effects[0].element.makePositioned().makeClipping();
          },
          afterFinishInternal: function(effect) {
            effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); }
@@ -881,7 +881,7 @@ Effect.Pulsate = function(element) {
   var transition = options.transition || Effect.Transitions.sinoidal;
   var reverser   = function(pos){ return transition(1-Effect.Transitions.pulse(pos, options.pulses)) };
   reverser.bind(transition);
-  return new Effect.Opacity(element, 
+  return new Effect.Opacity(element,
     Object.extend(Object.extend({  duration: 2.0, from: 0,
       afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); }
     }, options), {transition: reverser}));
@@ -895,12 +895,12 @@ Effect.Fold = function(element) {
     width: element.style.width,
     height: element.style.height };
   element.makeClipping();
-  return new Effect.Scale(element, 5, Object.extend({   
+  return new Effect.Scale(element, 5, Object.extend({
     scaleContent: false,
     scaleX: false,
     afterFinishInternal: function(effect) {
-    new Effect.Scale(element, 1, { 
-      scaleContent: false, 
+    new Effect.Scale(element, 1, {
+      scaleContent: false,
       scaleY: false,
       afterFinishInternal: function(effect) {
         effect.element.hide().undoClipping().setStyle(oldStyle);
@@ -915,7 +915,7 @@ Effect.Morph = Class.create(Effect.Base, {
     var options = Object.extend({
       style: { }
     }, arguments[1] || { });
-    
+
     if (!Object.isString(options.style)) this.style = $H(options.style);
     else {
       if (options.style.include(':'))
@@ -938,13 +938,13 @@ Effect.Morph = Class.create(Effect.Base, {
     }
     this.start(options);
   },
-  
+
   setup: function(){
     function parseColor(color){
       if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff';
       color = color.parseColor();
       return $R(0,2).map(function(i){
-        return parseInt( color.slice(i*2+1,i*2+3), 16 ) 
+        return parseInt( color.slice(i*2+1,i*2+3), 16 )
       });
     }
     this.transforms = this.style.map(function(pair){
@@ -964,9 +964,9 @@ Effect.Morph = Class.create(Effect.Base, {
       }
 
       var originalValue = this.element.getStyle(property);
-      return { 
-        style: property.camelize(), 
-        originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0), 
+      return {
+        style: property.camelize(),
+        originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0),
         targetValue: unit=='color' ? parseColor(value) : value,
         unit: unit
       };
@@ -983,7 +983,7 @@ Effect.Morph = Class.create(Effect.Base, {
   update: function(position) {
     var style = { }, transform, i = this.transforms.length;
     while(i--)
-      style[(transform = this.transforms[i]).style] = 
+      style[(transform = this.transforms[i]).style] =
         transform.unit=='color' ? '#'+
           (Math.round(transform.originalValue[0]+
             (transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart() +
@@ -992,7 +992,7 @@ Effect.Morph = Class.create(Effect.Base, {
           (Math.round(transform.originalValue[2]+
             (transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart() :
         (transform.originalValue +
-          (transform.targetValue - transform.originalValue) * position).toFixed(3) + 
+          (transform.targetValue - transform.originalValue) * position).toFixed(3) +
             (transform.unit === null ? '' : transform.unit);
     this.element.setStyle(style, true);
   }
@@ -1027,7 +1027,7 @@ Effect.Transform = Class.create({
 });
 
 Element.CSS_PROPERTIES = $w(
-  'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' + 
+  'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' +
   'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' +
   'borderRightColor borderRightStyle borderRightWidth borderSpacing ' +
   'borderTopColor borderTopStyle borderTopWidth bottom clip color ' +
@@ -1036,7 +1036,7 @@ Element.CSS_PROPERTIES = $w(
   'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' +
   'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' +
   'right textIndent top width wordSpacing zIndex');
-  
+
 Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;
 
 String.__parseStyleElement = document.createElement('div');
@@ -1048,11 +1048,11 @@ String.prototype.parseStyle = function(){
     String.__parseStyleElement.innerHTML = '&lt;div style=&quot;' + this + '&quot;&gt;&lt;/div&gt;';
     style = String.__parseStyleElement.childNodes[0].style;
   }
-  
+
   Element.CSS_PROPERTIES.each(function(property){
-    if (style[property]) styleRules[property] = style[property]; 
+    if (style[property]) styleRules[property] = style[property];
   });
-  
+
   if (Prototype.Browser.IE &amp;&amp; this.include('opacity'))
     styleRules.opacity = this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1];
 
@@ -1101,7 +1101,7 @@ Effect.Methods = {
 
 $w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+
   'pulsate shake puff squish switchOff dropOut').each(
-  function(effect) { 
+  function(effect) {
     Effect.Methods[effect] = function(element, options){
       element = $(element);
       Effect[effect.charAt(0).toUpperCase() + effect.substring(1)](element, options);
@@ -1110,7 +1110,7 @@ $w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+
   }
 );
 
-$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each( 
+$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(
   function(f) { Effect.Methods[f] = Element[f]; }
 );
 </diff>
      <filename>rails_plugins/rspec/story_server/prototype/javascripts/effects.js</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ Object.extend(Object.extend(InPlaceEditor.Local.prototype, Ajax.InPlaceEditor.pr
   onComplete: function() {},
   handleFormSubmission: function(e) {
     var value = $F(this._controls.editor);
-    RSpec.addStockStep(value);    
+    RSpec.addStockStep(value);
     this.element.innerHTML = value;
     this.leaveEditMode();
     if (e) Event.stop(e);
@@ -15,17 +15,17 @@ Object.extend(Object.extend(InPlaceEditor.Local.prototype, Ajax.InPlaceEditor.pr
 
 var RSpec = {
   stockSteps: function() {
-    return $('stock_steps').childElements().map(function(li){ 
+    return $('stock_steps').childElements().map(function(li){
       return li.innerHTML;
     }).sort();
   },
-  
+
   addStockStep: function(stockStep) {
     if(!this.stockSteps().include(stockStep)) {
       $('stock_steps').appendChild(Builder.node('li', {}, stockStep));
     }
   },
-  
+
   makeParamEditors: function() {
     $$('span.param').each(function(span) {
       span.removeClassName('param');
@@ -33,13 +33,13 @@ var RSpec = {
       new InPlaceEditor.Local(span, null, {});
     });
   },
-  
+
   setId: function(e) {
     if(!this.currentId) this.currentId = 0;
     this.currentId++;
     e.id = &quot;id_&quot; + this.currentId;
   },
-  
+
   applyUi: function() {
     this.setUpTogglers();
     this.makeParamEditors();
@@ -51,24 +51,24 @@ var RSpec = {
       var addStepLink = document.createElement(&quot;a&quot;);
       addStepLink.href = &quot;#&quot;;
       addStepLink.appendChild(document.createTextNode('Add step'));
-      footer.appendChild(addStepLink);      
+      footer.appendChild(addStepLink);
       ul.parentNode.appendChild(footer);
 
       Sortable.create(ul, {
         scroll: window
       });
 
-/*    Disable for now - it messes with the autocomplete's visibility (zIndex galore)  
+/*    Disable for now - it messes with the autocomplete's visibility (zIndex galore)
       Droppables.add(footer, {
         hoverclass: 'wastebin',
         onDrop: function(li, droppable, evt) {
           li.remove();
         }
       });
-*/      
+*/
       Event.observe(addStepLink, 'click', function() {
         var form = Builder.node('form', {});
-        
+
         var li = Builder.node('li', {className: 'new'});
         var input = Builder.node('input', {}, 'New step here');
         var autoComplete = Builder.node('div', {className: 'auto_complete'}, '');
@@ -93,7 +93,7 @@ var RSpec = {
       });
     })
   },
-  
+
   setUpTogglers: function() {
     $$('dt').each(function(dt) {
       var dd = dt.parentNode.getElementsByTagName('dd')[0];
@@ -114,11 +114,11 @@ var StoryDom = {
       }
     }).compact().join(&quot;&quot;);
   },
-  
+
   stepText: function(s) {
     return s.gsub(/&lt;span[^&gt;]*&gt;([^&lt;]*)&lt;\/span&gt;/, &quot;#{1}&quot;);
   },
-  
+
   scenario: function(dl) {
     var scenario = '  Scenario: ' + dl.getElementsByTagName('dt')[0].innerHTML + '\n';
     scenario += $A(dl.getElementsByTagName('li')).map(function(li){
@@ -126,7 +126,7 @@ var StoryDom = {
     }).join(&quot;\n&quot;) + &quot;\n&quot;;
     return scenario;
   },
-  
+
   story: function() {
     var dl = $$('dl.story')[0];
     var story = 'Story: ' + dl.getElementsByTagName('dt')[0].innerHTML + '\n\n';
@@ -136,7 +136,7 @@ var StoryDom = {
     }).join(&quot;\n&quot;);
     return story;
   },
-  
+
   save: function() {
     new Ajax.Request('stories', {
       postBody: this.story()</diff>
      <filename>rails_plugins/rspec/story_server/prototype/javascripts/rspec.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 // script.aculo.us scriptaculous.js v1.8.0_pre1, Fri Oct 12 21:34:51 +0200 2007
 
 // Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-// 
+//
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
 // &quot;Software&quot;), to deal in the Software without restriction, including
@@ -9,7 +9,7 @@
 // distribute, sublicense, and/or sell copies of the Software, and to
 // permit persons to whom the Software is furnished to do so, subject to
 // the following conditions:
-// 
+//
 // The above copyright notice and this permission notice shall be
 // included in all copies or substantial portions of the Software.
 //
@@ -35,15 +35,15 @@ var Scriptaculous = {
       var r = versionString.split('.');
       return parseInt(r[0])*100000 + parseInt(r[1])*1000 + parseInt(r[2]);
     }
- 
-    if((typeof Prototype=='undefined') || 
-       (typeof Element == 'undefined') || 
+
+    if((typeof Prototype=='undefined') ||
+       (typeof Element == 'undefined') ||
        (typeof Element.Methods=='undefined') ||
-       (convertVersionString(Prototype.Version) &lt; 
+       (convertVersionString(Prototype.Version) &lt;
         convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))
        throw(&quot;script.aculo.us requires the Prototype JavaScript framework &gt;= &quot; +
         Scriptaculous.REQUIRED_PROTOTYPE);
-    
+
     $A(document.getElementsByTagName(&quot;script&quot;)).findAll( function(s) {
       return (s.src &amp;&amp; s.src.match(/scriptaculous\.js(\?.*)?$/))
     }).each( function(s) {</diff>
      <filename>rails_plugins/rspec/story_server/prototype/javascripts/scriptaculous.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 // script.aculo.us slider.js v1.8.0_pre1, Fri Oct 12 21:34:51 +0200 2007
 
-// Copyright (c) 2005-2007 Marty Haught, Thomas Fuchs 
+// Copyright (c) 2005-2007 Marty Haught, Thomas Fuchs
 //
 // script.aculo.us is freely distributable under the terms of an MIT-style license.
 // For details, see the script.aculo.us web site: http://script.aculo.us/
@@ -17,13 +17,13 @@ Control.Slider = Class.create();
 Control.Slider.prototype = {
   initialize: function(handle, track, options) {
     var slider = this;
-    
+
     if (Object.isArray(handle)) {
       this.handles = handle.collect( function(e) { return $(e) });
     } else {
       this.handles = [$(handle)];
     }
-    
+
     this.track   = $(track);
     this.options = options || { };
 
@@ -31,7 +31,7 @@ Control.Slider.prototype = {
     this.increment = this.options.increment || 1;
     this.step      = parseInt(this.options.step || '1');
     this.range     = this.options.range || $R(0,1);
-    
+
     this.value     = 0; // assure backwards compat
     this.values    = this.handles.map( function() { return 0 });
     this.spans     = this.options.spans ? this.options.spans.map(function(s){ return $(s) }) : false;
@@ -46,13 +46,13 @@ Control.Slider.prototype = {
     // Will be used to align the handle onto the track, if necessary
     this.alignX = parseInt(this.options.alignX || '0');
     this.alignY = parseInt(this.options.alignY || '0');
-    
+
     this.trackLength = this.maximumOffset() - this.minimumOffset();
 
-    this.handleLength = this.isVertical() ? 
-      (this.handles[0].offsetHeight != 0 ? 
-        this.handles[0].offsetHeight : this.handles[0].style.height.replace(/px$/,&quot;&quot;)) : 
-      (this.handles[0].offsetWidth != 0 ? this.handles[0].offsetWidth : 
+    this.handleLength = this.isVertical() ?
+      (this.handles[0].offsetHeight != 0 ?
+        this.handles[0].offsetHeight : this.handles[0].style.height.replace(/px$/,&quot;&quot;)) :
+      (this.handles[0].offsetWidth != 0 ? this.handles[0].offsetWidth :
         this.handles[0].style.width.replace(/px$/,&quot;&quot;));
 
     this.active   = false;
@@ -76,20 +76,20 @@ Control.Slider.prototype = {
     this.handles.each( function(h,i) {
       i = slider.handles.length-1-i;
       slider.setValue(parseFloat(
-        (Object.isArray(slider.options.sliderValue) ? 
-          slider.options.sliderValue[i] : slider.options.sliderValue) || 
+        (Object.isArray(slider.options.sliderValue) ?
+          slider.options.sliderValue[i] : slider.options.sliderValue) ||
          slider.range.start), i);
       h.makePositioned().observe(&quot;mousedown&quot;, slider.eventMouseDown);
     });
-    
+
     this.track.observe(&quot;mousedown&quot;, this.eventMouseDown);
     document.observe(&quot;mouseup&quot;, this.eventMouseUp);
     document.observe(&quot;mousemove&quot;, this.eventMouseMove);
-    
+
     this.initialized = true;
   },
   dispose: function() {
-    var slider = this;    
+    var slider = this;
     Event.stopObserving(this.track, &quot;mousedown&quot;, this.eventMouseDown);
     Event.stopObserving(document, &quot;mouseup&quot;, this.eventMouseUp);
     Event.stopObserving(document, &quot;mousemove&quot;, this.eventMouseMove);
@@ -102,12 +102,12 @@ Control.Slider.prototype = {
   },
   setEnabled: function(){
     this.disabled = false;
-  },  
+  },
   getNearestValue: function(value){
     if (this.allowedValues){
       if (value &gt;= this.allowedValues.max()) return(this.allowedValues.max());
       if (value &lt;= this.allowedValues.min()) return(this.allowedValues.min());
-      
+
       var offset = Math.abs(this.allowedValues[0] - value);
       var newValue = this.allowedValues[0];
       this.allowedValues.each( function(v) {
@@ -115,7 +115,7 @@ Control.Slider.prototype = {
         if (currentOffset &lt;= offset){
           newValue = v;
           offset = currentOffset;
-        } 
+        }
       });
       return newValue;
     }
@@ -139,28 +139,28 @@ Control.Slider.prototype = {
     sliderValue = this.getNearestValue(sliderValue);
     this.values[handleIdx] = sliderValue;
     this.value = this.values[0]; // assure backwards compat
-    
-    this.handles[handleIdx].style[this.isVertical() ? 'top' : 'left'] = 
+
+    this.handles[handleIdx].style[this.isVertical() ? 'top' : 'left'] =
       this.translateToPx(sliderValue);
-    
+
     this.drawSpans();
     if (!this.dragging || !this.event) this.updateFinished();
   },
   setValueBy: function(delta, handleIdx) {
-    this.setValue(this.values[handleIdx || this.activeHandleIdx || 0] + delta, 
+    this.setValue(this.values[handleIdx || this.activeHandleIdx || 0] + delta,
       handleIdx || this.activeHandleIdx || 0);
   },
   translateToPx: function(value) {
     return Math.round(
-      ((this.trackLength-this.handleLength)/(this.range.end-this.range.start)) * 
+      ((this.trackLength-this.handleLength)/(this.range.end-this.range.start)) *
       (value - this.range.start)) + &quot;px&quot;;
   },
   translateToValue: function(offset) {
-    return ((offset/(this.trackLength-this.handleLength) * 
+    return ((offset/(this.trackLength-this.handleLength) *
       (this.range.end-this.range.start)) + this.range.start);
   },
   getRange: function(range) {
-    var v = this.values.sortBy(Prototype.K); 
+    var v = this.values.sortBy(Prototype.K);
     range = range || 0;
     return $R(v[range],v[range+1]);
   },
@@ -168,12 +168,12 @@ Control.Slider.prototype = {
     return(this.isVertical() ? this.alignY : this.alignX);
   },
   maximumOffset: function(){
-    return(this.isVertical() ? 
+    return(this.isVertical() ?
       (this.track.offsetHeight != 0 ? this.track.offsetHeight :
-        this.track.style.height.replace(/px$/,&quot;&quot;)) - this.alignY : 
-      (this.track.offsetWidth != 0 ? this.track.offsetWidth : 
+        this.track.style.height.replace(/px$/,&quot;&quot;)) - this.alignY :
+      (this.track.offsetWidth != 0 ? this.track.offsetWidth :
         this.track.style.width.replace(/px$/,&quot;&quot;)) - this.alignY);
-  },  
+  },
   isVertical:  function(){
     return (this.axis == 'vertical');
   },
@@ -185,7 +185,7 @@ Control.Slider.prototype = {
       this.setSpan(this.options.startSpan,
         $R(0, this.values.length&gt;1 ? this.getRange(0).min() : this.value ));
     if (this.options.endSpan)
-      this.setSpan(this.options.endSpan, 
+      this.setSpan(this.options.endSpan,
         $R(this.values.length&gt;1 ? this.getRange(this.spans.length-1).max() : this.value, this.maximum));
   },
   setSpan: function(span, range) {
@@ -205,14 +205,14 @@ Control.Slider.prototype = {
     if (Event.isLeftClick(event)) {
       if (!this.disabled){
         this.active = true;
-        
+
         var handle = Event.element(event);
         var pointer  = [Event.pointerX(event), Event.pointerY(event)];
         var track = handle;
         if (track==this.track) {
-          var offsets  = Position.cumulativeOffset(this.track); 
+          var offsets  = Position.cumulativeOffset(this.track);
           this.event = event;
-          this.setValue(this.translateToValue( 
+          this.setValue(this.translateToValue(
            (this.isVertical() ? pointer[1]-offsets[1] : pointer[0]-offsets[0])-(this.handleLength/2)
           ));
           var offsets  = Position.cumulativeOffset(this.activeHandle);
@@ -220,14 +220,14 @@ Control.Slider.prototype = {
           this.offsetY = (pointer[1] - offsets[1]);
         } else {
           // find the handle (prevents issues with Safari)
-          while((this.handles.indexOf(handle) == -1) &amp;&amp; handle.parentNode) 
+          while((this.handles.indexOf(handle) == -1) &amp;&amp; handle.parentNode)
             handle = handle.parentNode;
-            
+
           if (this.handles.indexOf(handle)!=-1) {
             this.activeHandle    = handle;
             this.activeHandleIdx = this.handles.indexOf(this.activeHandle);
             this.updateStyles();
-            
+
             var offsets  = Position.cumulativeOffset(this.activeHandle);
             this.offsetX = (pointer[0] - offsets[0]);
             this.offsetY = (pointer[1] - offsets[1]);
@@ -262,14 +262,14 @@ Control.Slider.prototype = {
     }
     this.active = false;
     this.dragging = false;
-  },  
+  },
   finishDrag: function(event, success) {
     this.active = false;
     this.dragging = false;
     this.updateFinished();
   },
   updateFinished: function() {
-    if (this.initialized &amp;&amp; this.options.onChange) 
+    if (this.initialized &amp;&amp; this.options.onChange)
       this.options.onChange(this.values.length&gt;1 ? this.values : this.value, this);
     this.event = null;
   }</diff>
      <filename>rails_plugins/rspec/story_server/prototype/javascripts/slider.js</filename>
    </modified>
    <modified>
      <diff>@@ -23,7 +23,7 @@ Sound = {
     var options = Object.extend({
       track: 'global', url: url, replace: false
     }, arguments[1] || {});
-    
+
     if(options.replace &amp;&amp; this.tracks[options.track]) {
       $R(0, this.tracks[options.track].id).each(function(id){
         var sound = $('sound_'+options.track+'_'+id);
@@ -32,14 +32,14 @@ Sound = {
       })
       this.tracks[options.track] = null;
     }
-      
+
     if(!this.tracks[options.track])
       this.tracks[options.track] = { id: 0 }
     else
       this.tracks[options.track].id++;
-      
+
     options.id = this.tracks[options.track].id;
-    $$('body')[0].insert( 
+    $$('body')[0].insert(
       Prototype.Browser.IE ? new Element('bgsound',{
         id: 'sound_'+options.track+'_'+options.id,
         src: options.url, loop: 1, autostart: true</diff>
      <filename>rails_plugins/rspec/story_server/prototype/javascripts/sound.js</filename>
    </modified>
    <modified>
      <diff>@@ -19,10 +19,10 @@ Event.simulateMouse = function(element, eventName) {
     metaKey:  false
   }, arguments[2] || {});
   var oEvent = document.createEvent(&quot;MouseEvents&quot;);
-  oEvent.initMouseEvent(eventName, true, true, document.defaultView, 
-    options.buttons, options.pointerX, options.pointerY, options.pointerX, options.pointerY, 
+  oEvent.initMouseEvent(eventName, true, true, document.defaultView,
+    options.buttons, options.pointerX, options.pointerY, options.pointerX, options.pointerY,
     options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, 0, $(element));
-  
+
   if(this.mark) Element.remove(this.mark);
   this.mark = document.createElement('div');
   this.mark.appendChild(document.createTextNode(&quot; &quot;));
@@ -34,10 +34,10 @@ Event.simulateMouse = function(element, eventName) {
   this.mark.style.height = &quot;5px;&quot;;
   this.mark.style.borderTop = &quot;1px solid red;&quot;
   this.mark.style.borderLeft = &quot;1px solid red;&quot;
-  
+
   if(this.step)
     alert('['+new Date().getTime().toString()+'] '+eventName+'/'+Test.Unit.inspect(options));
-  
+
   $(element).dispatchEvent(oEvent);
 };
 
@@ -55,7 +55,7 @@ Event.simulateKey = function(element, eventName) {
   }, arguments[2] || {});
 
   var oEvent = document.createEvent(&quot;KeyEvents&quot;);
-  oEvent.initKeyEvent(eventName, true, true, window, 
+  oEvent.initKeyEvent(eventName, true, true, window,
     options.ctrlKey, options.altKey, options.shiftKey, options.metaKey,
     options.keyCode, options.charCode );
   $(element).dispatchEvent(oEvent);
@@ -123,7 +123,7 @@ Test.Unit.Logger.prototype = {
   _toHTML: function(txt) {
     return txt.escapeHTML().replace(/\n/g,&quot;&lt;br/&gt;&quot;);
   },
-  addLinksToResults: function(){ 
+  addLinksToResults: function(){
     $$(&quot;tr.failed .nameCell&quot;).each( function(td){ // todo: limit to children of this.log
       td.title = &quot;Run only this test&quot;
       Event.observe(td, 'click', function(){ window.location.search = &quot;?tests=&quot; + td.innerHTML;});
@@ -162,7 +162,7 @@ Test.Unit.Runner.prototype = {
           if(/^test/.test(testcase)) {
             this.tests.push(
                new Test.Unit.Testcase(
-                 this.options.context ? ' -&gt; ' + this.options.titles[testcase] : testcase, 
+                 this.options.context ? ' -&gt; ' + this.options.titles[testcase] : testcase,
                  testcases[testcase], testcases[&quot;setup&quot;], testcases[&quot;teardown&quot;]
                ));
           }
@@ -203,7 +203,7 @@ Test.Unit.Runner.prototype = {
   },
   postResults: function() {
     if (this.options.resultsURL) {
-      new Ajax.Request(this.options.resultsURL, 
+      new Ajax.Request(this.options.resultsURL,
         { method: 'get', parameters: 'result=' + this.getResult(), asynchronous: false });
     }
   },
@@ -240,9 +240,9 @@ Test.Unit.Runner.prototype = {
       errors     +=   this.tests[i].errors;
     }
     return (
-      (this.options.context ? this.options.context + ': ': '') + 
-      this.tests.length + &quot; tests, &quot; + 
-      assertions + &quot; assertions, &quot; + 
+      (this.options.context ? this.options.context + ': ': '') +
+      this.tests.length + &quot; tests, &quot; +
+      assertions + &quot; assertions, &quot; +
       failures   + &quot; failures, &quot; +
       errors     + &quot; errors&quot;);
   }
@@ -258,7 +258,7 @@ Test.Unit.Assertions.prototype = {
   },
   summary: function() {
     return (
-      this.assertions + &quot; assertions, &quot; + 
+      this.assertions + &quot; assertions, &quot; +
       this.failures   + &quot; failures, &quot; +
       this.errors     + &quot; errors&quot; + &quot;\n&quot; +
       this.messages.join(&quot;\n&quot;));
@@ -284,55 +284,55 @@ Test.Unit.Assertions.prototype = {
   },
   assert: function(expression) {
     var message = arguments[1] || 'assert: got &quot;' + Test.Unit.inspect(expression) + '&quot;';
-    try { expression ? this.pass() : 
+    try { expression ? this.pass() :
       this.fail(message); }
     catch(e) { this.error(e); }
   },
   assertEqual: function(expected, actual) {
     var message = arguments[2] || &quot;assertEqual&quot;;
     try { (expected == actual) ? this.pass() :
-      this.fail(message + ': expected &quot;' + Test.Unit.inspect(expected) + 
+      this.fail(message + ': expected &quot;' + Test.Unit.inspect(expected) +
         '&quot;, actual &quot;' + Test.Unit.inspect(actual) + '&quot;'); }
     catch(e) { this.error(e); }
   },
   assertInspect: function(expected, actual) {
     var message = arguments[2] || &quot;assertInspect&quot;;
     try { (expected == actual.inspect()) ? this.pass() :
-      this.fail(message + ': expected &quot;' + Test.Unit.inspect(expected) + 
+      this.fail(message + ': expected &quot;' + Test.Unit.inspect(expected) +
         '&quot;, actual &quot;' + Test.Unit.inspect(actual) + '&quot;'); }
     catch(e) { this.error(e); }
   },
   assertEnumEqual: function(expected, actual) {
     var message = arguments[2] || &quot;assertEnumEqual&quot;;
-    try { $A(expected).length == $A(actual).length &amp;&amp; 
+    try { $A(expected).length == $A(actual).length &amp;&amp;
       expected.zip(actual).all(function(pair) { return pair[0] == pair[1] }) ?
-        this.pass() : this.fail(message + ': expected ' + Test.Unit.inspect(expected) + 
+        this.pass() : this.fail(message + ': expected ' + Test.Unit.inspect(expected) +
           ', actual ' + Test.Unit.inspect(actual)); }
     catch(e) { this.error(e); }
   },
   assertNotEqual: function(expected, actual) {
     var message = arguments[2] || &quot;assertNotEqual&quot;;
-    try { (expected != actual) ? this.pass() : 
+    try { (expected != actual) ? this.pass() :
       this.fail(message + ': got &quot;' + Test.Unit.inspect(actual) + '&quot;'); }
     catch(e) { this.error(e); }
   },
-  assertIdentical: function(expected, actual) { 
-    var message = arguments[2] || &quot;assertIdentical&quot;; 
-    try { (expected === actual) ? this.pass() : 
-      this.fail(message + ': expected &quot;' + Test.Unit.inspect(expected) +  
-        '&quot;, actual &quot;' + Test.Unit.inspect(actual) + '&quot;'); } 
-    catch(e) { this.error(e); } 
+  assertIdentical: function(expected, actual) {
+    var message = arguments[2] || &quot;assertIdentical&quot;;
+    try { (expected === actual) ? this.pass() :
+      this.fail(message + ': expected &quot;' + Test.Unit.inspect(expected) +
+        '&quot;, actual &quot;' + Test.Unit.inspect(actual) + '&quot;'); }
+    catch(e) { this.error(e); }
   },
-  assertNotIdentical: function(expected, actual) { 
-    var message = arguments[2] || &quot;assertNotIdentical&quot;; 
-    try { !(expected === actual) ? this.pass() : 
-      this.fail(message + ': expected &quot;' + Test.Unit.inspect(expected) +  
-        '&quot;, actual &quot;' + Test.Unit.inspect(actual) + '&quot;'); } 
-    catch(e) { this.error(e); } 
+  assertNotIdentical: function(expected, actual) {
+    var message = arguments[2] || &quot;assertNotIdentical&quot;;
+    try { !(expected === actual) ? this.pass() :
+      this.fail(message + ': expected &quot;' + Test.Unit.inspect(expected) +
+        '&quot;, actual &quot;' + Test.Unit.inspect(actual) + '&quot;'); }
+    catch(e) { this.error(e); }
   },
   assertNull: function(obj) {
     var message = arguments[1] || 'assertNull'
-    try { (obj==null) ? this.pass() : 
+    try { (obj==null) ? this.pass() :
       this.fail(message + ': got &quot;' + Test.Unit.inspect(obj) + '&quot;'); }
     catch(e) { this.error(e); }
   },
@@ -353,38 +353,38 @@ Test.Unit.Assertions.prototype = {
   },
   assertType: function(expected, actual) {
     var message = arguments[2] || 'assertType';
-    try { 
-      (actual.constructor == expected) ? this.pass() : 
-      this.fail(message + ': expected &quot;' + Test.Unit.inspect(expected) +  
+    try {
+      (actual.constructor == expected) ? this.pass() :
+      this.fail(message + ': expected &quot;' + Test.Unit.inspect(expected) +
         '&quot;, actual &quot;' + (actual.constructor) + '&quot;'); }
     catch(e) { this.error(e); }
   },
   assertNotOfType: function(expected, actual) {
     var message = arguments[2] || 'assertNotOfType';
-    try { 
-      (actual.constructor != expected) ? this.pass() : 
-      this.fail(message + ': expected &quot;' + Test.Unit.inspect(expected) +  
+    try {
+      (actual.constructor != expected) ? this.pass() :
+      this.fail(message + ': expected &quot;' + Test.Unit.inspect(expected) +
         '&quot;, actual &quot;' + (actual.constructor) + '&quot;'); }
     catch(e) { this.error(e); }
   },
   assertInstanceOf: function(expected, actual) {
     var message = arguments[2] || 'assertInstanceOf';
-    try { 
-      (actual instanceof expected) ? this.pass() : 
+    try {
+      (actual instanceof expected) ? this.pass() :
       this.fail(message + &quot;: object was not an instance of the expected type&quot;); }
-    catch(e) { this.error(e); } 
+    catch(e) { this.error(e); }
   },
   assertNotInstanceOf: function(expected, actual) {
     var message = arguments[2] || 'assertNotInstanceOf';
-    try { 
-      !(actual instanceof expected) ? this.pass() : 
+    try {
+      !(actual instanceof expected) ? this.pass() :
       this.fail(message + &quot;: object was an instance of the not expected type&quot;); }
-    catch(e) { this.error(e); } 
+    catch(e) { this.error(e); }
   },
   assertRespondsTo: function(method, obj) {
     var message = arguments[2] || 'assertRespondsTo';
     try {
-      (obj[method] &amp;&amp; typeof obj[method] == 'function') ? this.pass() : 
+      (obj[method] &amp;&amp; typeof obj[method] == 'function') ? this.pass() :
       this.fail(message + &quot;: object doesn't respond to [&quot; + method + &quot;]&quot;); }
     catch(e) { this.error(e); }
   },
@@ -393,7 +393,7 @@ Test.Unit.Assertions.prototype = {
     try {
       var m = obj[method];
       if(!m) m = obj['is'+method.charAt(0).toUpperCase()+method.slice(1)];
-      m() ? this.pass() : 
+      m() ? this.pass() :
       this.fail(message + &quot;: method returned false&quot;); }
     catch(e) { this.error(e); }
   },
@@ -402,17 +402,17 @@ Test.Unit.Assertions.prototype = {
     try {
       var m = obj[method];
       if(!m) m = obj['is'+method.charAt(0).toUpperCase()+method.slice(1)];
-      !m() ? this.pass() : 
+      !m() ? this.pass() :
       this.fail(message + &quot;: method returned true&quot;); }
     catch(e) { this.error(e); }
   },
   assertRaise: function(exceptionName, method) {
     var message = arguments[2] || 'assertRaise';
-    try { 
+    try {
       method();
       this.fail(message + &quot;: exception expected but none was raised&quot;); }
     catch(e) {
-      ((exceptionName == null) || (e.name==exceptionName)) ? this.pass() : this.error(e); 
+      ((exceptionName == null) || (e.name==exceptionName)) ? this.pass() : this.error(e);
     }
   },
   assertElementsMatch: function() {
@@ -434,7 +434,7 @@ Test.Unit.Assertions.prototype = {
     var startAt = new Date();
     (iterations || 1).times(operation);
     var timeTaken = ((new Date())-startAt);
-    this.info((arguments[2] || 'Operation') + ' finished ' + 
+    this.info((arguments[2] || 'Operation') + ' finished ' +
        iterations + ' iterations in ' + (timeTaken/1000)+'s' );
     return timeTaken;
   },
@@ -444,7 +444,7 @@ Test.Unit.Assertions.prototype = {
     this.assertNotNull(element);
     if(element.style &amp;&amp; Element.getStyle(element, 'display') == 'none')
       return false;
-    
+
     return this._isVisible(element.parentNode);
   },
   assertNotVisible: function(element) {
@@ -457,7 +457,7 @@ Test.Unit.Assertions.prototype = {
     var startAt = new Date();
     (iterations || 1).times(operation);
     var timeTaken = ((new Date())-startAt);
-    this.info((arguments[2] || 'Operation') + ' finished ' + 
+    this.info((arguments[2] || 'Operation') + ' finished ' +
        iterations + ' iterations in ' + (timeTaken/1000)+'s' );
     return timeTaken;
   }
@@ -468,7 +468,7 @@ Object.extend(Object.extend(Test.Unit.Testcase.prototype, Test.Unit.Assertions.p
   initialize: function(name, test, setup, teardown) {
     Test.Unit.Assertions.prototype.initialize.bind(this)();
     this.name           = name;
-    
+
     if(typeof test == 'string') {
       test = test.gsub(/(\.should[^\(]+\()/,'#{0}this,');
       test = test.gsub(/(\.should[^\(]+)\(this,\)/,'#{1}(this)');
@@ -478,7 +478,7 @@ Object.extend(Object.extend(Test.Unit.Testcase.prototype, Test.Unit.Assertions.p
     } else {
       this.test = test || function() {};
     }
-    
+
     this.setup          = setup || function() {};
     this.teardown       = teardown || function() {};
     this.isWaiting      = false;
@@ -519,23 +519,23 @@ Test.setupBDDExtensionMethods = function(){
     shouldNotBeAn:   'assertNotOfType',
     shouldBeNull:    'assertNull',
     shouldNotBeNull: 'assertNotNull',
-    
+
     shouldBe:        'assertReturnsTrue',
     shouldNotBe:     'assertReturnsFalse',
     shouldRespondTo: 'assertRespondsTo'
   };
-  var makeAssertion = function(assertion, args, object) { 
+  var makeAssertion = function(assertion, args, object) {
    	this[assertion].apply(this,(args || []).concat([object]));
   }
-  
-  Test.BDDMethods = {};   
-  $H(METHODMAP).each(function(pair) { 
-    Test.BDDMethods[pair.key] = function() { 
-       var args = $A(arguments); 
-       var scope = args.shift(); 
-       makeAssertion.apply(scope, [pair.value, args, this]); }; 
+
+  Test.BDDMethods = {};
+  $H(METHODMAP).each(function(pair) {
+    Test.BDDMethods[pair.key] = function() {
+       var args = $A(arguments);
+       var scope = args.shift();
+       makeAssertion.apply(scope, [pair.value, args, this]); };
   });
-  
+
   [Array.prototype, String.prototype, Number.prototype, Boolean.prototype].each(
     function(p){ Object.extend(p, Test.BDDMethods) }
   );
@@ -543,7 +543,7 @@ Test.setupBDDExtensionMethods = function(){
 
 Test.context = function(name, spec, log){
   Test.setupBDDExtensionMethods();
-  
+
   var compiledSpec = {};
   var titles = {};
   for(specName in spec) {
@@ -557,7 +557,7 @@ Test.context = function(name, spec, log){
         var body = spec[specName].toString().split('\n').slice(1);
         if(/^\{/.test(body[0])) body = body.slice(1);
         body.pop();
-        body = body.map(function(statement){ 
+        body = body.map(function(statement){
           return statement.strip()
         });
         compiledSpec[testName] = body.join('\n');</diff>
      <filename>rails_plugins/rspec/story_server/prototype/javascripts/unittest.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE html 
+&lt;!DOCTYPE html
   PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
@@ -12,15 +12,15 @@
     &lt;script src=&quot;javascripts/scriptaculous.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
     &lt;script src=&quot;javascripts/rspec.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
     &lt;script src=&quot;javascripts/unittest.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-    
+
     &lt;link href=&quot;stylesheets/rspec.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
     &lt;link href=&quot;stylesheets/test.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
   &lt;/head&gt;
   &lt;body&gt;
-    &lt;!-- 
+    &lt;!--
     Classes and ids that are only used by the Story UI, which don't have to be present in
     the Example report:
-    
+
     #nav
     #stock_steps
     dl.story
@@ -84,7 +84,7 @@
         'should extract story narrative': function() {
           var narrative = StoryDom.narrativeText($$('p')[0].innerHTML);
           narrative.shouldEqual(
-            &quot;  As a savings account holder\n&quot; + 
+            &quot;  As a savings account holder\n&quot; +
             &quot;  I want to transfer money from my savings account\n&quot; +
             &quot;  So that I can get cash easily from an ATM\n&quot;
           );
@@ -98,7 +98,7 @@
         'should extract scenario': function() {
           var scenario = StoryDom.scenario($$('dl')[1]);
           scenario.shouldEqual(
-            &quot;  Scenario: savings account is in credit\n&quot; + 
+            &quot;  Scenario: savings account is in credit\n&quot; +
             &quot;    Given my savings account balance is 100 dollars\n&quot; +
             &quot;    Given my cash account balance is 10 dollars\n&quot; +
             &quot;    When I transfer 20 dollars\n&quot; +
@@ -110,20 +110,20 @@
         'should extract story from page': function() {
           var story = StoryDom.story();
           story.shouldEqual(
-            &quot;Story: transfer to cash account\n&quot; + 
+            &quot;Story: transfer to cash account\n&quot; +
             &quot;\n&quot; +
             &quot;  As a savings account holder\n&quot; +
             &quot;  I want to transfer money from my savings account\n&quot; +
             &quot;  So that I can get cash easily from an ATM\n&quot; +
             &quot;\n&quot; +
-            &quot;  Scenario: savings account is in credit\n&quot; + 
+            &quot;  Scenario: savings account is in credit\n&quot; +
             &quot;    Given my savings account balance is 100 dollars\n&quot; +
             &quot;    Given my cash account balance is 10 dollars\n&quot; +
             &quot;    When I transfer 20 dollars\n&quot; +
             &quot;    Then my savings account balance should be 80 dollars\n&quot; +
             &quot;    Then my cash account balance should be 30 dollars\n&quot; +
             &quot;\n&quot; +
-            &quot;  Scenario: savings account is overdrawn\n&quot; + 
+            &quot;  Scenario: savings account is overdrawn\n&quot; +
             &quot;    Given my savings account balance is -20 dollars\n&quot; +
             &quot;    Given my cash account balance is 10 dollars\n&quot; +
             &quot;    When I transfer 20 dollars\n&quot; +</diff>
      <filename>rails_plugins/rspec/story_server/prototype/stories.html</filename>
    </modified>
    <modified>
      <diff>@@ -12,20 +12,20 @@ Copyright (c) 2001-2006 Ryan Davis, Eric Hodel, Zen Spider Software
 Copyright (c) 2006 Assaf Arkin
 ====================================================================
 
-Permission is hereby granted, free of charge, to any person obtaining a copy of 
-this software and associated documentation files (the &quot;Software&quot;), to deal in 
-the Software without restriction, including without limitation the rights to 
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the &quot;Software&quot;), to deal in
+the Software without restriction, including without limitation the rights to
 use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do 
+of the Software, and to permit persons to whom the Software is furnished to do
 so, subject to the following conditions:
 
-The above copyright notice and this permission notice shall be included in all 
+The above copyright notice and this permission notice shall be included in all
 copies or substantial portions of the Software.
 
-THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
+THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.</diff>
      <filename>rails_plugins/rspec_on_rails/MIT-LICENSE</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,2 @@
---exclude &quot;spec/*,gems/*&quot; 
+--exclude &quot;spec/*,gems/*&quot;
 --rails
\ No newline at end of file</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec/templates/rcov.opts</filename>
    </modified>
    <modified>
      <diff>@@ -23,7 +23,7 @@ module Spec
               active_connections.delete(name)
             end
           end
-        end        
+        end
 
         if ActionController.const_defined?(:Dispatcher)
           dispatcher = ::ActionController::Dispatcher.new($stdout)</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec/templates/script/spec_server</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,7 @@ Description:
     module, specify the controller name as 'module/controller'.
 
     The generator creates stubs for a controller (and spec), a view (and spec)
-    for each view in the argument list, plus a helper. 
+    for each view in the argument list, plus a helper.
 
 Example:
     ./script/generate rspec_controller dog bark fetch</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec_controller/USAGE</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,11 @@
 require File.dirname(__FILE__) + '&lt;%= '/..' * class_nesting_depth %&gt;/../spec_helper'
 
 describe &lt;%= class_name %&gt;Helper do
-  
+
   #Delete this example and add some real ones or delete this file
   it &quot;should include the &lt;%= class_name %&gt;Helper&quot; do
     included_modules = self.metaclass.send :included_modules
     included_modules.should include(&lt;%= class_name %&gt;Helper)
   end
-  
+
 end</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec_controller/templates/helper_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ describe &quot;/&lt;%= class_name.underscore %&gt;/&lt;%= action %&gt;&quot; do
   before(:each) do
     render '&lt;%= class_name.underscore %&gt;/&lt;%= action %&gt;'
   end
-  
+
   #Delete this example and add some real ones or delete this file
   it &quot;should tell you where to find the file&quot; do
     response.should have_tag('p', /Find me in app\/views\/&lt;%= class_name.underscore %&gt;\/&lt;%= action %&gt;/)</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec_controller/templates/view_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 class RspecScaffoldGenerator &lt; Rails::Generator::NamedBase
   default_options :skip_migration =&gt; false
-  
+
   attr_reader   :controller_name,
                 :controller_class_path,
                 :controller_file_path,
@@ -27,7 +27,7 @@ class RspecScaffoldGenerator &lt; Rails::Generator::NamedBase
     else
       @controller_class_name = &quot;#{@controller_class_nesting}::#{@controller_class_name_without_nesting}&quot;
     end
-    
+
     if Rails::VERSION::STRING &lt; &quot;2.0.0&quot;
       @resource_generator = &quot;scaffold_resource&quot;
       @default_file_extension = &quot;rhtml&quot;
@@ -35,7 +35,7 @@ class RspecScaffoldGenerator &lt; Rails::Generator::NamedBase
       @resource_generator = &quot;scaffold&quot;
       @default_file_extension = &quot;html.erb&quot;
     end
-    
+
     if ActionController::Base.respond_to?(:resource_action_separator)
       @resource_edit_path = &quot;/edit&quot;
     else
@@ -45,7 +45,7 @@ class RspecScaffoldGenerator &lt; Rails::Generator::NamedBase
 
   def manifest
     record do |m|
-      
+
       # Check for class naming collisions.
       m.class_collisions(controller_class_path, &quot;#{controller_class_name}Controller&quot;, &quot;#{controller_class_name}Helper&quot;)
       m.class_collisions(class_path, &quot;#{class_name}&quot;)
@@ -60,7 +60,7 @@ class RspecScaffoldGenerator &lt; Rails::Generator::NamedBase
       m.directory(File.join('spec/helpers', class_path))
       m.directory File.join('spec/fixtures', class_path)
       m.directory File.join('spec/views', controller_class_path, controller_file_name)
-      
+
       # Controller spec, class, and helper.
       m.template 'rspec_scaffold:routing_spec.rb',
         File.join('spec/controllers', controller_class_path, &quot;#{controller_file_name}_routing_spec.rb&quot;)
@@ -83,7 +83,7 @@ class RspecScaffoldGenerator &lt; Rails::Generator::NamedBase
           File.join('app/views', controller_class_path, controller_file_name, &quot;#{action}.#{default_file_extension}&quot;)
         )
       end
-      
+
       # Model class, unit test, and fixtures.
       m.template 'model:model.rb',      File.join('app/models', class_path, &quot;#{file_name}.rb&quot;)
       m.template 'model:fixtures.yml',  File.join('spec/fixtures', class_path, &quot;#{table_name}.yml&quot;)
@@ -101,11 +101,11 @@ class RspecScaffoldGenerator &lt; Rails::Generator::NamedBase
 
       unless options[:skip_migration]
         m.migration_template(
-          'model:migration.rb', 'db/migrate', 
+          'model:migration.rb', 'db/migrate',
           :assigns =&gt; {
             :migration_name =&gt; &quot;Create#{class_name.pluralize.gsub(/::/, '')}&quot;,
             :attributes     =&gt; attributes
-          }, 
+          },
           :migration_file_name =&gt; &quot;create_#{file_path.gsub(/\//, '_').pluralize}&quot;
         )
       end
@@ -124,7 +124,7 @@ class RspecScaffoldGenerator &lt; Rails::Generator::NamedBase
     def add_options!(opt)
       opt.separator ''
       opt.separator 'Options:'
-      opt.on(&quot;--skip-migration&quot;, 
+      opt.on(&quot;--skip-migration&quot;,
              &quot;Don't generate a migration file for this model&quot;) { |v| options[:skip_migration] = v }
     end
 
@@ -132,7 +132,7 @@ class RspecScaffoldGenerator &lt; Rails::Generator::NamedBase
       %w[ index show new edit ]
     end
 
-    def model_name 
+    def model_name
       class_name.demodulize
     end
 end
@@ -152,7 +152,7 @@ module Rails
           when :boolean                     then &quot;false&quot;
           else
             &quot;&quot;
-        end      
+        end
       end
 
       def input_type
@@ -160,7 +160,7 @@ module Rails
           when :text                        then &quot;textarea&quot;
           else
             &quot;input&quot;
-        end      
+        end
       end
     end
   end</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec_scaffold/rspec_scaffold_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,11 +7,11 @@ describe &lt;%= controller_class_name %&gt;Controller do
       @&lt;%= file_name %&gt; = mock_model(&lt;%= class_name %&gt;)
       &lt;%= class_name %&gt;.stub!(:find).and_return([@&lt;%= file_name %&gt;])
     end
-  
+
     def do_get
       get :index
     end
-  
+
     it &quot;should be successful&quot; do
       do_get
       response.should be_success
@@ -21,12 +21,12 @@ describe &lt;%= controller_class_name %&gt;Controller do
       do_get
       response.should render_template('index')
     end
-  
+
     it &quot;should find all &lt;%= table_name %&gt;&quot; do
       &lt;%= class_name %&gt;.should_receive(:find).with(:all).and_return([@&lt;%= file_name %&gt;])
       do_get
     end
-  
+
     it &quot;should assign the found &lt;%= table_name %&gt; for the view&quot; do
       do_get
       assigns[:&lt;%= table_name %&gt;].should == [@&lt;%= file_name %&gt;]
@@ -39,12 +39,12 @@ describe &lt;%= controller_class_name %&gt;Controller do
       @&lt;%= file_name %&gt; = mock_model(&lt;%= class_name %&gt;, :to_xml =&gt; &quot;XML&quot;)
       &lt;%= class_name %&gt;.stub!(:find).and_return(@&lt;%= file_name %&gt;)
     end
-  
+
     def do_get
       @request.env[&quot;HTTP_ACCEPT&quot;] = &quot;application/xml&quot;
       get :index
     end
-  
+
     it &quot;should be successful&quot; do
       do_get
       response.should be_success
@@ -54,7 +54,7 @@ describe &lt;%= controller_class_name %&gt;Controller do
       &lt;%= class_name %&gt;.should_receive(:find).with(:all).and_return([@&lt;%= file_name %&gt;])
       do_get
     end
-  
+
     it &quot;should render the found &lt;%= table_name %&gt; as xml&quot; do
       @&lt;%= file_name %&gt;.should_receive(:to_xml).and_return(&quot;XML&quot;)
       do_get
@@ -68,7 +68,7 @@ describe &lt;%= controller_class_name %&gt;Controller do
       @&lt;%= file_name %&gt; = mock_model(&lt;%= class_name %&gt;)
       &lt;%= class_name %&gt;.stub!(:find).and_return(@&lt;%= file_name %&gt;)
     end
-  
+
     def do_get
       get :show, :id =&gt; &quot;1&quot;
     end
@@ -77,17 +77,17 @@ describe &lt;%= controller_class_name %&gt;Controller do
       do_get
       response.should be_success
     end
-  
+
     it &quot;should render show template&quot; do
       do_get
       response.should render_template('show')
     end
-  
+
     it &quot;should find the &lt;%= file_name %&gt; requested&quot; do
       &lt;%= class_name %&gt;.should_receive(:find).with(&quot;1&quot;).and_return(@&lt;%= file_name %&gt;)
       do_get
     end
-  
+
     it &quot;should assign the found &lt;%= file_name %&gt; for the view&quot; do
       do_get
       assigns[:&lt;%= file_name %&gt;].should equal(@&lt;%= file_name %&gt;)
@@ -100,7 +100,7 @@ describe &lt;%= controller_class_name %&gt;Controller do
       @&lt;%= file_name %&gt; = mock_model(&lt;%= class_name %&gt;, :to_xml =&gt; &quot;XML&quot;)
       &lt;%= class_name %&gt;.stub!(:find).and_return(@&lt;%= file_name %&gt;)
     end
-  
+
     def do_get
       @request.env[&quot;HTTP_ACCEPT&quot;] = &quot;application/xml&quot;
       get :show, :id =&gt; &quot;1&quot;
@@ -110,12 +110,12 @@ describe &lt;%= controller_class_name %&gt;Controller do
       do_get
       response.should be_success
     end
-  
+
     it &quot;should find the &lt;%= file_name %&gt; requested&quot; do
       &lt;%= class_name %&gt;.should_receive(:find).with(&quot;1&quot;).and_return(@&lt;%= file_name %&gt;)
       do_get
     end
-  
+
     it &quot;should render the found &lt;%= file_name %&gt; as xml&quot; do
       @&lt;%= file_name %&gt;.should_receive(:to_xml).and_return(&quot;XML&quot;)
       do_get
@@ -129,7 +129,7 @@ describe &lt;%= controller_class_name %&gt;Controller do
       @&lt;%= file_name %&gt; = mock_model(&lt;%= class_name %&gt;)
       &lt;%= class_name %&gt;.stub!(:new).and_return(@&lt;%= file_name %&gt;)
     end
-  
+
     def do_get
       get :new
     end
@@ -138,22 +138,22 @@ describe &lt;%= controller_class_name %&gt;Controller do
       do_get
       response.should be_success
     end
-  
+
     it &quot;should render new template&quot; do
       do_get
       response.should render_template('new')
     end
-  
+
     it &quot;should create an new &lt;%= file_name %&gt;&quot; do
       &lt;%= class_name %&gt;.should_receive(:new).and_return(@&lt;%= file_name %&gt;)
       do_get
     end
-  
+
     it &quot;should not save the new &lt;%= file_name %&gt;&quot; do
       @&lt;%= file_name %&gt;.should_not_receive(:save)
       do_get
     end
-  
+
     it &quot;should assign the new &lt;%= file_name %&gt; for the view&quot; do
       do_get
       assigns[:&lt;%= file_name %&gt;].should equal(@&lt;%= file_name %&gt;)
@@ -166,7 +166,7 @@ describe &lt;%= controller_class_name %&gt;Controller do
       @&lt;%= file_name %&gt; = mock_model(&lt;%= class_name %&gt;)
       &lt;%= class_name %&gt;.stub!(:find).and_return(@&lt;%= file_name %&gt;)
     end
-  
+
     def do_get
       get :edit, :id =&gt; &quot;1&quot;
     end
@@ -175,17 +175,17 @@ describe &lt;%= controller_class_name %&gt;Controller do
       do_get
       response.should be_success
     end
-  
+
     it &quot;should render edit template&quot; do
       do_get
       response.should render_template('edit')
     end
-  
+
     it &quot;should find the &lt;%= file_name %&gt; requested&quot; do
       &lt;%= class_name %&gt;.should_receive(:find).and_return(@&lt;%= file_name %&gt;)
       do_get
     end
-  
+
     it &quot;should assign the found &lt;%= class_name %&gt; for the view&quot; do
       do_get
       assigns[:&lt;%= file_name %&gt;].should equal(@&lt;%= file_name %&gt;)
@@ -198,14 +198,14 @@ describe &lt;%= controller_class_name %&gt;Controller do
       @&lt;%= file_name %&gt; = mock_model(&lt;%= class_name %&gt;, :to_param =&gt; &quot;1&quot;)
       &lt;%= class_name %&gt;.stub!(:new).and_return(@&lt;%= file_name %&gt;)
     end
-    
+
     describe &quot;with successful save&quot; do
-  
+
       def do_post
         @&lt;%= file_name %&gt;.should_receive(:save).and_return(true)
         post :create, :&lt;%= file_name %&gt; =&gt; {}
       end
-  
+
       it &quot;should create a new &lt;%= file_name %&gt;&quot; do
         &lt;%= class_name %&gt;.should_receive(:new).with({}).and_return(@&lt;%= file_name %&gt;)
         do_post
@@ -215,21 +215,21 @@ describe &lt;%= controller_class_name %&gt;Controller do
         do_post
         response.should redirect_to(&lt;%= table_name.singularize %&gt;_url(&quot;1&quot;))
       end
-      
+
     end
-    
+
     describe &quot;with failed save&quot; do
 
       def do_post
         @&lt;%= file_name %&gt;.should_receive(:save).and_return(false)
         post :create, :&lt;%= file_name %&gt; =&gt; {}
       end
-  
+
       it &quot;should re-render 'new'&quot; do
         do_post
         response.should render_template('new')
       end
-      
+
     end
   end
 
@@ -239,7 +239,7 @@ describe &lt;%= controller_class_name %&gt;Controller do
       @&lt;%= file_name %&gt; = mock_model(&lt;%= class_name %&gt;, :to_param =&gt; &quot;1&quot;)
       &lt;%= class_name %&gt;.stub!(:find).and_return(@&lt;%= file_name %&gt;)
     end
-    
+
     describe &quot;with successful update&quot; do
 
       def do_put
@@ -268,7 +268,7 @@ describe &lt;%= controller_class_name %&gt;Controller do
       end
 
     end
-    
+
     describe &quot;with failed update&quot; do
 
       def do_put
@@ -290,7 +290,7 @@ describe &lt;%= controller_class_name %&gt;Controller do
       @&lt;%= file_name %&gt; = mock_model(&lt;%= class_name %&gt;, :destroy =&gt; true)
       &lt;%= class_name %&gt;.stub!(:find).and_return(@&lt;%= file_name %&gt;)
     end
-  
+
     def do_delete
       delete :destroy, :id =&gt; &quot;1&quot;
     end
@@ -299,12 +299,12 @@ describe &lt;%= controller_class_name %&gt;Controller do
       &lt;%= class_name %&gt;.should_receive(:find).with(&quot;1&quot;).and_return(@&lt;%= file_name %&gt;)
       do_delete
     end
-  
+
     it &quot;should call destroy on the found &lt;%= file_name %&gt;&quot; do
       @&lt;%= file_name %&gt;.should_receive(:destroy)
       do_delete
     end
-  
+
     it &quot;should redirect to the &lt;%= table_name %&gt; list&quot; do
       do_delete
       response.should redirect_to(&lt;%= table_name %&gt;_url)</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/controller_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '&lt;%= '/..' * class_nesting_depth %&gt;/../../spec_
 
 describe &quot;/&lt;%= table_name %&gt;/edit.&lt;%= default_file_extension %&gt;&quot; do
   include &lt;%= controller_class_name %&gt;Helper
-  
+
   before do
     @&lt;%= file_name %&gt; = mock_model(&lt;%= class_name %&gt;)
 &lt;% for attribute in attributes -%&gt;
@@ -13,7 +13,7 @@ describe &quot;/&lt;%= table_name %&gt;/edit.&lt;%= default_file_extension %&gt;&quot; do
 
   it &quot;should render edit form&quot; do
     render &quot;/&lt;%= table_name %&gt;/edit.&lt;%= default_file_extension %&gt;&quot;
-    
+
     response.should have_tag(&quot;form[action=#{&lt;%= file_name %&gt;_path(@&lt;%= file_name %&gt;)}][method=post]&quot;) do
 &lt;% for attribute in attributes -%&gt;&lt;% unless attribute.name =~ /_id/ || [:datetime, :timestamp, :time, :date].index(attribute.type) -%&gt;
       with_tag('&lt;%= attribute.input_type -%&gt;#&lt;%= file_name %&gt;_&lt;%= attribute.name %&gt;[name=?]', &quot;&lt;%= file_name %&gt;[&lt;%= attribute.name %&gt;]&quot;)</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/edit_erb_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,11 @@
 require File.dirname(__FILE__) + '&lt;%= '/..' * class_nesting_depth %&gt;/../spec_helper'
 
 describe &lt;%= controller_class_name %&gt;Helper do
-  
+
   #Delete this example and add some real ones or delete this file
   it &quot;should include the &lt;%= class_name %&gt;Helper&quot; do
     included_modules = self.metaclass.send :included_modules
     included_modules.should include(&lt;%= controller_class_name %&gt;Helper)
   end
-  
+
 end</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/helper_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '&lt;%= '/..' * class_nesting_depth %&gt;/../../spec_
 
 describe &quot;/&lt;%= table_name %&gt;/index.&lt;%= default_file_extension %&gt;&quot; do
   include &lt;%= controller_class_name %&gt;Helper
-  
+
   before(:each) do
 &lt;% [98,99].each do |id| -%&gt;
     &lt;%= file_name %&gt;_&lt;%= id %&gt; = mock_model(&lt;%= class_name %&gt;)</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/index_erb_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '&lt;%= '/..' * class_nesting_depth %&gt;/../../spec_
 
 describe &quot;/&lt;%= table_name %&gt;/new.&lt;%= default_file_extension %&gt;&quot; do
   include &lt;%= controller_class_name %&gt;Helper
-  
+
   before(:each) do
     @&lt;%= file_name %&gt; = mock_model(&lt;%= class_name %&gt;)
     @&lt;%= file_name %&gt;.stub!(:new_record?).and_return(true)
@@ -14,7 +14,7 @@ describe &quot;/&lt;%= table_name %&gt;/new.&lt;%= default_file_extension %&gt;&quot; do
 
   it &quot;should render new form&quot; do
     render &quot;/&lt;%= table_name %&gt;/new.&lt;%= default_file_extension %&gt;&quot;
-    
+
     response.should have_tag(&quot;form[action=?][method=post]&quot;, &lt;%= table_name %&gt;_path) do
 &lt;% for attribute in attributes -%&gt;&lt;% unless attribute.name =~ /_id/ || [:datetime, :timestamp, :time, :date].index(attribute.type) -%&gt;
       with_tag(&quot;&lt;%= attribute.input_type -%&gt;#&lt;%= file_name %&gt;_&lt;%= attribute.name %&gt;[name=?]&quot;, &quot;&lt;%= file_name %&gt;[&lt;%= attribute.name %&gt;]&quot;)</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/new_erb_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,23 +6,23 @@ describe &lt;%= controller_class_name %&gt;Controller do
     it &quot;should map { :controller =&gt; '&lt;%= table_name %&gt;', :action =&gt; 'index' } to /&lt;%= table_name %&gt;&quot; do
       route_for(:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;index&quot;).should == &quot;/&lt;%= table_name %&gt;&quot;
     end
-  
+
     it &quot;should map { :controller =&gt; '&lt;%= table_name %&gt;', :action =&gt; 'new' } to /&lt;%= table_name %&gt;/new&quot; do
       route_for(:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;new&quot;).should == &quot;/&lt;%= table_name %&gt;/new&quot;
     end
-  
+
     it &quot;should map { :controller =&gt; '&lt;%= table_name %&gt;', :action =&gt; 'show', :id =&gt; 1 } to /&lt;%= table_name %&gt;/1&quot; do
       route_for(:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;show&quot;, :id =&gt; 1).should == &quot;/&lt;%= table_name %&gt;/1&quot;
     end
-  
+
     it &quot;should map { :controller =&gt; '&lt;%= table_name %&gt;', :action =&gt; 'edit', :id =&gt; 1 } to /&lt;%= table_name %&gt;/1&lt;%= resource_edit_path %&gt;&quot; do
       route_for(:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;edit&quot;, :id =&gt; 1).should == &quot;/&lt;%= table_name %&gt;/1&lt;%= resource_edit_path %&gt;&quot;
     end
-  
+
     it &quot;should map { :controller =&gt; '&lt;%= table_name %&gt;', :action =&gt; 'update', :id =&gt; 1} to /&lt;%= table_name %&gt;/1&quot; do
       route_for(:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;update&quot;, :id =&gt; 1).should == &quot;/&lt;%= table_name %&gt;/1&quot;
     end
-  
+
     it &quot;should map { :controller =&gt; '&lt;%= table_name %&gt;', :action =&gt; 'destroy', :id =&gt; 1} to /&lt;%= table_name %&gt;/1&quot; do
       route_for(:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;destroy&quot;, :id =&gt; 1).should == &quot;/&lt;%= table_name %&gt;/1&quot;
     end
@@ -33,27 +33,27 @@ describe &lt;%= controller_class_name %&gt;Controller do
     it &quot;should generate params { :controller =&gt; '&lt;%= table_name %&gt;', action =&gt; 'index' } from GET /&lt;%= table_name %&gt;&quot; do
       params_from(:get, &quot;/&lt;%= table_name %&gt;&quot;).should == {:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;index&quot;}
     end
-  
+
     it &quot;should generate params { :controller =&gt; '&lt;%= table_name %&gt;', action =&gt; 'new' } from GET /&lt;%= table_name %&gt;/new&quot; do
       params_from(:get, &quot;/&lt;%= table_name %&gt;/new&quot;).should == {:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;new&quot;}
     end
-  
+
     it &quot;should generate params { :controller =&gt; '&lt;%= table_name %&gt;', action =&gt; 'create' } from POST /&lt;%= table_name %&gt;&quot; do
       params_from(:post, &quot;/&lt;%= table_name %&gt;&quot;).should == {:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;create&quot;}
     end
-  
+
     it &quot;should generate params { :controller =&gt; '&lt;%= table_name %&gt;', action =&gt; 'show', id =&gt; '1' } from GET /&lt;%= table_name %&gt;/1&quot; do
       params_from(:get, &quot;/&lt;%= table_name %&gt;/1&quot;).should == {:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;show&quot;, :id =&gt; &quot;1&quot;}
     end
-  
+
     it &quot;should generate params { :controller =&gt; '&lt;%= table_name %&gt;', action =&gt; 'edit', id =&gt; '1' } from GET /&lt;%= table_name %&gt;/1;edit&quot; do
       params_from(:get, &quot;/&lt;%= table_name %&gt;/1&lt;%= resource_edit_path %&gt;&quot;).should == {:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;edit&quot;, :id =&gt; &quot;1&quot;}
     end
-  
+
     it &quot;should generate params { :controller =&gt; '&lt;%= table_name %&gt;', action =&gt; 'update', id =&gt; '1' } from PUT /&lt;%= table_name %&gt;/1&quot; do
       params_from(:put, &quot;/&lt;%= table_name %&gt;/1&quot;).should == {:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;update&quot;, :id =&gt; &quot;1&quot;}
     end
-  
+
     it &quot;should generate params { :controller =&gt; '&lt;%= table_name %&gt;', action =&gt; 'destroy', id =&gt; '1' } from DELETE /&lt;%= table_name %&gt;/1&quot; do
       params_from(:delete, &quot;/&lt;%= table_name %&gt;/1&quot;).should == {:controller =&gt; &quot;&lt;%= table_name %&gt;&quot;, :action =&gt; &quot;destroy&quot;, :id =&gt; &quot;1&quot;}
     end</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/routing_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '&lt;%= '/..' * class_nesting_depth %&gt;/../../spec_
 
 describe &quot;/&lt;%= table_name %&gt;/show.&lt;%= default_file_extension %&gt;&quot; do
   include &lt;%= controller_class_name %&gt;Helper
-  
+
   before(:each) do
     @&lt;%= file_name %&gt; = mock_model(&lt;%= class_name %&gt;)
 &lt;% for attribute in attributes -%&gt;</diff>
      <filename>rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -29,9 +29,9 @@ Autotest.add_hook :initialize do |at|
   %w{^config/ ^coverage/ ^db/ ^doc/ ^log/ ^public/ ^script ^vendor/rails ^vendor/plugins previous_failures.txt}.each do |exception|
     at.add_exception(exception)
   end
-  
+
   at.clear_mappings
-  
+
   at.add_mapping(%r%^(test|spec)/fixtures/(.*).yml$%) { |_, m|
     [&quot;spec/models/#{m[2].singularize}_spec.rb&quot;] + at.files_matching(%r%^spec\/views\/#{m[2]}/.*_spec\.rb$%)
   }
@@ -77,5 +77,5 @@ class Autotest::RailsRspec &lt; Autotest::Rspec
   def spec_command
     &quot;script/spec&quot;
   end
-    
+
 end</diff>
      <filename>rails_plugins/rspec_on_rails/lib/autotest/rails_rspec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,31 +19,31 @@ module Spec
   # Spec::Rails (a.k.a. RSpec on Rails) is a Ruby on Rails plugin that allows you to drive the development
   # of your RoR application using RSpec, a framework that aims to enable Example Driven Development
   # in Ruby.
-  # 
+  #
   # == Features
-  # 
+  #
   # * Use RSpec to independently specify Rails Models, Views, Controllers and Helpers
   # * Integrated fixture loading
   # * Special generators for Resources, Models, Views and Controllers that generate Specs instead of Tests.
-  # 
+  #
   # == Vision
-  # 
+  #
   # For people for whom TDD is a brand new concept, the testing support built into Ruby on Rails
   # is a huge leap forward. The fact that it is built right in is fantastic, and Ruby on Rails
   # apps are generally much easier to maintain than they might have been without such support.
-  # 
+  #
   # For those of us coming from a history with TDD, and now BDD, the existing support presents some problems related to dependencies across specs. To that end, RSpec on Rails supports 4 types of specs. We&#8217;ve also built in first class mocking and stubbing support in order to break dependencies across these different concerns.
-  # 
+  #
   # == More Information
   #
   # See Spec::Rails::Runner for information about the different kinds of contexts
   # you can use to spec the different Rails components
-  # 
+  #
   # See Spec::Rails::Expectations for information about Rails-specific expectations
   # you can set on responses and models, etc.
   #
   # == License
-  # 
+  #
   # RSpec on Rails is licensed under the same license as RSpec itself,
   # the MIT-LICENSE.
   module Rails</diff>
      <filename>rails_plugins/rspec_on_rails/lib/spec/rails.rb</filename>
    </modified>
    <modified>
      <diff>@@ -63,7 +63,7 @@ module Spec
       #   end
       class ControllerExampleGroup &lt; FunctionalExampleGroup
         class &lt;&lt; self
-                    
+
           # Use this to instruct RSpec to render views in your controller examples (Integration Mode).
           #
           #   describe ThingController do
@@ -190,16 +190,16 @@ module Spec
               end
             end
           end
-          
+
           private
             def matching_message_expectation_exists(options)
               expect_render_mock_proxy.send(:__mock_proxy).send(:find_matching_expectation, :render, options)
             end
-          
+
             def matching_stub_exists(options)
               expect_render_mock_proxy.send(:__mock_proxy).send(:find_matching_method_stub, :render, options)
             end
-          
+
           public
           if self.respond_to?(:should_receive) &amp;&amp; self.respond_to?(:stub!)
             self.send :alias_method, :orig_should_receive, :should_receive</diff>
      <filename>rails_plugins/rspec_on_rails/lib/spec/rails/example/controller_example_group.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,7 @@ module Spec
         after(:each) do
           teardown_fixtures if self.respond_to?(:teardown_fixtures)
         end
-        
+
         include Spec::Rails::Matchers
 
         @@model_id = 1000</diff>
      <filename>rails_plugins/rspec_on_rails/lib/spec/rails/example/rails_example_gro