Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b222430cb7 | ||
|
|
20e54f46b0 | ||
|
|
88e918f64d | ||
|
|
b6f0d9da8a | ||
|
|
d6bf26ace7 | ||
|
|
21910aa428 | ||
|
|
f22ff1f1c2 | ||
|
|
83a2283b7d | ||
|
|
03b2162e6c | ||
|
|
c605477da5 | ||
|
|
35ec8e3570 | ||
|
|
6e68bf8ab4 | ||
|
|
d181a2221a | ||
|
|
e4034bc74b | ||
|
|
310d4c52ce | ||
|
|
1d1b3fc77d | ||
|
|
5e58434567 | ||
|
|
8da22803be | ||
|
|
83ab216d70 | ||
|
|
4104741383 | ||
|
|
6dac4a499f | ||
|
|
e0a8442b09 | ||
|
|
6dd11c9558 | ||
|
|
1608ca3d98 | ||
|
|
0ef89ee4ea | ||
|
|
4813672728 | ||
|
|
ade5409310 | ||
|
|
605f1745ff | ||
|
|
8158a26ee8 | ||
|
|
4682acf040 | ||
|
|
3955f81b3f | ||
|
|
16f56a4677 | ||
|
|
f77b83451b | ||
|
|
2f2a93c6ef | ||
|
|
5c282222a0 | ||
|
|
61b4f41539 | ||
|
|
73e27a48e0 | ||
|
|
51d7c568b0 | ||
|
|
51d772de70 | ||
|
|
86845b1989 | ||
|
|
723d60a1ce | ||
|
|
b128fcaf0d | ||
|
|
73dd0c49dd | ||
|
|
cc7274f38c | ||
|
|
d0f3b8fa4d | ||
|
|
2302955bc5 | ||
|
|
90f83db148 | ||
|
|
b6dbf26c86 | ||
|
|
8c7e0e279c | ||
|
|
6f15634e12 | ||
|
|
7e837aa34d | ||
|
|
6c89118bac | ||
|
|
260c07eb73 | ||
|
|
7914381cdd | ||
|
|
65ce05326a | ||
|
|
112c7a1b15 | ||
|
|
23a31dfe27 | ||
|
|
0dc50cb0b1 | ||
|
|
88163849b4 | ||
|
|
058f36cc6f | ||
|
|
11cf38a1a8 | ||
|
|
37d7a9d62d | ||
|
|
1b299369bf | ||
|
|
cbe42633c9 | ||
|
|
25657168b1 | ||
|
|
4852b38efc | ||
|
|
b882993d6a | ||
|
|
b6c46aa19d | ||
|
|
0903db52d9 | ||
|
|
93d256c4a8 | ||
|
|
64a68b86c6 | ||
|
|
1d79bbce44 | ||
|
|
87211bcb75 | ||
|
|
68e97858cb |
@@ -550,15 +550,20 @@ module ApplicationHelper
|
|||||||
if page =~ /^(.+?)\#(.+)$/
|
if page =~ /^(.+?)\#(.+)$/
|
||||||
page, anchor = $1, $2
|
page, anchor = $1, $2
|
||||||
end
|
end
|
||||||
|
anchor = sanitize_anchor_name(anchor) if anchor.present?
|
||||||
# check if page exists
|
# check if page exists
|
||||||
wiki_page = link_project.wiki.find_page(page)
|
wiki_page = link_project.wiki.find_page(page)
|
||||||
url = case options[:wiki_links]
|
url = if anchor.present? && wiki_page.present? && (obj.is_a?(WikiContent) || obj.is_a?(WikiContent::Version)) && obj.page == wiki_page
|
||||||
when :local; "#{title}.html"
|
"##{anchor}"
|
||||||
|
else
|
||||||
|
case options[:wiki_links]
|
||||||
|
when :local; "#{page.present? ? Wiki.titleize(page) : ''}.html" + (anchor.present? ? "##{anchor}" : '')
|
||||||
when :anchor; "##{title}" # used for single-file wiki export
|
when :anchor; "##{title}" # used for single-file wiki export
|
||||||
else
|
else
|
||||||
wiki_page_id = page.present? ? Wiki.titleize(page) : nil
|
wiki_page_id = page.present? ? Wiki.titleize(page) : nil
|
||||||
url_for(:only_path => only_path, :controller => 'wiki', :action => 'show', :project_id => link_project, :id => wiki_page_id, :anchor => anchor)
|
url_for(:only_path => only_path, :controller => 'wiki', :action => 'show', :project_id => link_project, :id => wiki_page_id, :anchor => anchor)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
link_to((title || page), url, :class => ('wiki-page' + (wiki_page ? '' : ' new')))
|
link_to((title || page), url, :class => ('wiki-page' + (wiki_page ? '' : ' new')))
|
||||||
else
|
else
|
||||||
# project or wiki doesn't exist
|
# project or wiki doesn't exist
|
||||||
@@ -703,7 +708,7 @@ module ApplicationHelper
|
|||||||
text.gsub!(HEADING_RE) do
|
text.gsub!(HEADING_RE) do
|
||||||
level, attrs, content = $1.to_i, $2, $3
|
level, attrs, content = $1.to_i, $2, $3
|
||||||
item = strip_tags(content).strip
|
item = strip_tags(content).strip
|
||||||
anchor = item.gsub(%r{[^\w\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
|
anchor = sanitize_anchor_name(item)
|
||||||
@parsed_headings << [level, anchor, item]
|
@parsed_headings << [level, anchor, item]
|
||||||
"<a name=\"#{anchor}\"></a>\n<h#{level} #{attrs}>#{content}<a href=\"##{anchor}\" class=\"wiki-anchor\">¶</a></h#{level}>"
|
"<a name=\"#{anchor}\"></a>\n<h#{level} #{attrs}>#{content}<a href=\"##{anchor}\" class=\"wiki-anchor\">¶</a></h#{level}>"
|
||||||
end
|
end
|
||||||
@@ -889,6 +894,10 @@ module ApplicationHelper
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def sanitize_anchor_name(anchor)
|
||||||
|
anchor.gsub(%r{[^\w\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
|
||||||
|
end
|
||||||
|
|
||||||
# Returns the javascript tags that are included in the html layout head
|
# Returns the javascript tags that are included in the html layout head
|
||||||
def javascript_heads
|
def javascript_heads
|
||||||
tags = javascript_include_tag(:defaults)
|
tags = javascript_include_tag(:defaults)
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ class Changeset < ActiveRecord::Base
|
|||||||
def fix_issue(issue)
|
def fix_issue(issue)
|
||||||
status = IssueStatus.find_by_id(Setting.commit_fix_status_id.to_i)
|
status = IssueStatus.find_by_id(Setting.commit_fix_status_id.to_i)
|
||||||
if status.nil?
|
if status.nil?
|
||||||
logger.warn("No status macthes commit_fix_status_id setting (#{Setting.commit_fix_status_id})") if logger
|
logger.warn("No status matches commit_fix_status_id setting (#{Setting.commit_fix_status_id})") if logger
|
||||||
return issue
|
return issue
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,14 @@ class CustomField < ActiveRecord::Base
|
|||||||
errors.add(:possible_values, :invalid) unless self.possible_values.is_a? Array
|
errors.add(:possible_values, :invalid) unless self.possible_values.is_a? Array
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if regexp.present?
|
||||||
|
begin
|
||||||
|
Regexp.new(regexp)
|
||||||
|
rescue
|
||||||
|
errors.add(:regexp, :invalid)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# validate default value
|
# validate default value
|
||||||
v = CustomValue.new(:custom_field => self.clone, :value => default_value, :customized => nil)
|
v = CustomValue.new(:custom_field => self.clone, :value => default_value, :customized => nil)
|
||||||
v.custom_field.is_required = false
|
v.custom_field.is_required = false
|
||||||
@@ -56,7 +64,7 @@ class CustomField < ActiveRecord::Base
|
|||||||
when 'user'
|
when 'user'
|
||||||
obj.project.users.sort.collect {|u| [u.to_s, u.id.to_s]}
|
obj.project.users.sort.collect {|u| [u.to_s, u.id.to_s]}
|
||||||
when 'version'
|
when 'version'
|
||||||
obj.project.versions.sort.collect {|u| [u.to_s, u.id.to_s]}
|
obj.project.shared_versions.sort.collect {|u| [u.to_s, u.id.to_s]}
|
||||||
end
|
end
|
||||||
elsif obj.is_a?(Array)
|
elsif obj.is_a?(Array)
|
||||||
obj.collect {|o| possible_values_options(o)}.inject {|memo, v| memo & v}
|
obj.collect {|o| possible_values_options(o)}.inject {|memo, v| memo & v}
|
||||||
|
|||||||
@@ -449,6 +449,7 @@ class Issue < ActiveRecord::Base
|
|||||||
def assignable_users
|
def assignable_users
|
||||||
users = project.assignable_users
|
users = project.assignable_users
|
||||||
users << author if author
|
users << author if author
|
||||||
|
users << assigned_to if assigned_to
|
||||||
users.uniq.sort
|
users.uniq.sort
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -58,8 +58,7 @@ class IssueStatus < ActiveRecord::Base
|
|||||||
transitions = workflows.select do |w|
|
transitions = workflows.select do |w|
|
||||||
role_ids.include?(w.role_id) &&
|
role_ids.include?(w.role_id) &&
|
||||||
w.tracker_id == tracker.id &&
|
w.tracker_id == tracker.id &&
|
||||||
(author || !w.author) &&
|
((!w.author && !w.assignee) || (author && w.author) || (assignee && w.assignee))
|
||||||
(assignee || !w.assignee)
|
|
||||||
end
|
end
|
||||||
transitions.collect{|w| w.new_status}.compact.sort
|
transitions.collect{|w| w.new_status}.compact.sort
|
||||||
else
|
else
|
||||||
@@ -70,14 +69,17 @@ class IssueStatus < ActiveRecord::Base
|
|||||||
# Same thing as above but uses a database query
|
# Same thing as above but uses a database query
|
||||||
# More efficient than the previous method if called just once
|
# More efficient than the previous method if called just once
|
||||||
def find_new_statuses_allowed_to(roles, tracker, author=false, assignee=false)
|
def find_new_statuses_allowed_to(roles, tracker, author=false, assignee=false)
|
||||||
if roles && tracker
|
if roles.present? && tracker
|
||||||
conditions = {:role_id => roles.collect(&:id), :tracker_id => tracker.id}
|
conditions = "(author = :false AND assignee = :false)"
|
||||||
conditions[:author] = false unless author
|
conditions << " OR author = :true" if author
|
||||||
conditions[:assignee] = false unless assignee
|
conditions << " OR assignee = :true" if assignee
|
||||||
|
|
||||||
workflows.find(:all,
|
workflows.find(:all,
|
||||||
:include => :new_status,
|
:include => :new_status,
|
||||||
:conditions => conditions).collect{|w| w.new_status}.compact.sort
|
:conditions => ["role_id IN (:role_ids) AND tracker_id = :tracker_id AND (#{conditions})",
|
||||||
|
{:role_ids => roles.collect(&:id), :tracker_id => tracker.id, :true => true, :false => false}
|
||||||
|
]
|
||||||
|
).collect{|w| w.new_status}.compact.sort
|
||||||
else
|
else
|
||||||
[]
|
[]
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ class MailHandler < ActionMailer::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
def add_attachments(obj)
|
def add_attachments(obj)
|
||||||
if email.has_attachments?
|
if email.attachments && email.attachments.any?
|
||||||
email.attachments.each do |attachment|
|
email.attachments.each do |attachment|
|
||||||
Attachment.create(:container => obj,
|
Attachment.create(:container => obj,
|
||||||
:file => attachment,
|
:file => attachment,
|
||||||
|
|||||||
+13
-10
@@ -333,14 +333,17 @@ class Query < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
def columns
|
def columns
|
||||||
if has_default_columns?
|
# preserve the column_names order
|
||||||
available_columns.select do |c|
|
(has_default_columns? ? default_columns_names : column_names).collect do |name|
|
||||||
# Adds the project column by default for cross-project lists
|
available_columns.find { |col| col.name == name }
|
||||||
Setting.issue_list_default_columns.include?(c.name.to_s) || (c.name == :project && project.nil?)
|
end.compact
|
||||||
end
|
end
|
||||||
else
|
|
||||||
# preserve the column_names order
|
def default_columns_names
|
||||||
column_names.collect {|name| available_columns.find {|col| col.name == name}}.compact
|
@default_columns_names ||= begin
|
||||||
|
default_columns = Setting.issue_list_default_columns.map(&:to_sym)
|
||||||
|
|
||||||
|
project.present? ? default_columns : [:project] | default_columns
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -349,7 +352,7 @@ class Query < ActiveRecord::Base
|
|||||||
names = names.select {|n| n.is_a?(Symbol) || !n.blank? }
|
names = names.select {|n| n.is_a?(Symbol) || !n.blank? }
|
||||||
names = names.collect {|n| n.is_a?(Symbol) ? n : n.to_sym }
|
names = names.collect {|n| n.is_a?(Symbol) ? n : n.to_sym }
|
||||||
# Set column_names to nil if default columns
|
# Set column_names to nil if default columns
|
||||||
if names.map(&:to_s) == Setting.issue_list_default_columns
|
if names == default_columns_names
|
||||||
names = nil
|
names = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -518,7 +521,7 @@ class Query < ActiveRecord::Base
|
|||||||
|
|
||||||
# Returns the issue count
|
# Returns the issue count
|
||||||
def issue_count
|
def issue_count
|
||||||
Issue.count(:include => [:status, :project], :conditions => statement)
|
Issue.visible.count(:include => [:status, :project], :conditions => statement)
|
||||||
rescue ::ActiveRecord::StatementInvalid => e
|
rescue ::ActiveRecord::StatementInvalid => e
|
||||||
raise StatementInvalid.new(e.message)
|
raise StatementInvalid.new(e.message)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -92,6 +92,17 @@ class Repository::Git < Repository
|
|||||||
options = {:report_last_commit => extra_report_last_commit})
|
options = {:report_last_commit => extra_report_last_commit})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# With SCMs that have a sequential commit numbering,
|
||||||
|
# such as Subversion and Mercurial,
|
||||||
|
# Redmine is able to be clever and only fetch changesets
|
||||||
|
# going forward from the most recent one it knows about.
|
||||||
|
#
|
||||||
|
# However, Git does not have a sequential commit numbering.
|
||||||
|
#
|
||||||
|
# In order to fetch only new adding revisions,
|
||||||
|
# Redmine needs to parse revisions per branch.
|
||||||
|
# Branch "last_scmid" is for this requirement.
|
||||||
|
#
|
||||||
# In Git and Mercurial, revisions are not in date order.
|
# In Git and Mercurial, revisions are not in date order.
|
||||||
# Redmine Mercurial fixed issues.
|
# Redmine Mercurial fixed issues.
|
||||||
# * Redmine Takes Too Long On Large Mercurial Repository
|
# * Redmine Takes Too Long On Large Mercurial Repository
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ class WikiPage < ActiveRecord::Base
|
|||||||
:datetime => :created_on,
|
:datetime => :created_on,
|
||||||
:url => Proc.new {|o| {:controller => 'wiki', :action => 'show', :project_id => o.wiki.project, :id => o.title}}
|
:url => Proc.new {|o| {:controller => 'wiki', :action => 'show', :project_id => o.wiki.project, :id => o.title}}
|
||||||
|
|
||||||
acts_as_searchable :columns => ['title', 'text'],
|
acts_as_searchable :columns => ['title', "#{WikiContent.table_name}.text"],
|
||||||
:include => [{:wiki => :project}, :content],
|
:include => [{:wiki => :project}, :content],
|
||||||
:permission => :view_wiki_pages,
|
:permission => :view_wiki_pages,
|
||||||
:project_key => "#{Wiki.table_name}.project_id"
|
:project_key => "#{Wiki.table_name}.project_id"
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ default:
|
|||||||
authentication: :login
|
authentication: :login
|
||||||
user_name: "redmine@example.net"
|
user_name: "redmine@example.net"
|
||||||
password: "redmine"
|
password: "redmine"
|
||||||
|
|
||||||
# Absolute path to the directory where attachments are stored.
|
# Absolute path to the directory where attachments are stored.
|
||||||
# The default is the 'files' directory in your Redmine instance.
|
# The default is the 'files' directory in your Redmine instance.
|
||||||
# Your Redmine instance needs to have write permission on this
|
# Your Redmine instance needs to have write permission on this
|
||||||
@@ -98,7 +98,7 @@ default:
|
|||||||
# attachments_storage_path: /var/redmine/files
|
# attachments_storage_path: /var/redmine/files
|
||||||
# attachments_storage_path: D:/redmine/files
|
# attachments_storage_path: D:/redmine/files
|
||||||
attachments_storage_path:
|
attachments_storage_path:
|
||||||
|
|
||||||
# Configuration of the autologin cookie.
|
# Configuration of the autologin cookie.
|
||||||
# autologin_cookie_name: the name of the cookie (default: autologin)
|
# autologin_cookie_name: the name of the cookie (default: autologin)
|
||||||
# autologin_cookie_path: the cookie path (default: /)
|
# autologin_cookie_path: the cookie path (default: /)
|
||||||
@@ -106,10 +106,17 @@ default:
|
|||||||
autologin_cookie_name:
|
autologin_cookie_name:
|
||||||
autologin_cookie_path:
|
autologin_cookie_path:
|
||||||
autologin_cookie_secure:
|
autologin_cookie_secure:
|
||||||
|
|
||||||
# Configuration of SCM executable command.
|
# Configuration of SCM executable command.
|
||||||
|
#
|
||||||
# Absolute path (e.g. /usr/local/bin/hg) or command name (e.g. hg.exe, bzr.exe)
|
# Absolute path (e.g. /usr/local/bin/hg) or command name (e.g. hg.exe, bzr.exe)
|
||||||
# On Windows, *.cmd, *.bat (e.g. hg.cmd, bzr.bat) does not work.
|
# On Windows + CRuby, *.cmd, *.bat (e.g. hg.cmd, bzr.bat) does not work.
|
||||||
|
#
|
||||||
|
# On Windows + JRuby 1.6.2, path which contains spaces does not work.
|
||||||
|
# For example, "C:\Program Files\TortoiseHg\hg.exe".
|
||||||
|
# If you want to this feature, you need to install to the path which does not contains spaces.
|
||||||
|
# For example, "C:\TortoiseHg\hg.exe".
|
||||||
|
#
|
||||||
# Examples:
|
# Examples:
|
||||||
# scm_subversion_command: svn # (default: svn)
|
# scm_subversion_command: svn # (default: svn)
|
||||||
# scm_mercurial_command: C:\Program Files\TortoiseHg\hg.exe # (default: hg)
|
# scm_mercurial_command: C:\Program Files\TortoiseHg\hg.exe # (default: hg)
|
||||||
@@ -117,13 +124,14 @@ default:
|
|||||||
# scm_cvs_command: cvs # (default: cvs)
|
# scm_cvs_command: cvs # (default: cvs)
|
||||||
# scm_bazaar_command: bzr.exe # (default: bzr)
|
# scm_bazaar_command: bzr.exe # (default: bzr)
|
||||||
# scm_darcs_command: darcs-1.0.9-i386-linux # (default: darcs)
|
# scm_darcs_command: darcs-1.0.9-i386-linux # (default: darcs)
|
||||||
|
#
|
||||||
scm_subversion_command:
|
scm_subversion_command:
|
||||||
scm_mercurial_command:
|
scm_mercurial_command:
|
||||||
scm_git_command:
|
scm_git_command:
|
||||||
scm_cvs_command:
|
scm_cvs_command:
|
||||||
scm_bazaar_command:
|
scm_bazaar_command:
|
||||||
scm_darcs_command:
|
scm_darcs_command:
|
||||||
|
|
||||||
# Key used to encrypt sensitive data in the database (SCM and LDAP passwords).
|
# Key used to encrypt sensitive data in the database (SCM and LDAP passwords).
|
||||||
# If you don't want to enable data encryption, just leave it blank.
|
# If you don't want to enable data encryption, just leave it blank.
|
||||||
# WARNING: losing/changing this key will make encrypted data unreadable.
|
# WARNING: losing/changing this key will make encrypted data unreadable.
|
||||||
@@ -136,8 +144,8 @@ default:
|
|||||||
# * decrypt data using 'rake db:decrypt RAILS_ENV=production' first
|
# * decrypt data using 'rake db:decrypt RAILS_ENV=production' first
|
||||||
# * change the cipher key here in your configuration file
|
# * change the cipher key here in your configuration file
|
||||||
# * encrypt data using 'rake db:encrypt RAILS_ENV=production'
|
# * encrypt data using 'rake db:encrypt RAILS_ENV=production'
|
||||||
database_cipher_key:
|
database_cipher_key:
|
||||||
|
|
||||||
# specific configuration options for production environment
|
# specific configuration options for production environment
|
||||||
# that overrides the default ones
|
# that overrides the default ones
|
||||||
production:
|
production:
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ es:
|
|||||||
greater_than_start_date: "debe ser posterior a la fecha de comienzo"
|
greater_than_start_date: "debe ser posterior a la fecha de comienzo"
|
||||||
not_same_project: "no pertenece al mismo proyecto"
|
not_same_project: "no pertenece al mismo proyecto"
|
||||||
circular_dependency: "Esta relación podría crear una dependencia circular"
|
circular_dependency: "Esta relación podría crear una dependencia circular"
|
||||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
cant_link_an_issue_with_a_descendant: "Esta petición no puede ser ligada a una de estas tareas"
|
||||||
|
|
||||||
# Append your own errors here or at the model/attributes scope.
|
# Append your own errors here or at the model/attributes scope.
|
||||||
|
|
||||||
|
|||||||
+53
-53
@@ -34,40 +34,40 @@
|
|||||||
distance_in_words:
|
distance_in_words:
|
||||||
half_a_minute: 'fél perc'
|
half_a_minute: 'fél perc'
|
||||||
less_than_x_seconds:
|
less_than_x_seconds:
|
||||||
# zero: 'kevesebb, mint 1 másodperc'
|
# zero: 'kevesebb, mint 1 másodperce'
|
||||||
one: 'kevesebb, mint 1 másodperc'
|
one: 'kevesebb, mint 1 másodperce'
|
||||||
other: 'kevesebb, mint %{count} másodperc'
|
other: 'kevesebb, mint %{count} másodperce'
|
||||||
x_seconds:
|
x_seconds:
|
||||||
one: '1 másodperc'
|
one: '1 másodperce'
|
||||||
other: '%{count} másodperc'
|
other: '%{count} másodperce'
|
||||||
less_than_x_minutes:
|
less_than_x_minutes:
|
||||||
# zero: 'kevesebb, mint 1 perc'
|
# zero: 'kevesebb, mint 1 perce'
|
||||||
one: 'kevesebb, mint 1 perc'
|
one: 'kevesebb, mint 1 perce'
|
||||||
other: 'kevesebb, mint %{count} perc'
|
other: 'kevesebb, mint %{count} perce'
|
||||||
x_minutes:
|
x_minutes:
|
||||||
one: '1 perc'
|
one: '1 perce'
|
||||||
other: '%{count} perc'
|
other: '%{count} perce'
|
||||||
about_x_hours:
|
about_x_hours:
|
||||||
one: 'majdnem 1 óra'
|
one: 'csaknem 1 órája'
|
||||||
other: 'majdnem %{count} óra'
|
other: 'csaknem %{count} órája'
|
||||||
x_days:
|
x_days:
|
||||||
one: '1 nap'
|
one: '1 napja'
|
||||||
other: '%{count} nap'
|
other: '%{count} napja'
|
||||||
about_x_months:
|
about_x_months:
|
||||||
one: 'majdnem 1 hónap'
|
one: 'csaknem 1 hónapja'
|
||||||
other: 'majdnem %{count} hónap'
|
other: 'csaknem %{count} hónapja'
|
||||||
x_months:
|
x_months:
|
||||||
one: '1 hónap'
|
one: '1 hónapja'
|
||||||
other: '%{count} hónap'
|
other: '%{count} hónapja'
|
||||||
about_x_years:
|
about_x_years:
|
||||||
one: 'majdnem 1 év'
|
one: 'csaknem 1 éve'
|
||||||
other: 'majdnem %{count} év'
|
other: 'csaknem %{count} éve'
|
||||||
over_x_years:
|
over_x_years:
|
||||||
one: 'több, mint 1 év'
|
one: 'több, mint 1 éve'
|
||||||
other: 'több, mint %{count} év'
|
other: 'több, mint %{count} éve'
|
||||||
almost_x_years:
|
almost_x_years:
|
||||||
one: "közel 1 év"
|
one: "csaknem 1 éve"
|
||||||
other: "közel %{count} év"
|
other: "csaknem %{count} éve"
|
||||||
prompts:
|
prompts:
|
||||||
year: "Év"
|
year: "Év"
|
||||||
month: "Hónap"
|
month: "Hónap"
|
||||||
@@ -264,7 +264,7 @@
|
|||||||
field_attr_mail: E-mail
|
field_attr_mail: E-mail
|
||||||
field_onthefly: On-the-fly felhasználó létrehozás
|
field_onthefly: On-the-fly felhasználó létrehozás
|
||||||
field_start_date: Kezdés dátuma
|
field_start_date: Kezdés dátuma
|
||||||
field_done_ratio: Elkészült (%)
|
field_done_ratio: Készültség (%)
|
||||||
field_auth_source: Azonosítási mód
|
field_auth_source: Azonosítási mód
|
||||||
field_hide_mail: Rejtse el az e-mail címem
|
field_hide_mail: Rejtse el az e-mail címem
|
||||||
field_comments: Megjegyzés
|
field_comments: Megjegyzés
|
||||||
@@ -280,7 +280,7 @@
|
|||||||
field_delay: Késés
|
field_delay: Késés
|
||||||
field_assignable: Feladat rendelhető ehhez a szerepkörhöz
|
field_assignable: Feladat rendelhető ehhez a szerepkörhöz
|
||||||
field_redirect_existing_links: Létező linkek átirányítása
|
field_redirect_existing_links: Létező linkek átirányítása
|
||||||
field_estimated_hours: Becsült idő
|
field_estimated_hours: Becsült időigény
|
||||||
field_column_names: Oszlopok
|
field_column_names: Oszlopok
|
||||||
field_time_zone: Időzóna
|
field_time_zone: Időzóna
|
||||||
field_searchable: Kereshető
|
field_searchable: Kereshető
|
||||||
@@ -326,7 +326,7 @@
|
|||||||
project_module_documents: Dokumentumok
|
project_module_documents: Dokumentumok
|
||||||
project_module_files: Fájlok
|
project_module_files: Fájlok
|
||||||
project_module_wiki: Wiki
|
project_module_wiki: Wiki
|
||||||
project_module_repository: Tároló
|
project_module_repository: Forráskód
|
||||||
project_module_boards: Fórumok
|
project_module_boards: Fórumok
|
||||||
|
|
||||||
label_user: Felhasználó
|
label_user: Felhasználó
|
||||||
@@ -391,7 +391,7 @@
|
|||||||
label_assigned_to_me_issues: A nekem kiosztott feladatok
|
label_assigned_to_me_issues: A nekem kiosztott feladatok
|
||||||
label_last_login: Utolsó bejelentkezés
|
label_last_login: Utolsó bejelentkezés
|
||||||
label_registered_on: Regisztrált
|
label_registered_on: Regisztrált
|
||||||
label_activity: Tevékenységek
|
label_activity: Történések
|
||||||
label_overall_activity: Teljes aktivitás
|
label_overall_activity: Teljes aktivitás
|
||||||
label_new: Új
|
label_new: Új
|
||||||
label_logged_as: Bejelentkezve, mint
|
label_logged_as: Bejelentkezve, mint
|
||||||
@@ -510,8 +510,8 @@
|
|||||||
label_contains: tartalmazza
|
label_contains: tartalmazza
|
||||||
label_not_contains: nem tartalmazza
|
label_not_contains: nem tartalmazza
|
||||||
label_day_plural: nap
|
label_day_plural: nap
|
||||||
label_repository: Tároló
|
label_repository: Forráskód
|
||||||
label_repository_plural: Tárolók
|
label_repository_plural: Forráskódok
|
||||||
label_browse: Tallóz
|
label_browse: Tallóz
|
||||||
label_modification: "%{count} változás"
|
label_modification: "%{count} változás"
|
||||||
label_modification_plural: "%{count} változás"
|
label_modification_plural: "%{count} változás"
|
||||||
@@ -600,10 +600,10 @@
|
|||||||
label_language_based: A felhasználó nyelve alapján
|
label_language_based: A felhasználó nyelve alapján
|
||||||
label_sort_by: "%{value} szerint rendezve"
|
label_sort_by: "%{value} szerint rendezve"
|
||||||
label_send_test_email: Teszt e-mail küldése
|
label_send_test_email: Teszt e-mail küldése
|
||||||
label_feeds_access_key_created_on: "RSS hozzáférési kulcs létrehozva ennyivel ezelőtt: %{value}"
|
label_feeds_access_key_created_on: "RSS hozzáférési kulcs létrehozva %{value}"
|
||||||
label_module_plural: Modulok
|
label_module_plural: Modulok
|
||||||
label_added_time_by: "%{author} adta hozzá ennyivel ezelőtt: %{age}"
|
label_added_time_by: "%{author} adta hozzá %{age}"
|
||||||
label_updated_time: "Utolsó módosítás ennyivel ezelőtt: %{value}"
|
label_updated_time: "Utolsó módosítás %{value}"
|
||||||
label_jump_to_a_project: Ugrás projekthez...
|
label_jump_to_a_project: Ugrás projekthez...
|
||||||
label_file_plural: Fájlok
|
label_file_plural: Fájlok
|
||||||
label_changeset_plural: Changesets
|
label_changeset_plural: Changesets
|
||||||
@@ -695,11 +695,11 @@
|
|||||||
text_unallowed_characters: Tiltott karakterek
|
text_unallowed_characters: Tiltott karakterek
|
||||||
text_comma_separated: Több érték megengedett (vesszővel elválasztva)
|
text_comma_separated: Több érték megengedett (vesszővel elválasztva)
|
||||||
text_issues_ref_in_commit_messages: Hivatkozás feladatokra, feladatok javítása a commit üzenetekben
|
text_issues_ref_in_commit_messages: Hivatkozás feladatokra, feladatok javítása a commit üzenetekben
|
||||||
text_issue_added: "A feladatot %{id} bejelentette: %{author}."
|
text_issue_added: "%{author} új feladatot hozott létre %{id} sorszámmal."
|
||||||
text_issue_updated: "A feladatot %{id} módosította: %{author}."
|
text_issue_updated: "%{author} módosította a %{id} sorszámú feladatot."
|
||||||
text_wiki_destroy_confirmation: Biztosan törölni szeretné ezt a wiki-t minden tartalmával együtt ?
|
text_wiki_destroy_confirmation: Biztosan törölni szeretné ezt a wiki-t minden tartalmával együtt ?
|
||||||
text_issue_category_destroy_question: "Néhány feladat (%{count}) hozzá van rendelve ehhez a kategóriához. Mit szeretne tenni ?"
|
text_issue_category_destroy_question: "Néhány feladat (%{count}) hozzá van rendelve ehhez a kategóriához. Mit szeretne tenni?"
|
||||||
text_issue_category_destroy_assignments: Kategória hozzárendelés megszűntetése
|
text_issue_category_destroy_assignments: Kategória hozzárendelés megszüntetése
|
||||||
text_issue_category_reassign_to: Feladatok újra hozzárendelése másik kategóriához
|
text_issue_category_reassign_to: Feladatok újra hozzárendelése másik kategóriához
|
||||||
text_user_mail_option: "A nem kiválasztott projektekről csak akkor kap értesítést, ha figyelést kér rá, vagy részt vesz benne (pl. Ön a létrehozó, vagy a hozzárendelő)"
|
text_user_mail_option: "A nem kiválasztott projektekről csak akkor kap értesítést, ha figyelést kér rá, vagy részt vesz benne (pl. Ön a létrehozó, vagy a hozzárendelő)"
|
||||||
text_no_configuration_data: "Szerepkörök, feladat típusok, feladat státuszok, és workflow adatok még nincsenek konfigurálva.\nErősen ajánlott, az alapértelmezett konfiguráció betöltése, és utána módosíthatja azt."
|
text_no_configuration_data: "Szerepkörök, feladat típusok, feladat státuszok, és workflow adatok még nincsenek konfigurálva.\nErősen ajánlott, az alapértelmezett konfiguráció betöltése, és utána módosíthatja azt."
|
||||||
@@ -709,8 +709,8 @@
|
|||||||
text_select_project_modules: 'Válassza ki az engedélyezett modulokat ehhez a projekthez:'
|
text_select_project_modules: 'Válassza ki az engedélyezett modulokat ehhez a projekthez:'
|
||||||
text_default_administrator_account_changed: Alapértelmezett adminisztrátor fiók megváltoztatva
|
text_default_administrator_account_changed: Alapértelmezett adminisztrátor fiók megváltoztatva
|
||||||
text_file_repository_writable: Fájl tároló írható
|
text_file_repository_writable: Fájl tároló írható
|
||||||
text_rmagick_available: RMagick elérhető (opcionális)
|
text_rmagick_available: RMagick elérhető (nem kötelező)
|
||||||
text_destroy_time_entries_question: "%{hours} órányi munka van rögzítve a feladatokon, amiket törölni szeretne. Mit szeretne tenni ?"
|
text_destroy_time_entries_question: "%{hours} órányi munka van rögzítve a feladatokon, amiket törölni szeretne. Mit szeretne tenni?"
|
||||||
text_destroy_time_entries: A rögzített órák törlése
|
text_destroy_time_entries: A rögzített órák törlése
|
||||||
text_assign_time_entries_to_project: A rögzített órák hozzárendelése a projekthez
|
text_assign_time_entries_to_project: A rögzített órák hozzárendelése a projekthez
|
||||||
text_reassign_time_entries: 'A rögzített órák újra hozzárendelése másik feladathoz:'
|
text_reassign_time_entries: 'A rögzített órák újra hozzárendelése másik feladathoz:'
|
||||||
@@ -720,7 +720,7 @@
|
|||||||
default_role_reporter: Bejelentő
|
default_role_reporter: Bejelentő
|
||||||
default_tracker_bug: Hiba
|
default_tracker_bug: Hiba
|
||||||
default_tracker_feature: Fejlesztés
|
default_tracker_feature: Fejlesztés
|
||||||
default_tracker_support: Support
|
default_tracker_support: Támogatás
|
||||||
default_issue_status_new: Új
|
default_issue_status_new: Új
|
||||||
default_issue_status_in_progress: Folyamatban
|
default_issue_status_in_progress: Folyamatban
|
||||||
default_issue_status_resolved: Megoldva
|
default_issue_status_resolved: Megoldva
|
||||||
@@ -741,7 +741,7 @@
|
|||||||
enumeration_doc_categories: Dokumentum kategóriák
|
enumeration_doc_categories: Dokumentum kategóriák
|
||||||
enumeration_activities: Tevékenységek (idő rögzítés)
|
enumeration_activities: Tevékenységek (idő rögzítés)
|
||||||
mail_body_reminder: "%{count} neked kiosztott feladat határidős az elkövetkező %{days} napban:"
|
mail_body_reminder: "%{count} neked kiosztott feladat határidős az elkövetkező %{days} napban:"
|
||||||
mail_subject_reminder: "%{count} feladat határidős az elkövetkező %{days} napokban"
|
mail_subject_reminder: "%{count} feladat határidős az elkövetkező %{days} napban"
|
||||||
text_user_wrote: "%{value} írta:"
|
text_user_wrote: "%{value} írta:"
|
||||||
label_duplicated_by: duplikálta
|
label_duplicated_by: duplikálta
|
||||||
setting_enabled_scm: Forráskódkezelő (SCM) engedélyezése
|
setting_enabled_scm: Forráskódkezelő (SCM) engedélyezése
|
||||||
@@ -812,14 +812,14 @@
|
|||||||
permission_edit_own_messages: Saját üzenetek szerkesztése
|
permission_edit_own_messages: Saját üzenetek szerkesztése
|
||||||
permission_delete_own_messages: Saját üzenetek törlése
|
permission_delete_own_messages: Saját üzenetek törlése
|
||||||
label_user_activity: "%{value} tevékenységei"
|
label_user_activity: "%{value} tevékenységei"
|
||||||
label_updated_time_by: "Módosította %{author} ennyivel ezelőtt: %{age}"
|
label_updated_time_by: "Módosította %{author} %{age}"
|
||||||
text_diff_truncated: '... A diff fájl vége nem jelenik meg, mert hosszab, mint a megjeleníthető sorok száma.'
|
text_diff_truncated: '... A diff fájl vége nem jelenik meg, mert hosszab, mint a megjeleníthető sorok száma.'
|
||||||
setting_diff_max_lines_displayed: A megjelenítendő sorok száma (maximum) a diff fájloknál
|
setting_diff_max_lines_displayed: A megjelenítendő sorok száma (maximum) a diff fájloknál
|
||||||
text_plugin_assets_writable: Plugin eszközök könyvtár írható
|
text_plugin_assets_writable: Plugin eszközök könyvtár írható
|
||||||
warning_attachments_not_saved: "%{count} fájl mentése nem sikerült."
|
warning_attachments_not_saved: "%{count} fájl mentése nem sikerült."
|
||||||
button_create_and_continue: Létrehozás és folytatás
|
button_create_and_continue: Létrehozás és folytatás
|
||||||
text_custom_field_possible_values_info: 'Értékenként egy sor'
|
text_custom_field_possible_values_info: 'Értékenként egy sor'
|
||||||
label_display: Megjelenés
|
label_display: Megmutat
|
||||||
field_editable: Szerkeszthető
|
field_editable: Szerkeszthető
|
||||||
setting_repository_log_display_limit: Maximum hány revíziót mutasson meg a log megjelenítésekor
|
setting_repository_log_display_limit: Maximum hány revíziót mutasson meg a log megjelenítésekor
|
||||||
setting_file_max_size_displayed: Maximum mekkora szövegfájlokat jelenítsen meg soronkénti összehasonlításnál
|
setting_file_max_size_displayed: Maximum mekkora szövegfájlokat jelenítsen meg soronkénti összehasonlításnál
|
||||||
@@ -835,40 +835,40 @@
|
|||||||
label_greater_or_equal: ">="
|
label_greater_or_equal: ">="
|
||||||
label_less_or_equal: "<="
|
label_less_or_equal: "<="
|
||||||
text_wiki_page_destroy_question: Ennek az oldalnak %{descendants} gyermek-, és leszármazott oldala van. Mit szeretne tenni?
|
text_wiki_page_destroy_question: Ennek az oldalnak %{descendants} gyermek-, és leszármazott oldala van. Mit szeretne tenni?
|
||||||
text_wiki_page_reassign_children: Az aloldalak hozzárendelése ehhez a szülő oldalhoz
|
text_wiki_page_reassign_children: Aloldalak hozzárendelése ehhez a szülő oldalhoz
|
||||||
text_wiki_page_nullify_children: Az aloldalak megtartása, mint főoldalak
|
text_wiki_page_nullify_children: Aloldalak átalakítása főoldallá
|
||||||
text_wiki_page_destroy_children: Minden aloldal és leszármazottjának törlése
|
text_wiki_page_destroy_children: Minden aloldal és leszármazottjának törlése
|
||||||
setting_password_min_length: Minimum jelszó hosszúság
|
setting_password_min_length: Minimum jelszó hosszúság
|
||||||
field_group_by: Szerint csoportosítva
|
field_group_by: Szerint csoportosítva
|
||||||
mail_subject_wiki_content_updated: "'%{id}' wiki oldal frissítve"
|
mail_subject_wiki_content_updated: "'%{id}' wiki oldal frissítve"
|
||||||
label_wiki_content_added: Wiki oldal hozzáadva
|
label_wiki_content_added: Wiki oldal hozzáadva
|
||||||
mail_subject_wiki_content_added: "Új wiki oldal: '%{id}'"
|
mail_subject_wiki_content_added: "Új wiki oldal: '%{id}'"
|
||||||
mail_body_wiki_content_added: A '%{id}' wiki oldalt %{author} hozta létre.
|
mail_body_wiki_content_added: %{author} létrehozta a '%{id}' wiki oldalt.
|
||||||
label_wiki_content_updated: Wiki oldal frissítve
|
label_wiki_content_updated: Wiki oldal frissítve
|
||||||
mail_body_wiki_content_updated: A '%{id}' wiki oldalt %{author} frissítette.
|
mail_body_wiki_content_updated: %{author} frissítette a '%{id}' wiki oldalt.
|
||||||
permission_add_project: Projekt létrehozása
|
permission_add_project: Projekt létrehozása
|
||||||
setting_new_project_user_role_id: Projekt létrehozási jog nem adminisztrátor felhasználóknak
|
setting_new_project_user_role_id: Projekt létrehozási jog nem adminisztrátor felhasználóknak
|
||||||
label_view_all_revisions: Minden revízió megtekintése
|
label_view_all_revisions: Összes verzió
|
||||||
label_tag: Tag
|
label_tag: Tag
|
||||||
label_branch: Branch
|
label_branch: Branch
|
||||||
error_no_tracker_in_project: Nincs feladat típus hozzárendelve ehhez a projekthez. Kérem ellenőrizze a projekt beállításait.
|
error_no_tracker_in_project: Nincs feladat típus hozzárendelve ehhez a projekthez. Kérem ellenőrizze a projekt beállításait.
|
||||||
error_no_default_issue_status: Nincs alapértelmezett feladat státusz beállítva. Kérem ellenőrizze a beállításokat (Itt találja "Adminisztráció -> Feladat státuszok").
|
error_no_default_issue_status: Nincs alapértelmezett feladat státusz beállítva. Kérem ellenőrizze a beállításokat (Itt találja "Adminisztráció -> Feladat státuszok").
|
||||||
text_journal_changed: "%{label} változott erről: %{old} erre: %{new}"
|
text_journal_changed: "%{label} megváltozott, %{old} helyett %{new} lett"
|
||||||
text_journal_set_to: "%{label} új értéke: %{value}"
|
text_journal_set_to: "%{label} új értéke: %{value}"
|
||||||
text_journal_deleted: "%{label} törölve (%{old})"
|
text_journal_deleted: "%{label} törölve lett (%{old})"
|
||||||
label_group_plural: Csoportok
|
label_group_plural: Csoportok
|
||||||
label_group: Csoport
|
label_group: Csoport
|
||||||
label_group_new: Új csoport
|
label_group_new: Új csoport
|
||||||
label_time_entry_plural: Rögzített idő
|
label_time_entry_plural: Időráfordítás
|
||||||
text_journal_added: "%{label} %{value} hozzáadva"
|
text_journal_added: "%{label} %{value} hozzáadva"
|
||||||
field_active: Aktív
|
field_active: Aktív
|
||||||
enumeration_system_activity: Rendszer Tevékenység
|
enumeration_system_activity: Rendszertevékenység
|
||||||
permission_delete_issue_watchers: Megfigyelők törlése
|
permission_delete_issue_watchers: Megfigyelők törlése
|
||||||
version_status_closed: lezárt
|
version_status_closed: lezárt
|
||||||
version_status_locked: zárolt
|
version_status_locked: zárolt
|
||||||
version_status_open: nyitott
|
version_status_open: nyitott
|
||||||
error_can_not_reopen_issue_on_closed_version: Lezárt verzióhoz rendelt feladatot nem lehet újranyitni
|
error_can_not_reopen_issue_on_closed_version: Lezárt verzióhoz rendelt feladatot nem lehet újranyitni
|
||||||
label_user_anonymous: Anonymous
|
label_user_anonymous: Névtelen
|
||||||
button_move_and_follow: Mozgatás és követés
|
button_move_and_follow: Mozgatás és követés
|
||||||
setting_default_projects_modules: Alapértelmezett modulok az új projektekhez
|
setting_default_projects_modules: Alapértelmezett modulok az új projektekhez
|
||||||
setting_gravatar_default: Alapértelmezett Gravatar kép
|
setting_gravatar_default: Alapértelmezett Gravatar kép
|
||||||
|
|||||||
+36
-36
@@ -939,41 +939,41 @@ it:
|
|||||||
setting_commit_logtime_enabled: Abilita registrazione del tempo di collegamento
|
setting_commit_logtime_enabled: Abilita registrazione del tempo di collegamento
|
||||||
notice_gantt_chart_truncated: Il grafico è stato troncato perchè eccede il numero di oggetti (%{max}) da visualizzare
|
notice_gantt_chart_truncated: Il grafico è stato troncato perchè eccede il numero di oggetti (%{max}) da visualizzare
|
||||||
setting_gantt_items_limit: Massimo numero di oggetti da visualizzare sul diagramma di gantt
|
setting_gantt_items_limit: Massimo numero di oggetti da visualizzare sul diagramma di gantt
|
||||||
field_warn_on_leaving_unsaved: Warn me when leaving a page with unsaved text
|
field_warn_on_leaving_unsaved: Avvisami quando lascio una pagina con testo non salvato
|
||||||
text_warn_on_leaving_unsaved: The current page contains unsaved text that will be lost if you leave this page.
|
text_warn_on_leaving_unsaved: La pagina corrente contiene del testo non salvato che verrà perso se lasci questa pagina.
|
||||||
label_my_queries: My custom queries
|
label_my_queries: Le mie queries personalizzate
|
||||||
text_journal_changed_no_detail: "%{label} updated"
|
text_journal_changed_no_detail: "%{label} aggiornato"
|
||||||
label_news_comment_added: Comment added to a news
|
label_news_comment_added: Commento aggiunto a una notizia
|
||||||
button_expand_all: Expand all
|
button_expand_all: Espandi tutto
|
||||||
button_collapse_all: Collapse all
|
button_collapse_all: Comprimi tutto
|
||||||
label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
|
label_additional_workflow_transitions_for_assignee: Transizioni supplementari consentite quando l'utente è l'assegnatario
|
||||||
label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
|
label_additional_workflow_transitions_for_author: Transizioni supplementari consentite quando l'utente è l'autore
|
||||||
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
|
label_bulk_edit_selected_time_entries: Modifica massiva delle ore segnalate selezionate
|
||||||
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
|
text_time_entries_destroy_confirmation: Sei sicuro di voler eliminare l'ora\e selezionata\e?
|
||||||
label_role_anonymous: Anonymous
|
label_role_anonymous: Anonimo
|
||||||
label_role_non_member: Non member
|
label_role_non_member: Non membro
|
||||||
label_issue_note_added: Note added
|
label_issue_note_added: Nota aggiunta
|
||||||
label_issue_status_updated: Status updated
|
label_issue_status_updated: Stato aggiornato
|
||||||
label_issue_priority_updated: Priority updated
|
label_issue_priority_updated: Priorità aggiornata
|
||||||
label_issues_visibility_own: Issues created by or assigned to the user
|
label_issues_visibility_own: Segnalazioni create o assegnate all'utente
|
||||||
field_issues_visibility: Issues visibility
|
field_issues_visibility: Visibilità segnalazioni
|
||||||
label_issues_visibility_all: All issues
|
label_issues_visibility_all: Tutte le segnalazioni
|
||||||
permission_set_own_issues_private: Set own issues public or private
|
permission_set_own_issues_private: Imposta le proprie segnalazioni pubbliche o private
|
||||||
field_is_private: Private
|
field_is_private: Privato
|
||||||
permission_set_issues_private: Set issues public or private
|
permission_set_issues_private: Imposta le segnalazioni pubbliche o private
|
||||||
label_issues_visibility_public: All non private issues
|
label_issues_visibility_public: Tutte le segnalazioni non private
|
||||||
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
|
text_issues_destroy_descendants_confirmation: Questo eliminerà anche %{count} sottoattività.
|
||||||
field_commit_logs_encoding: Codifica dei messaggi di commit
|
field_commit_logs_encoding: Codifica dei messaggi di commit
|
||||||
field_scm_path_encoding: Path encoding
|
field_scm_path_encoding: Codifica del percorso
|
||||||
text_scm_path_encoding_note: "Default: UTF-8"
|
text_scm_path_encoding_note: "Predefinito: UTF-8"
|
||||||
field_path_to_repository: Path to repository
|
field_path_to_repository: Percorso del repository
|
||||||
field_root_directory: Root directory
|
field_root_directory: Directory radice
|
||||||
field_cvs_module: Module
|
field_cvs_module: Modulo
|
||||||
field_cvsroot: CVSROOT
|
field_cvsroot: CVSROOT
|
||||||
text_git_repository_note: Bare and local repository (e.g. /gitrepo, c:\gitrepo)
|
text_git_repository_note: Repository centrale e locale (es. /gitrepo, c:\gitrepo)
|
||||||
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
text_mercurial_repository_note: Repository locale (es. /hgrepo, c:\hgrepo)
|
||||||
text_scm_command: Command
|
text_scm_command: Comando
|
||||||
text_scm_command_version: Version
|
text_scm_command_version: Versione
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
label_git_report_last_commit: Riporta l'ultimo commit per files e directories
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
text_scm_config: Puoi configurare i comandi scm nel file config/configuration.yml. E' necessario riavviare l'applicazione dopo averlo modificato.
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
text_scm_command_not_available: Il comando scm non è disponibile. Controllare le impostazioni nel pannello di amministrazione.
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ nl:
|
|||||||
greater_than_start_date: "moet na de startdatum liggen"
|
greater_than_start_date: "moet na de startdatum liggen"
|
||||||
not_same_project: "hoort niet bij hetzelfde project"
|
not_same_project: "hoort niet bij hetzelfde project"
|
||||||
circular_dependency: "Deze relatie zou een circulaire afhankelijkheid tot gevolg hebben"
|
circular_dependency: "Deze relatie zou een circulaire afhankelijkheid tot gevolg hebben"
|
||||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
cant_link_an_issue_with_a_descendant: "Een issue kan niet gelinked worden met een subtask"
|
||||||
|
|
||||||
actionview_instancetag_blank_option: Selecteer
|
actionview_instancetag_blank_option: Selecteer
|
||||||
|
|
||||||
@@ -703,7 +703,7 @@ nl:
|
|||||||
setting_bcc_recipients: Blind carbon copy ontvangers (bcc)
|
setting_bcc_recipients: Blind carbon copy ontvangers (bcc)
|
||||||
setting_commit_fix_keywords: Gefixeerde trefwoorden
|
setting_commit_fix_keywords: Gefixeerde trefwoorden
|
||||||
setting_commit_ref_keywords: Refererende trefwoorden
|
setting_commit_ref_keywords: Refererende trefwoorden
|
||||||
setting_cross_project_issue_relations: Sta crossproject issuerelaties toe
|
setting_cross_project_issue_relations: Sta cross-project issuerelaties toe
|
||||||
setting_date_format: Datumformaat
|
setting_date_format: Datumformaat
|
||||||
setting_default_language: Standaard taal
|
setting_default_language: Standaard taal
|
||||||
setting_default_projects_public: Nieuwe projecten zijn standaard publiek
|
setting_default_projects_public: Nieuwe projecten zijn standaard publiek
|
||||||
@@ -908,8 +908,8 @@ nl:
|
|||||||
label_user_mail_option_only_my_events: Alleen voor dingen die ik volg of bij betrokken ben
|
label_user_mail_option_only_my_events: Alleen voor dingen die ik volg of bij betrokken ben
|
||||||
label_user_mail_option_only_assigned: Alleen voor dingen die aan mij zijn toegewezen
|
label_user_mail_option_only_assigned: Alleen voor dingen die aan mij zijn toegewezen
|
||||||
label_user_mail_option_none: Bij geen enkele gebeurtenis
|
label_user_mail_option_none: Bij geen enkele gebeurtenis
|
||||||
field_member_of_group: Assignee's group
|
field_member_of_group: Groep van toegewezene
|
||||||
field_assigned_to_role: Assignee's role
|
field_assigned_to_role: Rol van toegewezene
|
||||||
notice_not_authorized_archived_project: Het project dat u wilt bezoeken is gearchiveerd.
|
notice_not_authorized_archived_project: Het project dat u wilt bezoeken is gearchiveerd.
|
||||||
label_principal_search: "Zoek naar gebruiker of groep:"
|
label_principal_search: "Zoek naar gebruiker of groep:"
|
||||||
label_user_search: "Zoek naar gebruiker:"
|
label_user_search: "Zoek naar gebruiker:"
|
||||||
@@ -925,10 +925,10 @@ nl:
|
|||||||
label_my_queries: Mijn aangepaste zoekopdrachten
|
label_my_queries: Mijn aangepaste zoekopdrachten
|
||||||
text_journal_changed_no_detail: "%{label} updated"
|
text_journal_changed_no_detail: "%{label} updated"
|
||||||
label_news_comment_added: Commentaar toegevoegd aan een nieuwsitem
|
label_news_comment_added: Commentaar toegevoegd aan een nieuwsitem
|
||||||
button_expand_all: Expand all
|
button_expand_all: Klap uit
|
||||||
button_collapse_all: Collapse all
|
button_collapse_all: Klap in
|
||||||
label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
|
label_additional_workflow_transitions_for_assignee: Aanvullende veranderingen toegestaan wanneer de gebruiker de toegewezene is
|
||||||
label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
|
label_additional_workflow_transitions_for_author: Aanvullende veranderingen toegestaan wanneer de gebruiker de auteur is
|
||||||
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
|
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
|
||||||
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
|
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
|
||||||
label_role_anonymous: Anonymous
|
label_role_anonymous: Anonymous
|
||||||
@@ -946,7 +946,7 @@ nl:
|
|||||||
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
|
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
|
||||||
field_commit_logs_encoding: Encodering van commit berichten
|
field_commit_logs_encoding: Encodering van commit berichten
|
||||||
field_scm_path_encoding: Path encoding
|
field_scm_path_encoding: Path encoding
|
||||||
text_scm_path_encoding_note: "Default: UTF-8"
|
text_scm_path_encoding_note: "Standaard: UTF-8"
|
||||||
field_path_to_repository: Path to repository
|
field_path_to_repository: Path to repository
|
||||||
field_root_directory: Root directory
|
field_root_directory: Root directory
|
||||||
field_cvs_module: Module
|
field_cvs_module: Module
|
||||||
|
|||||||
+225
-223
@@ -114,7 +114,7 @@
|
|||||||
greater_than_start_date: "må være større enn startdato"
|
greater_than_start_date: "må være større enn startdato"
|
||||||
not_same_project: "hører ikke til samme prosjekt"
|
not_same_project: "hører ikke til samme prosjekt"
|
||||||
circular_dependency: "Denne relasjonen ville lagd en sirkulær avhengighet"
|
circular_dependency: "Denne relasjonen ville lagd en sirkulær avhengighet"
|
||||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
cant_link_an_issue_with_a_descendant: "En sak kan ikke kobles mot en av sine undersaker"
|
||||||
|
|
||||||
|
|
||||||
actionview_instancetag_blank_option: Vennligst velg
|
actionview_instancetag_blank_option: Vennligst velg
|
||||||
@@ -212,7 +212,7 @@
|
|||||||
field_role: Rolle
|
field_role: Rolle
|
||||||
field_homepage: Hjemmeside
|
field_homepage: Hjemmeside
|
||||||
field_is_public: Offentlig
|
field_is_public: Offentlig
|
||||||
field_parent: Underprosjekt til
|
field_parent: Underprosjekt av
|
||||||
field_is_in_roadmap: Vises i veikart
|
field_is_in_roadmap: Vises i veikart
|
||||||
field_login: Brukernavn
|
field_login: Brukernavn
|
||||||
field_mail_notification: E-post-varsling
|
field_mail_notification: E-post-varsling
|
||||||
@@ -236,8 +236,8 @@
|
|||||||
field_onthefly: On-the-fly brukeropprettelse
|
field_onthefly: On-the-fly brukeropprettelse
|
||||||
field_start_date: Start
|
field_start_date: Start
|
||||||
field_done_ratio: "% Ferdig"
|
field_done_ratio: "% Ferdig"
|
||||||
field_auth_source: Autentifikasjonsmodus
|
field_auth_source: Autentiseringskilde
|
||||||
field_hide_mail: Skjul min e-post-adresse
|
field_hide_mail: Skjul min epost-adresse
|
||||||
field_comments: Kommentarer
|
field_comments: Kommentarer
|
||||||
field_url: URL
|
field_url: URL
|
||||||
field_start_page: Startside
|
field_start_page: Startside
|
||||||
@@ -247,7 +247,7 @@
|
|||||||
field_spent_on: Dato
|
field_spent_on: Dato
|
||||||
field_identifier: Identifikasjon
|
field_identifier: Identifikasjon
|
||||||
field_is_filter: Brukes som filter
|
field_is_filter: Brukes som filter
|
||||||
field_issue_to: Relatert saker
|
field_issue_to: Relaterte saker
|
||||||
field_delay: Forsinkelse
|
field_delay: Forsinkelse
|
||||||
field_assignable: Saker kan tildeles denne rollen
|
field_assignable: Saker kan tildeles denne rollen
|
||||||
field_redirect_existing_links: Viderekoble eksisterende lenker
|
field_redirect_existing_links: Viderekoble eksisterende lenker
|
||||||
@@ -266,24 +266,24 @@
|
|||||||
setting_self_registration: Selvregistrering
|
setting_self_registration: Selvregistrering
|
||||||
setting_attachment_max_size: Maks. størrelse vedlegg
|
setting_attachment_max_size: Maks. størrelse vedlegg
|
||||||
setting_issues_export_limit: Eksportgrense for saker
|
setting_issues_export_limit: Eksportgrense for saker
|
||||||
setting_mail_from: Avsenders e-post
|
setting_mail_from: Avsenders epost
|
||||||
setting_bcc_recipients: Blindkopi (bcc) til mottakere
|
setting_bcc_recipients: Blindkopi (bcc) til mottakere
|
||||||
setting_host_name: Vertsnavn
|
setting_host_name: Vertsnavn
|
||||||
setting_text_formatting: Tekstformattering
|
setting_text_formatting: Tekstformattering
|
||||||
setting_wiki_compression: Komprimering av Wiki-historikk
|
setting_wiki_compression: Komprimering av Wiki-historikk
|
||||||
setting_feeds_limit: Innholdsgrense for Feed
|
setting_feeds_limit: Innholdsgrense for Feed
|
||||||
setting_default_projects_public: Nye prosjekter er offentlige som standard
|
setting_default_projects_public: Nye prosjekter er offentlige som standard
|
||||||
setting_autofetch_changesets: Autohenting av innsendinger
|
setting_autofetch_changesets: Autohenting av endringssett
|
||||||
setting_sys_api_enabled: Aktiver webservice for depot-administrasjon
|
setting_sys_api_enabled: Aktiver webservice for depot-administrasjon
|
||||||
setting_commit_ref_keywords: Nøkkelord for referanse
|
setting_commit_ref_keywords: Nøkkelord for referanse
|
||||||
setting_commit_fix_keywords: Nøkkelord for retting
|
setting_commit_fix_keywords: Nøkkelord for retting
|
||||||
setting_autologin: Autoinnlogging
|
setting_autologin: Autoinnlogging
|
||||||
setting_date_format: Datoformat
|
setting_date_format: Datoformat
|
||||||
setting_time_format: Tidsformat
|
setting_time_format: Tidsformat
|
||||||
setting_cross_project_issue_relations: Tillat saksrelasjoner mellom prosjekter
|
setting_cross_project_issue_relations: Tillat saksrelasjoner på kryss av prosjekter
|
||||||
setting_issue_list_default_columns: Standardkolonner vist i sakslisten
|
setting_issue_list_default_columns: Standardkolonner vist i sakslisten
|
||||||
setting_repositories_encodings: Depot-tegnsett
|
setting_repositories_encodings: Depot-tegnsett
|
||||||
setting_emails_footer: E-post-signatur
|
setting_emails_footer: Epost-signatur
|
||||||
setting_protocol: Protokoll
|
setting_protocol: Protokoll
|
||||||
setting_per_page_options: Alternativer, objekter pr. side
|
setting_per_page_options: Alternativer, objekter pr. side
|
||||||
setting_user_format: Visningsformat, brukere
|
setting_user_format: Visningsformat, brukere
|
||||||
@@ -291,8 +291,8 @@
|
|||||||
setting_display_subprojects_issues: Vis saker fra underprosjekter på hovedprosjekt som standard
|
setting_display_subprojects_issues: Vis saker fra underprosjekter på hovedprosjekt som standard
|
||||||
setting_enabled_scm: Aktiviserte SCM
|
setting_enabled_scm: Aktiviserte SCM
|
||||||
|
|
||||||
project_module_issue_tracking: Sakssporing
|
project_module_issue_tracking: Sakshåndtering
|
||||||
project_module_time_tracking: Tidssporing
|
project_module_time_tracking: Tidsregistrering
|
||||||
project_module_news: Nyheter
|
project_module_news: Nyheter
|
||||||
project_module_documents: Dokumenter
|
project_module_documents: Dokumenter
|
||||||
project_module_files: Filer
|
project_module_files: Filer
|
||||||
@@ -326,7 +326,7 @@
|
|||||||
label_role: Rolle
|
label_role: Rolle
|
||||||
label_role_plural: Roller
|
label_role_plural: Roller
|
||||||
label_role_new: Ny rolle
|
label_role_new: Ny rolle
|
||||||
label_role_and_permissions: Roller og tillatelser
|
label_role_and_permissions: Roller og rettigheter
|
||||||
label_member: Medlem
|
label_member: Medlem
|
||||||
label_member_new: Nytt medlem
|
label_member_new: Nytt medlem
|
||||||
label_member_plural: Medlemmer
|
label_member_plural: Medlemmer
|
||||||
@@ -343,7 +343,7 @@
|
|||||||
label_custom_field: Eget felt
|
label_custom_field: Eget felt
|
||||||
label_custom_field_plural: Egne felt
|
label_custom_field_plural: Egne felt
|
||||||
label_custom_field_new: Nytt eget felt
|
label_custom_field_new: Nytt eget felt
|
||||||
label_enumerations: Kodelister
|
label_enumerations: Listeverdier
|
||||||
label_enumeration_new: Ny verdi
|
label_enumeration_new: Ny verdi
|
||||||
label_information: Informasjon
|
label_information: Informasjon
|
||||||
label_information_plural: Informasjon
|
label_information_plural: Informasjon
|
||||||
@@ -367,10 +367,10 @@
|
|||||||
label_new: Ny
|
label_new: Ny
|
||||||
label_logged_as: Innlogget som
|
label_logged_as: Innlogget som
|
||||||
label_environment: Miljø
|
label_environment: Miljø
|
||||||
label_authentication: Autentifikasjon
|
label_authentication: Autentisering
|
||||||
label_auth_source: Autentifikasjonsmodus
|
label_auth_source: Autentiseringskilde
|
||||||
label_auth_source_new: Ny autentifikasjonmodus
|
label_auth_source_new: Ny autentiseringskilde
|
||||||
label_auth_source_plural: Autentifikasjonsmoduser
|
label_auth_source_plural: Autentiseringskilder
|
||||||
label_subproject_plural: Underprosjekter
|
label_subproject_plural: Underprosjekter
|
||||||
label_and_its_subprojects: "%{value} og dets underprosjekter"
|
label_and_its_subprojects: "%{value} og dets underprosjekter"
|
||||||
label_min_max_length: Min.-maks. lengde
|
label_min_max_length: Min.-maks. lengde
|
||||||
@@ -423,13 +423,13 @@
|
|||||||
one: 1 åpen
|
one: 1 åpen
|
||||||
other: "%{count} åpne"
|
other: "%{count} åpne"
|
||||||
label_x_closed_issues_abbr:
|
label_x_closed_issues_abbr:
|
||||||
zero: 0 lukka
|
zero: 0 lukket
|
||||||
one: 1 lukka
|
one: 1 lukket
|
||||||
other: "%{count} lukka"
|
other: "%{count} lukket"
|
||||||
label_total: Totalt
|
label_total: Totalt
|
||||||
label_permissions: Godkjenninger
|
label_permissions: Rettigheter
|
||||||
label_current_status: Nåværende status
|
label_current_status: Nåværende status
|
||||||
label_new_statuses_allowed: Tillatte nye statuser
|
label_new_statuses_allowed: Tillate nye statuser
|
||||||
label_all: alle
|
label_all: alle
|
||||||
label_none: ingen
|
label_none: ingen
|
||||||
label_nobody: ingen
|
label_nobody: ingen
|
||||||
@@ -437,7 +437,7 @@
|
|||||||
label_previous: Forrige
|
label_previous: Forrige
|
||||||
label_used_by: Brukt av
|
label_used_by: Brukt av
|
||||||
label_details: Detaljer
|
label_details: Detaljer
|
||||||
label_add_note: Legg til notis
|
label_add_note: Legg til notat
|
||||||
label_per_page: Pr. side
|
label_per_page: Pr. side
|
||||||
label_calendar: Kalender
|
label_calendar: Kalender
|
||||||
label_months_from: måneder fra
|
label_months_from: måneder fra
|
||||||
@@ -449,7 +449,7 @@
|
|||||||
label_comment: Kommentar
|
label_comment: Kommentar
|
||||||
label_comment_plural: Kommentarer
|
label_comment_plural: Kommentarer
|
||||||
label_x_comments:
|
label_x_comments:
|
||||||
zero: no kommentarer
|
zero: ingen kommentarer
|
||||||
one: 1 kommentar
|
one: 1 kommentar
|
||||||
other: "%{count} kommentarer"
|
other: "%{count} kommentarer"
|
||||||
label_comment_add: Legg til kommentar
|
label_comment_add: Legg til kommentar
|
||||||
@@ -518,11 +518,11 @@
|
|||||||
label_preview: Forhåndsvis
|
label_preview: Forhåndsvis
|
||||||
label_feed_plural: Feeder
|
label_feed_plural: Feeder
|
||||||
label_changes_details: Detaljer om alle endringer
|
label_changes_details: Detaljer om alle endringer
|
||||||
label_issue_tracking: Sakssporing
|
label_issue_tracking: Sakshåndtering
|
||||||
label_spent_time: Brukt tid
|
label_spent_time: Brukt tid
|
||||||
label_f_hour: "%{value} time"
|
label_f_hour: "%{value} time"
|
||||||
label_f_hour_plural: "%{value} timer"
|
label_f_hour_plural: "%{value} timer"
|
||||||
label_time_tracking: Tidssporing
|
label_time_tracking: Tidsregistrering
|
||||||
label_change_plural: Endringer
|
label_change_plural: Endringer
|
||||||
label_statistics: Statistikk
|
label_statistics: Statistikk
|
||||||
label_commits_per_month: Innsendinger pr. måned
|
label_commits_per_month: Innsendinger pr. måned
|
||||||
@@ -532,7 +532,7 @@
|
|||||||
label_diff_side_by_side: side ved side
|
label_diff_side_by_side: side ved side
|
||||||
label_options: Alternativer
|
label_options: Alternativer
|
||||||
label_copy_workflow_from: Kopier arbeidsflyt fra
|
label_copy_workflow_from: Kopier arbeidsflyt fra
|
||||||
label_permissions_report: Godkjenningsrapport
|
label_permissions_report: Rettighetsrapport
|
||||||
label_watched_issues: Overvåkede saker
|
label_watched_issues: Overvåkede saker
|
||||||
label_related_issues: Relaterte saker
|
label_related_issues: Relaterte saker
|
||||||
label_applied_status: Gitt status
|
label_applied_status: Gitt status
|
||||||
@@ -571,7 +571,7 @@
|
|||||||
label_date_to: Til
|
label_date_to: Til
|
||||||
label_language_based: Basert på brukerens språk
|
label_language_based: Basert på brukerens språk
|
||||||
label_sort_by: "Sorter etter %{value}"
|
label_sort_by: "Sorter etter %{value}"
|
||||||
label_send_test_email: Send en e-post-test
|
label_send_test_email: Send en epost-test
|
||||||
label_feeds_access_key_created_on: "RSS tilgangsnøkkel opprettet for %{value} siden"
|
label_feeds_access_key_created_on: "RSS tilgangsnøkkel opprettet for %{value} siden"
|
||||||
label_module_plural: Moduler
|
label_module_plural: Moduler
|
||||||
label_added_time_by: "Lagt til av %{author} for %{age} siden"
|
label_added_time_by: "Lagt til av %{author} for %{age} siden"
|
||||||
@@ -598,7 +598,7 @@
|
|||||||
label_more: Mer
|
label_more: Mer
|
||||||
label_scm: SCM
|
label_scm: SCM
|
||||||
label_plugins: Tillegg
|
label_plugins: Tillegg
|
||||||
label_ldap_authentication: LDAP-autentifikasjon
|
label_ldap_authentication: LDAP-autentisering
|
||||||
label_downloads_abbr: Nedl.
|
label_downloads_abbr: Nedl.
|
||||||
label_optional_description: Valgfri beskrivelse
|
label_optional_description: Valgfri beskrivelse
|
||||||
label_add_another_file: Legg til en fil til
|
label_add_another_file: Legg til en fil til
|
||||||
@@ -650,7 +650,7 @@
|
|||||||
status_locked: låst
|
status_locked: låst
|
||||||
|
|
||||||
text_select_mail_notifications: Velg hendelser som skal varsles med e-post.
|
text_select_mail_notifications: Velg hendelser som skal varsles med e-post.
|
||||||
text_regexp_info: eg. ^[A-Z0-9]+$
|
text_regexp_info: f.eks. ^[A-Z0-9]+$
|
||||||
text_min_max_length_info: 0 betyr ingen begrensning
|
text_min_max_length_info: 0 betyr ingen begrensning
|
||||||
text_project_destroy_confirmation: Er du sikker på at du vil slette dette prosjekter og alle relatert data ?
|
text_project_destroy_confirmation: Er du sikker på at du vil slette dette prosjekter og alle relatert data ?
|
||||||
text_subprojects_destroy_warning: "Underprojekt(ene): %{value} vil også bli slettet."
|
text_subprojects_destroy_warning: "Underprojekt(ene): %{value} vil også bli slettet."
|
||||||
@@ -667,8 +667,8 @@
|
|||||||
text_unallowed_characters: Ugyldige tegn
|
text_unallowed_characters: Ugyldige tegn
|
||||||
text_comma_separated: Flere verdier tillat (kommaseparert).
|
text_comma_separated: Flere verdier tillat (kommaseparert).
|
||||||
text_issues_ref_in_commit_messages: Referering og retting av saker i innsendingsmelding
|
text_issues_ref_in_commit_messages: Referering og retting av saker i innsendingsmelding
|
||||||
text_issue_added: "Issue %{id} has been reported by %{author}."
|
text_issue_added: "Sak %{id} er innrapportert av %{author}."
|
||||||
text_issue_updated: "Issue %{id} has been updated by %{author}."
|
text_issue_updated: "Sak %{id} er oppdatert av %{author}."
|
||||||
text_wiki_destroy_confirmation: Er du sikker på at du vil slette denne wikien og alt innholdet ?
|
text_wiki_destroy_confirmation: Er du sikker på at du vil slette denne wikien og alt innholdet ?
|
||||||
text_issue_category_destroy_question: "Noen saker (%{count}) er lagt til i denne kategorien. Hva vil du gjøre ?"
|
text_issue_category_destroy_question: "Noen saker (%{count}) er lagt til i denne kategorien. Hva vil du gjøre ?"
|
||||||
text_issue_category_destroy_assignments: Fjern bruk av kategorier
|
text_issue_category_destroy_assignments: Fjern bruk av kategorier
|
||||||
@@ -695,12 +695,12 @@
|
|||||||
default_tracker_feature: Funksjon
|
default_tracker_feature: Funksjon
|
||||||
default_tracker_support: Support
|
default_tracker_support: Support
|
||||||
default_issue_status_new: Ny
|
default_issue_status_new: Ny
|
||||||
default_issue_status_in_progress: In Progress
|
default_issue_status_in_progress: Pågår
|
||||||
default_issue_status_resolved: Avklart
|
default_issue_status_resolved: Avklart
|
||||||
default_issue_status_feedback: Tilbakemelding
|
default_issue_status_feedback: Tilbakemelding
|
||||||
default_issue_status_closed: Lukket
|
default_issue_status_closed: Lukket
|
||||||
default_issue_status_rejected: Avvist
|
default_issue_status_rejected: Avvist
|
||||||
default_doc_category_user: Bruker-dokumentasjon
|
default_doc_category_user: Brukerdokumentasjon
|
||||||
default_doc_category_tech: Teknisk dokumentasjon
|
default_doc_category_tech: Teknisk dokumentasjon
|
||||||
default_priority_low: Lav
|
default_priority_low: Lav
|
||||||
default_priority_normal: Normal
|
default_priority_normal: Normal
|
||||||
@@ -711,16 +711,16 @@
|
|||||||
default_activity_development: Utvikling
|
default_activity_development: Utvikling
|
||||||
|
|
||||||
enumeration_issue_priorities: Sakssprioriteringer
|
enumeration_issue_priorities: Sakssprioriteringer
|
||||||
enumeration_doc_categories: Dokument-kategorier
|
enumeration_doc_categories: Dokumentkategorier
|
||||||
enumeration_activities: Aktiviteter (tidssporing)
|
enumeration_activities: Aktiviteter (tidsregistrering)
|
||||||
text_enumeration_category_reassign_to: 'Endre dem til denne verdien:'
|
text_enumeration_category_reassign_to: 'Endre dem til denne verdien:'
|
||||||
text_enumeration_destroy_question: "%{count} objekter er endret til denne verdien."
|
text_enumeration_destroy_question: "%{count} objekter er endret til denne verdien."
|
||||||
label_incoming_emails: Innkommende e-post
|
label_incoming_emails: Innkommende e-post
|
||||||
label_generate_key: Generer en nøkkel
|
label_generate_key: Generer en nøkkel
|
||||||
setting_mail_handler_api_enabled: Skru på WS for innkommende e-post
|
setting_mail_handler_api_enabled: Skru på WS for innkommende epost
|
||||||
setting_mail_handler_api_key: API-nøkkel
|
setting_mail_handler_api_key: API-nøkkel
|
||||||
text_email_delivery_not_configured: "Levering av e-post er ikke satt opp, og varsler er skrudd av.\nStill inn din SMTP-tjener i config/configuration.yml og start programmet på nytt for å skru det på."
|
text_email_delivery_not_configured: "Levering av epost er ikke satt opp, og varsler er skrudd av.\nStill inn din SMTP-tjener i config/configuration.yml og start programmet på nytt for å skru det på."
|
||||||
field_parent_title: Foreldreside
|
field_parent_title: Overordnet side
|
||||||
label_issue_watchers: Overvåkere
|
label_issue_watchers: Overvåkere
|
||||||
button_quote: Sitat
|
button_quote: Sitat
|
||||||
setting_sequential_project_identifiers: Generer sekvensielle prosjekt-IDer
|
setting_sequential_project_identifiers: Generer sekvensielle prosjekt-IDer
|
||||||
@@ -731,39 +731,39 @@
|
|||||||
permission_view_files: Vise filer
|
permission_view_files: Vise filer
|
||||||
permission_edit_issues: Redigere saker
|
permission_edit_issues: Redigere saker
|
||||||
permission_edit_own_time_entries: Redigere egne timelister
|
permission_edit_own_time_entries: Redigere egne timelister
|
||||||
permission_manage_public_queries: Behandle delte søk
|
permission_manage_public_queries: Administrere delte søk
|
||||||
permission_add_issues: Legge inn saker
|
permission_add_issues: Legge inn saker
|
||||||
permission_log_time: Loggføre timer
|
permission_log_time: Loggføre timer
|
||||||
permission_view_changesets: Vise endringssett
|
permission_view_changesets: Vise endringssett
|
||||||
permission_view_time_entries: Vise brukte timer
|
permission_view_time_entries: Vise brukte timer
|
||||||
permission_manage_versions: Behandle versjoner
|
permission_manage_versions: Administrere versjoner
|
||||||
permission_manage_wiki: Behandle wiki
|
permission_manage_wiki: Administrere wiki
|
||||||
permission_manage_categories: Behandle kategorier for saker
|
permission_manage_categories: Administrere kategorier for saker
|
||||||
permission_protect_wiki_pages: Beskytte wiki-sider
|
permission_protect_wiki_pages: Beskytte wiki-sider
|
||||||
permission_comment_news: Kommentere nyheter
|
permission_comment_news: Kommentere nyheter
|
||||||
permission_delete_messages: Slette meldinger
|
permission_delete_messages: Slette meldinger
|
||||||
permission_select_project_modules: Velge prosjekt-moduler
|
permission_select_project_modules: Velge prosjektmoduler
|
||||||
permission_manage_documents: Behandle dokumenter
|
permission_manage_documents: Administrere dokumenter
|
||||||
permission_edit_wiki_pages: Redigere wiki-sider
|
permission_edit_wiki_pages: Redigere wiki-sider
|
||||||
permission_add_issue_watchers: Legge til overvåkere
|
permission_add_issue_watchers: Legge til overvåkere
|
||||||
permission_view_gantt: Vise gantt-diagram
|
permission_view_gantt: Vise gantt-diagram
|
||||||
permission_move_issues: Flytte saker
|
permission_move_issues: Flytte saker
|
||||||
permission_manage_issue_relations: Behandle saksrelasjoner
|
permission_manage_issue_relations: Administrere saksrelasjoner
|
||||||
permission_delete_wiki_pages: Slette wiki-sider
|
permission_delete_wiki_pages: Slette wiki-sider
|
||||||
permission_manage_boards: Behandle forum
|
permission_manage_boards: Administrere forum
|
||||||
permission_delete_wiki_pages_attachments: Slette vedlegg
|
permission_delete_wiki_pages_attachments: Slette vedlegg
|
||||||
permission_view_wiki_edits: Vise wiki-historie
|
permission_view_wiki_edits: Vise wiki-historie
|
||||||
permission_add_messages: Sende meldinger
|
permission_add_messages: Sende meldinger
|
||||||
permission_view_messages: Vise meldinger
|
permission_view_messages: Vise meldinger
|
||||||
permission_manage_files: Behandle filer
|
permission_manage_files: Administrere filer
|
||||||
permission_edit_issue_notes: Redigere notater
|
permission_edit_issue_notes: Redigere notater
|
||||||
permission_manage_news: Behandle nyheter
|
permission_manage_news: Administrere nyheter
|
||||||
permission_view_calendar: Vise kalender
|
permission_view_calendar: Vise kalender
|
||||||
permission_manage_members: Behandle medlemmer
|
permission_manage_members: Administrere medlemmer
|
||||||
permission_edit_messages: Redigere meldinger
|
permission_edit_messages: Redigere meldinger
|
||||||
permission_delete_issues: Slette saker
|
permission_delete_issues: Slette saker
|
||||||
permission_view_issue_watchers: Vise liste over overvåkere
|
permission_view_issue_watchers: Vise liste over overvåkere
|
||||||
permission_manage_repository: Behandle depot
|
permission_manage_repository: Administrere depot
|
||||||
permission_commit_access: Tilgang til innsending
|
permission_commit_access: Tilgang til innsending
|
||||||
permission_browse_repository: Bla gjennom depot
|
permission_browse_repository: Bla gjennom depot
|
||||||
permission_view_documents: Vise dokumenter
|
permission_view_documents: Vise dokumenter
|
||||||
@@ -777,189 +777,191 @@
|
|||||||
setting_gravatar_enabled: Bruk Gravatar-brukerikoner
|
setting_gravatar_enabled: Bruk Gravatar-brukerikoner
|
||||||
label_example: Eksempel
|
label_example: Eksempel
|
||||||
text_repository_usernames_mapping: "Select ou update the Redmine user mapped to each username found in the repository log.\nUsers with the same Redmine and repository username or email are automatically mapped."
|
text_repository_usernames_mapping: "Select ou update the Redmine user mapped to each username found in the repository log.\nUsers with the same Redmine and repository username or email are automatically mapped."
|
||||||
permission_edit_own_messages: Edit own messages
|
permission_edit_own_messages: Rediger egne meldinger
|
||||||
permission_delete_own_messages: Delete own messages
|
permission_delete_own_messages: Slett egne meldinger
|
||||||
label_user_activity: "%{value}'s activity"
|
label_user_activity: "%{value}s aktivitet"
|
||||||
label_updated_time_by: "Updated by %{author} %{age} ago"
|
label_updated_time_by: "Oppdatert av %{author} for %{age} siden"
|
||||||
text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
|
text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
|
||||||
setting_diff_max_lines_displayed: Max number of diff lines displayed
|
setting_diff_max_lines_displayed: Max number of diff lines displayed
|
||||||
text_plugin_assets_writable: Plugin assets directory writable
|
text_plugin_assets_writable: Plugin assets directory writable
|
||||||
warning_attachments_not_saved: "%{count} file(s) could not be saved."
|
warning_attachments_not_saved: "%{count} fil(er) kunne ikke lagres."
|
||||||
button_create_and_continue: Create and continue
|
button_create_and_continue: Opprett og fortsett
|
||||||
text_custom_field_possible_values_info: 'One line for each value'
|
text_custom_field_possible_values_info: 'En linje for hver verdi'
|
||||||
label_display: Display
|
label_display: Visning
|
||||||
field_editable: Editable
|
field_editable: Redigerbar
|
||||||
setting_repository_log_display_limit: Maximum number of revisions displayed on file log
|
setting_repository_log_display_limit: Maks antall revisjoner vist i fil-loggen
|
||||||
setting_file_max_size_displayed: Max size of text files displayed inline
|
setting_file_max_size_displayed: Max size of text files displayed inline
|
||||||
field_watcher: Watcher
|
field_watcher: Overvåker
|
||||||
setting_openid: Allow OpenID login and registration
|
setting_openid: Tillat OpenID innlogging og registrering
|
||||||
field_identity_url: OpenID URL
|
field_identity_url: OpenID URL
|
||||||
label_login_with_open_id_option: or login with OpenID
|
label_login_with_open_id_option: eller logg inn med OpenID
|
||||||
field_content: Content
|
field_content: Innhold
|
||||||
label_descending: Descending
|
label_descending: Synkende
|
||||||
label_sort: Sort
|
label_sort: Sorter
|
||||||
label_ascending: Ascending
|
label_ascending: Stigende
|
||||||
label_date_from_to: From %{start} to %{end}
|
label_date_from_to: Fra %{start} til %{end}
|
||||||
label_greater_or_equal: ">="
|
label_greater_or_equal: ">="
|
||||||
label_less_or_equal: <=
|
label_less_or_equal: <=
|
||||||
text_wiki_page_destroy_question: This page has %{descendants} child page(s) and descendant(s). What do you want to do?
|
text_wiki_page_destroy_question: Denne siden har %{descendants} underside(r). Hva ønsker du å gjøre?
|
||||||
text_wiki_page_reassign_children: Reassign child pages to this parent page
|
text_wiki_page_reassign_children: Tilknytt undersider til denne overordnede siden
|
||||||
text_wiki_page_nullify_children: Keep child pages as root pages
|
text_wiki_page_nullify_children: Behold undersider som rotsider
|
||||||
text_wiki_page_destroy_children: Delete child pages and all their descendants
|
text_wiki_page_destroy_children: Slett undersider og alle deres underliggende sider
|
||||||
setting_password_min_length: Minimum password length
|
setting_password_min_length: Minimum passordlengde
|
||||||
field_group_by: Group results by
|
field_group_by: Grupper resultater etter
|
||||||
mail_subject_wiki_content_updated: "'%{id}' wiki page has been updated"
|
mail_subject_wiki_content_updated: "Wiki-side '%{id}' er oppdatert"
|
||||||
label_wiki_content_added: Wiki page added
|
label_wiki_content_added: Wiki-side opprettet
|
||||||
mail_subject_wiki_content_added: "'%{id}' wiki page has been added"
|
mail_subject_wiki_content_added: "Wiki-side '%{id}' er opprettet"
|
||||||
mail_body_wiki_content_added: The '%{id}' wiki page has been added by %{author}.
|
mail_body_wiki_content_added: Wiki-siden '%{id}' ble opprettet av %{author}.
|
||||||
label_wiki_content_updated: Wiki page updated
|
label_wiki_content_updated: Wiki-side oppdatert
|
||||||
mail_body_wiki_content_updated: The '%{id}' wiki page has been updated by %{author}.
|
mail_body_wiki_content_updated: Wiki-siden '%{id}' ble oppdatert av %{author}.
|
||||||
permission_add_project: Create project
|
permission_add_project: Opprett prosjekt
|
||||||
setting_new_project_user_role_id: Role given to a non-admin user who creates a project
|
setting_new_project_user_role_id: Rolle gitt en ikke-administratorbruker som oppretter et prosjekt
|
||||||
label_view_all_revisions: View all revisions
|
label_view_all_revisions: Se alle revisjoner
|
||||||
label_tag: Tag
|
label_tag: Tag
|
||||||
label_branch: Branch
|
label_branch: Gren
|
||||||
error_no_tracker_in_project: No tracker is associated to this project. Please check the Project settings.
|
error_no_tracker_in_project: Ingen sakstyper er tilknyttet dette prosjektet. Vennligst kontroller prosjektets innstillinger.
|
||||||
error_no_default_issue_status: No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").
|
error_no_default_issue_status: Ingen standard saksstatus er angitt. Vennligst kontroller konfigurasjonen (Gå til "Administrasjon -> Saksstatuser").
|
||||||
text_journal_changed: "%{label} changed from %{old} to %{new}"
|
text_journal_changed: "%{label} endret fra %{old} til %{new}"
|
||||||
text_journal_set_to: "%{label} set to %{value}"
|
text_journal_set_to: "%{label} satt til %{value}"
|
||||||
text_journal_deleted: "%{label} deleted (%{old})"
|
text_journal_deleted: "%{label} slettet (%{old})"
|
||||||
label_group_plural: Groups
|
label_group_plural: Grupper
|
||||||
label_group: Group
|
label_group: Gruppe
|
||||||
label_group_new: New group
|
label_group_new: Ny gruppe
|
||||||
label_time_entry_plural: Spent time
|
label_time_entry_plural: Brukt tid
|
||||||
text_journal_added: "%{label} %{value} added"
|
text_journal_added: "%{label} %{value} lagt til"
|
||||||
field_active: Active
|
field_active: Aktiv
|
||||||
enumeration_system_activity: System Activity
|
enumeration_system_activity: Systemaktivitet
|
||||||
permission_delete_issue_watchers: Delete watchers
|
permission_delete_issue_watchers: Slett overvåkere
|
||||||
version_status_closed: closed
|
version_status_closed: stengt
|
||||||
version_status_locked: locked
|
version_status_locked: låst
|
||||||
version_status_open: open
|
version_status_open: åpen
|
||||||
error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened
|
error_can_not_reopen_issue_on_closed_version: En sak tilknyttet en stengt versjon kan ikke gjenåpnes.
|
||||||
label_user_anonymous: Anonymous
|
label_user_anonymous: Anonym
|
||||||
button_move_and_follow: Move and follow
|
button_move_and_follow: Flytt og følg etter
|
||||||
setting_default_projects_modules: Default enabled modules for new projects
|
setting_default_projects_modules: Standard aktiverte moduler for nye prosjekter
|
||||||
setting_gravatar_default: Default Gravatar image
|
setting_gravatar_default: Standard Gravatar-bilde
|
||||||
field_sharing: Sharing
|
field_sharing: Deling
|
||||||
label_version_sharing_hierarchy: With project hierarchy
|
label_version_sharing_hierarchy: Med prosjekt-hierarki
|
||||||
label_version_sharing_system: With all projects
|
label_version_sharing_system: Med alle prosjekter
|
||||||
label_version_sharing_descendants: With subprojects
|
label_version_sharing_descendants: Med underprosjekter
|
||||||
label_version_sharing_tree: With project tree
|
label_version_sharing_tree: Med prosjekt-tre
|
||||||
label_version_sharing_none: Not shared
|
label_version_sharing_none: Ikke delt
|
||||||
error_can_not_archive_project: This project can not be archived
|
error_can_not_archive_project: Dette prosjektet kan ikke arkiveres
|
||||||
button_duplicate: Duplicate
|
button_duplicate: Duplikat
|
||||||
button_copy_and_follow: Copy and follow
|
button_copy_and_follow: Kopier og følg etter
|
||||||
label_copy_source: Source
|
label_copy_source: Kilde
|
||||||
setting_issue_done_ratio: Calculate the issue done ratio with
|
setting_issue_done_ratio: Kalkuler ferdigstillingsprosent ut i fra
|
||||||
setting_issue_done_ratio_issue_status: Use the issue status
|
setting_issue_done_ratio_issue_status: Bruk saksstatuser
|
||||||
error_issue_done_ratios_not_updated: Issue done ratios not updated.
|
error_issue_done_ratios_not_updated: Ferdigstillingsprosent oppdateres ikke.
|
||||||
error_workflow_copy_target: Please select target tracker(s) and role(s)
|
error_workflow_copy_target: Vennligst velg sakstype(r) og rolle(r)
|
||||||
setting_issue_done_ratio_issue_field: Use the issue field
|
setting_issue_done_ratio_issue_field: Bruk felt fra saker
|
||||||
label_copy_same_as_target: Same as target
|
label_copy_same_as_target: Samme som mål
|
||||||
label_copy_target: Target
|
label_copy_target: Mål
|
||||||
notice_issue_done_ratios_updated: Issue done ratios updated.
|
notice_issue_done_ratios_updated: Ferdigstillingsprosent oppdatert.
|
||||||
error_workflow_copy_source: Please select a source tracker or role
|
error_workflow_copy_source: Vennligst velg en kilde-sakstype eller rolle.
|
||||||
label_update_issue_done_ratios: Update issue done ratios
|
label_update_issue_done_ratios: Oppdatert ferdigstillingsprosent
|
||||||
setting_start_of_week: Start calendars on
|
setting_start_of_week: Start kalender på
|
||||||
permission_view_issues: View Issues
|
permission_view_issues: Se på saker
|
||||||
label_display_used_statuses_only: Only display statuses that are used by this tracker
|
label_display_used_statuses_only: Vis kun statuser som brukes av denne sakstypen
|
||||||
label_revision_id: Revision %{value}
|
label_revision_id: Revision %{value}
|
||||||
label_api_access_key: API access key
|
label_api_access_key: API tilgangsnøkkel
|
||||||
label_api_access_key_created_on: API access key created %{value} ago
|
label_api_access_key_created_on: API tilgangsnøkkel opprettet for %{value} siden
|
||||||
label_feeds_access_key: RSS access key
|
label_feeds_access_key: RSS tilgangsnøkkel
|
||||||
notice_api_access_key_reseted: Your API access key was reset.
|
notice_api_access_key_reseted: Din API tilgangsnøkkel ble resatt.
|
||||||
setting_rest_api_enabled: Enable REST web service
|
setting_rest_api_enabled: Aktiver REST webservice
|
||||||
label_missing_api_access_key: Missing an API access key
|
label_missing_api_access_key: Mangler en API tilgangsnøkkel
|
||||||
label_missing_feeds_access_key: Missing a RSS access key
|
label_missing_feeds_access_key: Mangler en RSS tilgangsnøkkel
|
||||||
button_show: Show
|
button_show: Vis
|
||||||
text_line_separated: Multiple values allowed (one line for each value).
|
text_line_separated: Flere verdier er tillatt (en linje per verdi).
|
||||||
setting_mail_handler_body_delimiters: Truncate emails after one of these lines
|
setting_mail_handler_body_delimiters: Avkort epost etter en av disse linjene
|
||||||
permission_add_subprojects: Create subprojects
|
permission_add_subprojects: Opprett underprosjekt
|
||||||
label_subproject_new: New subproject
|
label_subproject_new: Nytt underprosjekt
|
||||||
text_own_membership_delete_confirmation: |-
|
text_own_membership_delete_confirmation: |-
|
||||||
You are about to remove some or all of your permissions and may no longer be able to edit this project after that.
|
Du er i ferd med å fjerne noen eller alle rettigheter og vil kanskje ikke være i stand til å redigere dette prosjektet etterpå.
|
||||||
Are you sure you want to continue?
|
Er du sikker på at du vil fortsette?
|
||||||
label_close_versions: Close completed versions
|
label_close_versions: Steng fullførte versjoner
|
||||||
label_board_sticky: Sticky
|
label_board_sticky: Fast
|
||||||
label_board_locked: Locked
|
label_board_locked: Låst
|
||||||
permission_export_wiki_pages: Export wiki pages
|
permission_export_wiki_pages: Eksporter wiki-sider
|
||||||
setting_cache_formatted_text: Cache formatted text
|
setting_cache_formatted_text: Mellomlagre formattert tekst
|
||||||
permission_manage_project_activities: Manage project activities
|
permission_manage_project_activities: Administrere prosjektaktiviteter
|
||||||
error_unable_delete_issue_status: Unable to delete issue status
|
error_unable_delete_issue_status: Kan ikke slette saksstatus
|
||||||
label_profile: Profile
|
label_profile: Profil
|
||||||
permission_manage_subtasks: Manage subtasks
|
permission_manage_subtasks: Administrere undersaker
|
||||||
field_parent_issue: Parent task
|
field_parent_issue: Overordnet sak
|
||||||
label_subtask_plural: Subtasks
|
label_subtask_plural: Undersaker
|
||||||
label_project_copy_notifications: Send email notifications during the project copy
|
label_project_copy_notifications: Send epost-varslinger under prosjektkopiering
|
||||||
error_can_not_delete_custom_field: Unable to delete custom field
|
error_can_not_delete_custom_field: Kan ikke slette eget felt
|
||||||
error_unable_to_connect: Unable to connect (%{value})
|
error_unable_to_connect: Kunne ikke koble til (%{value})
|
||||||
error_can_not_remove_role: This role is in use and can not be deleted.
|
error_can_not_remove_role: Denne rollen er i bruk og kan ikke slettes.
|
||||||
error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
|
error_can_not_delete_tracker: Denne sakstypen inneholder saker og kan ikke slettes.
|
||||||
field_principal: Principal
|
field_principal: Principal
|
||||||
label_my_page_block: My page block
|
label_my_page_block: Min side felt
|
||||||
notice_failed_to_save_members: "Failed to save member(s): %{errors}."
|
notice_failed_to_save_members: "Feil ved lagring av medlem(mer): %{errors}."
|
||||||
text_zoom_out: Zoom out
|
text_zoom_out: Zoom ut
|
||||||
text_zoom_in: Zoom in
|
text_zoom_in: Zoom inn
|
||||||
notice_unable_delete_time_entry: Unable to delete time log entry.
|
notice_unable_delete_time_entry: Kan ikke slette oppføring fra timeliste.
|
||||||
label_overall_spent_time: Overall spent time
|
label_overall_spent_time: All tidsbruk
|
||||||
field_time_entries: Log time
|
field_time_entries: Loggfør tid
|
||||||
project_module_gantt: Gantt
|
project_module_gantt: Gantt
|
||||||
project_module_calendar: Calendar
|
project_module_calendar: Kalender
|
||||||
button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
|
button_edit_associated_wikipage: "Rediger tilhørende Wiki-side: %{page_title}"
|
||||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
text_are_you_sure_with_children: Slett sak og alle undersaker?
|
||||||
field_text: Text field
|
field_text: Tekstfelt
|
||||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
label_user_mail_option_only_owner: Kun for ting jeg eier
|
||||||
setting_default_notification_option: Default notification option
|
setting_default_notification_option: Standardvalg for varslinger
|
||||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
label_user_mail_option_only_my_events: Kun for ting jeg overvåker eller er involvert i
|
||||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
label_user_mail_option_only_assigned: Kun for ting jeg er tildelt
|
||||||
label_user_mail_option_none: No events
|
label_user_mail_option_none: Ingen hendelser
|
||||||
field_member_of_group: Assignee's group
|
field_member_of_group: Den tildeltes gruppe
|
||||||
field_assigned_to_role: Assignee's role
|
field_assigned_to_role: Den tildeltes rolle
|
||||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
notice_not_authorized_archived_project: Prosjektet du forsøker å åpne er blitt arkivert.
|
||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Søk etter bruker eller gruppe:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Søk etter bruker:"
|
||||||
field_visible: Visible
|
field_visible: Synlig
|
||||||
setting_emails_header: Emails header
|
setting_emails_header: Eposthode
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Aktivitet for logget tid.
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Lagt til i endringssett %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Muliggjør loggføring av tid
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
notice_gantt_chart_truncated: Diagrammet ble avkortet fordi det overstiger det maksimale antall elementer som kan vises (%{max})
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
setting_gantt_items_limit: Maksimalt antall elementer vist på gantt-diagrammet
|
||||||
field_warn_on_leaving_unsaved: Warn me when leaving a page with unsaved text
|
field_warn_on_leaving_unsaved: Vis meg en advarsel når jeg forlater en side med ikke lagret tekst
|
||||||
text_warn_on_leaving_unsaved: The current page contains unsaved text that will be lost if you leave this page.
|
text_warn_on_leaving_unsaved: Den gjeldende siden inneholder tekst som ikke er lagret, som vil bli tapt hvis du forlater denne siden.
|
||||||
label_my_queries: My custom queries
|
label_my_queries: Mine egne spørringer
|
||||||
text_journal_changed_no_detail: "%{label} updated"
|
text_journal_changed_no_detail: "%{label} oppdatert"
|
||||||
label_news_comment_added: Comment added to a news
|
label_news_comment_added: Kommentar lagt til en nyhet
|
||||||
button_expand_all: Expand all
|
button_expand_all: Utvid alle
|
||||||
button_collapse_all: Collapse all
|
button_collapse_all: Kollaps alle
|
||||||
label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
|
label_additional_workflow_transitions_for_assignee: Ytterligere overganger tillatt når brukeren er sakens tildelte
|
||||||
label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
|
label_additional_workflow_transitions_for_author: Ytterligere overganger tillatt når brukeren er den som har opprettet saken
|
||||||
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
|
label_bulk_edit_selected_time_entries: Masserediger valgte timeliste-oppføringer
|
||||||
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
|
text_time_entries_destroy_confirmation: Er du sikker på du vil slette de(n) valgte timeliste-oppføringen(e)?
|
||||||
label_role_anonymous: Anonymous
|
label_role_anonymous: Anonym
|
||||||
label_role_non_member: Non member
|
label_role_non_member: Ikke medlem
|
||||||
label_issue_note_added: Note added
|
label_issue_note_added: Notat lagt til
|
||||||
label_issue_status_updated: Status updated
|
label_issue_status_updated: Status oppdatert
|
||||||
label_issue_priority_updated: Priority updated
|
label_issue_priority_updated: Prioritet oppdatert
|
||||||
label_issues_visibility_own: Issues created by or assigned to the user
|
label_issues_visibility_own: Saker opprettet av eller tildelt brukeren
|
||||||
field_issues_visibility: Issues visibility
|
field_issues_visibility: Synlighet på saker
|
||||||
label_issues_visibility_all: All issues
|
label_issues_visibility_all: Alle saker
|
||||||
permission_set_own_issues_private: Set own issues public or private
|
permission_set_own_issues_private: Gjør egne saker offentlige eller private
|
||||||
field_is_private: Private
|
field_is_private: Privat
|
||||||
permission_set_issues_private: Set issues public or private
|
permission_set_issues_private: Gjør saker offentlige eller private
|
||||||
label_issues_visibility_public: All non private issues
|
label_issues_visibility_public: Alle ikke-private saker
|
||||||
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
|
text_issues_destroy_descendants_confirmation: Dette vil også slette %{count} undersak(er).
|
||||||
field_commit_logs_encoding: Tegnkoding for innsendingsmeldinger
|
field_commit_logs_encoding: Tegnkoding for innsendingsmeldinger
|
||||||
field_scm_path_encoding: Path encoding
|
field_scm_path_encoding: Koding av sti
|
||||||
text_scm_path_encoding_note: "Default: UTF-8"
|
text_scm_path_encoding_note: "Standard: UTF-8"
|
||||||
field_path_to_repository: Path to repository
|
field_path_to_repository: Sti til depot
|
||||||
field_root_directory: Root directory
|
field_root_directory: Rotkatalog
|
||||||
field_cvs_module: Module
|
field_cvs_module: Modul
|
||||||
field_cvsroot: CVSROOT
|
field_cvsroot: CVSROOT
|
||||||
text_git_repository_note: Bare and local repository (e.g. /gitrepo, c:\gitrepo)
|
text_mercurial_repository_note: Lokalt depot (f.eks. /hgrepo, c:\hgrepo)
|
||||||
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
text_scm_command: Kommando
|
||||||
text_scm_command: Command
|
text_scm_command_version: Versjon
|
||||||
text_scm_command_version: Version
|
label_git_report_last_commit: Rapporter siste innsending for filer og kataloger
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
text_scm_config: Du kan konfigurere scm kommandoer i config/configuration.yml. Vennligst restart applikasjonen etter å ha redigert filen.
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
text_scm_command_not_available: Scm kommando er ikke tilgjengelig. Vennligst kontroller innstillingene i administrasjonspanelet.
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
|
text_git_repository_note: Depot er bart og lokalt (f.eks. /gitrepo, c:\gitrepo)
|
||||||
|
|
||||||
|
|||||||
@@ -961,7 +961,7 @@ pt-BR:
|
|||||||
setting_commit_logtime_enabled: Habilitar registro de horas
|
setting_commit_logtime_enabled: Habilitar registro de horas
|
||||||
notice_gantt_chart_truncated: O gráfico foi cortado por exceder o tamanho máximo de linhas que podem ser exibidas (%{max})
|
notice_gantt_chart_truncated: O gráfico foi cortado por exceder o tamanho máximo de linhas que podem ser exibidas (%{max})
|
||||||
setting_gantt_items_limit: Número máximo de itens exibidos no gráfico gatt
|
setting_gantt_items_limit: Número máximo de itens exibidos no gráfico gatt
|
||||||
field_warn_on_leaving_unsaved: Alertar-me ao sarir de uma página sem salvar o texto
|
field_warn_on_leaving_unsaved: Alertar-me ao sair de uma página sem salvar o texto
|
||||||
text_warn_on_leaving_unsaved: A página atual contem texto que não foi salvo e será perdido se você sair desta página.
|
text_warn_on_leaving_unsaved: A página atual contem texto que não foi salvo e será perdido se você sair desta página.
|
||||||
label_my_queries: Minhas consultas personalizadas
|
label_my_queries: Minhas consultas personalizadas
|
||||||
text_journal_changed_no_detail: "%{label} atualizado(a)"
|
text_journal_changed_no_detail: "%{label} atualizado(a)"
|
||||||
|
|||||||
+236
-234
@@ -9,12 +9,12 @@ sl:
|
|||||||
short: "%b %d"
|
short: "%b %d"
|
||||||
long: "%B %d, %Y"
|
long: "%B %d, %Y"
|
||||||
|
|
||||||
day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
|
day_names: [Nedelja, Ponedeljek, Torek, Sreda, Četrtek, Petek, Sobota]
|
||||||
abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
|
abbr_day_names: [Ned, Pon, To, Sr, Čet, Pet, Sob]
|
||||||
|
|
||||||
# Don't forget the nil at the beginning; there's no such thing as a 0th month
|
# Don't forget the nil at the beginning; there's no such thing as a 0th month
|
||||||
month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
|
month_names: [~, Januar, Februar, Marec, April, Maj, Junij, Julij, Avgust, September, Oktober, November, December]
|
||||||
abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
|
abbr_month_names: [~, Jan, Feb, Mar, Apr, Maj, Jun, Jul, Aug, Sep, Okt, Nov, Dec]
|
||||||
# Used in date_select and datime_select.
|
# Used in date_select and datime_select.
|
||||||
order:
|
order:
|
||||||
- :year
|
- :year
|
||||||
@@ -32,40 +32,40 @@ sl:
|
|||||||
|
|
||||||
datetime:
|
datetime:
|
||||||
distance_in_words:
|
distance_in_words:
|
||||||
half_a_minute: "half a minute"
|
half_a_minute: "pol minute"
|
||||||
less_than_x_seconds:
|
less_than_x_seconds:
|
||||||
one: "less than 1 second"
|
one: "manj kot 1. sekundo"
|
||||||
other: "less than %{count} seconds"
|
other: "manj kot %{count} sekund"
|
||||||
x_seconds:
|
x_seconds:
|
||||||
one: "1 second"
|
one: "1. sekunda"
|
||||||
other: "%{count} seconds"
|
other: "%{count} sekund"
|
||||||
less_than_x_minutes:
|
less_than_x_minutes:
|
||||||
one: "less than a minute"
|
one: "manj kot minuto"
|
||||||
other: "less than %{count} minutes"
|
other: "manj kot %{count} minut"
|
||||||
x_minutes:
|
x_minutes:
|
||||||
one: "1 minute"
|
one: "1 minuta"
|
||||||
other: "%{count} minutes"
|
other: "%{count} minut"
|
||||||
about_x_hours:
|
about_x_hours:
|
||||||
one: "about 1 hour"
|
one: "okrog 1. ure"
|
||||||
other: "about %{count} hours"
|
other: "okrog %{count} ur"
|
||||||
x_days:
|
x_days:
|
||||||
one: "1 day"
|
one: "1 dan"
|
||||||
other: "%{count} days"
|
other: "%{count} dni"
|
||||||
about_x_months:
|
about_x_months:
|
||||||
one: "about 1 month"
|
one: "okrog 1. mesec"
|
||||||
other: "about %{count} months"
|
other: "okrog %{count} mesecev"
|
||||||
x_months:
|
x_months:
|
||||||
one: "1 month"
|
one: "1 mesec"
|
||||||
other: "%{count} months"
|
other: "%{count} mesecev"
|
||||||
about_x_years:
|
about_x_years:
|
||||||
one: "about 1 year"
|
one: "okrog 1. leto"
|
||||||
other: "about %{count} years"
|
other: "okrog %{count} let"
|
||||||
over_x_years:
|
over_x_years:
|
||||||
one: "over 1 year"
|
one: "več kot 1. leto"
|
||||||
other: "over %{count} years"
|
other: "več kot %{count} let"
|
||||||
almost_x_years:
|
almost_x_years:
|
||||||
one: "almost 1 year"
|
one: "skoraj 1. leto"
|
||||||
other: "almost %{count} years"
|
other: "skoraj %{count} let"
|
||||||
|
|
||||||
number:
|
number:
|
||||||
format:
|
format:
|
||||||
@@ -90,15 +90,15 @@ sl:
|
|||||||
# Used in array.to_sentence.
|
# Used in array.to_sentence.
|
||||||
support:
|
support:
|
||||||
array:
|
array:
|
||||||
sentence_connector: "and"
|
sentence_connector: "in"
|
||||||
skip_last_comma: false
|
skip_last_comma: false
|
||||||
|
|
||||||
activerecord:
|
activerecord:
|
||||||
errors:
|
errors:
|
||||||
template:
|
template:
|
||||||
header:
|
header:
|
||||||
one: "1 error prohibited this %{model} from being saved"
|
one: "1. napaka je preprečila temu %{model} da bi se shranil"
|
||||||
other: "%{count} errors prohibited this %{model} from being saved"
|
other: "%{count} napak je preprečilo temu %{model} da bi se shranil"
|
||||||
messages:
|
messages:
|
||||||
inclusion: "ni vključen na seznamu"
|
inclusion: "ni vključen na seznamu"
|
||||||
exclusion: "je rezerviran"
|
exclusion: "je rezerviran"
|
||||||
@@ -113,17 +113,17 @@ sl:
|
|||||||
taken: "je že zaseden"
|
taken: "je že zaseden"
|
||||||
not_a_number: "ni število"
|
not_a_number: "ni število"
|
||||||
not_a_date: "ni veljaven datum"
|
not_a_date: "ni veljaven datum"
|
||||||
greater_than: "must be greater than %{count}"
|
greater_than: "mora biti večji kot %{count}"
|
||||||
greater_than_or_equal_to: "must be greater than or equal to %{count}"
|
greater_than_or_equal_to: "mora biti večji ali enak kot %{count}"
|
||||||
equal_to: "must be equal to %{count}"
|
equal_to: "mora biti enak kot %{count}"
|
||||||
less_than: "must be less than %{count}"
|
less_than: "mora biti manjši kot %{count}"
|
||||||
less_than_or_equal_to: "must be less than or equal to %{count}"
|
less_than_or_equal_to: "mora biti manjši ali enak kot %{count}"
|
||||||
odd: "must be odd"
|
odd: "mora biti sodo"
|
||||||
even: "must be even"
|
even: "mora biti liho"
|
||||||
greater_than_start_date: "mora biti kasnejši kot začeten datum"
|
greater_than_start_date: "mora biti kasnejši kot začetni datum"
|
||||||
not_same_project: "ne pripada istemu projektu"
|
not_same_project: "ne pripada istemu projektu"
|
||||||
circular_dependency: "Ta odnos bi povzročil krožno odvisnost"
|
circular_dependency: "Ta odnos bi povzročil krožno odvisnost"
|
||||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
cant_link_an_issue_with_a_descendant: "Zahtevek ne more biti povezan s svojo podnalogo"
|
||||||
|
|
||||||
actionview_instancetag_blank_option: Prosimo izberite
|
actionview_instancetag_blank_option: Prosimo izberite
|
||||||
|
|
||||||
@@ -372,9 +372,9 @@ sl:
|
|||||||
label_project_new: Nov projekt
|
label_project_new: Nov projekt
|
||||||
label_project_plural: Projekti
|
label_project_plural: Projekti
|
||||||
label_x_projects:
|
label_x_projects:
|
||||||
zero: no projects
|
zero: ni projektov
|
||||||
one: 1 project
|
one: 1 projekt
|
||||||
other: "%{count} projects"
|
other: "%{count} projektov"
|
||||||
label_project_all: Vsi projekti
|
label_project_all: Vsi projekti
|
||||||
label_project_latest: Zadnji projekti
|
label_project_latest: Zadnji projekti
|
||||||
label_issue: Zahtevek
|
label_issue: Zahtevek
|
||||||
@@ -476,22 +476,22 @@ sl:
|
|||||||
label_export_to: 'Na razpolago tudi v:'
|
label_export_to: 'Na razpolago tudi v:'
|
||||||
label_read: Preberi...
|
label_read: Preberi...
|
||||||
label_public_projects: Javni projekti
|
label_public_projects: Javni projekti
|
||||||
label_open_issues: odpri zahtevek
|
label_open_issues: odprt zahtevek
|
||||||
label_open_issues_plural: odpri zahtevke
|
label_open_issues_plural: odprti zahtevki
|
||||||
label_closed_issues: zapri zahtevek
|
label_closed_issues: zaprt zahtevek
|
||||||
label_closed_issues_plural: zapri zahtevke
|
label_closed_issues_plural: zaprti zahtevki
|
||||||
label_x_open_issues_abbr_on_total:
|
label_x_open_issues_abbr_on_total:
|
||||||
zero: 0 open / %{total}
|
zero: 0 odprtih / %{total}
|
||||||
one: 1 open / %{total}
|
one: 1 odprt / %{total}
|
||||||
other: "%{count} open / %{total}"
|
other: "%{count} odprtih / %{total}"
|
||||||
label_x_open_issues_abbr:
|
label_x_open_issues_abbr:
|
||||||
zero: 0 open
|
zero: 0 odprtih
|
||||||
one: 1 open
|
one: 1 odprt
|
||||||
other: "%{count} open"
|
other: "%{count} odprtih"
|
||||||
label_x_closed_issues_abbr:
|
label_x_closed_issues_abbr:
|
||||||
zero: 0 closed
|
zero: 0 zaprtih
|
||||||
one: 1 closed
|
one: 1 zaprt
|
||||||
other: "%{count} closed"
|
other: "%{count} zaprtih"
|
||||||
label_total: Skupaj
|
label_total: Skupaj
|
||||||
label_permissions: Dovoljenja
|
label_permissions: Dovoljenja
|
||||||
label_current_status: Trenutno stanje
|
label_current_status: Trenutno stanje
|
||||||
@@ -507,7 +507,7 @@ sl:
|
|||||||
label_per_page: Na stran
|
label_per_page: Na stran
|
||||||
label_calendar: Koledar
|
label_calendar: Koledar
|
||||||
label_months_from: mesecev od
|
label_months_from: mesecev od
|
||||||
label_gantt: Gantt
|
label_gantt: Gantogram
|
||||||
label_internal: Notranji
|
label_internal: Notranji
|
||||||
label_last_changes: "zadnjih %{count} sprememb"
|
label_last_changes: "zadnjih %{count} sprememb"
|
||||||
label_change_view_all: Poglej vse spremembe
|
label_change_view_all: Poglej vse spremembe
|
||||||
@@ -515,9 +515,9 @@ sl:
|
|||||||
label_comment: Komentar
|
label_comment: Komentar
|
||||||
label_comment_plural: Komentarji
|
label_comment_plural: Komentarji
|
||||||
label_x_comments:
|
label_x_comments:
|
||||||
zero: no comments
|
zero: ni komentarjev
|
||||||
one: 1 comment
|
one: 1 komentar
|
||||||
other: "%{count} comments"
|
other: "%{count} komentarjev"
|
||||||
label_comment_add: Dodaj komentar
|
label_comment_add: Dodaj komentar
|
||||||
label_comment_added: Komentar dodan
|
label_comment_added: Komentar dodan
|
||||||
label_comment_delete: Izbriši komentarje
|
label_comment_delete: Izbriši komentarje
|
||||||
@@ -774,7 +774,7 @@ sl:
|
|||||||
default_tracker_feature: Funkcija
|
default_tracker_feature: Funkcija
|
||||||
default_tracker_support: Podpora
|
default_tracker_support: Podpora
|
||||||
default_issue_status_new: Nov
|
default_issue_status_new: Nov
|
||||||
default_issue_status_in_progress: In Progress
|
default_issue_status_in_progress: V teku
|
||||||
default_issue_status_resolved: Rešen
|
default_issue_status_resolved: Rešen
|
||||||
default_issue_status_feedback: Povratna informacija
|
default_issue_status_feedback: Povratna informacija
|
||||||
default_issue_status_closed: Zaključen
|
default_issue_status_closed: Zaključen
|
||||||
@@ -792,183 +792,185 @@ sl:
|
|||||||
enumeration_issue_priorities: Prioritete zahtevkov
|
enumeration_issue_priorities: Prioritete zahtevkov
|
||||||
enumeration_doc_categories: Kategorije dokumentov
|
enumeration_doc_categories: Kategorije dokumentov
|
||||||
enumeration_activities: Aktivnosti (sledenje časa)
|
enumeration_activities: Aktivnosti (sledenje časa)
|
||||||
warning_attachments_not_saved: "%{count} file(s) could not be saved."
|
warning_attachments_not_saved: "%{count} datotek(e) ni bilo mogoče shraniti."
|
||||||
field_editable: Editable
|
field_editable: Uredljivo
|
||||||
text_plugin_assets_writable: Plugin assets directory writable
|
text_plugin_assets_writable: Zapisljiva mapa za vtičnike
|
||||||
label_display: Display
|
label_display: Prikaz
|
||||||
button_create_and_continue: Create and continue
|
button_create_and_continue: Ustvari in nadaljuj
|
||||||
text_custom_field_possible_values_info: 'One line for each value'
|
text_custom_field_possible_values_info: 'Ena vrstica za vsako vrednost'
|
||||||
setting_repository_log_display_limit: Maximum number of revisions displayed on file log
|
setting_repository_log_display_limit: Največje število prikazanih revizij v log datoteki
|
||||||
setting_file_max_size_displayed: Max size of text files displayed inline
|
setting_file_max_size_displayed: Največja velikost besedilnih datotek v vključenem prikazu
|
||||||
field_watcher: Watcher
|
field_watcher: Opazovalec
|
||||||
setting_openid: Allow OpenID login and registration
|
setting_openid: Dovoli OpenID prijavo in registracijo
|
||||||
field_identity_url: OpenID URL
|
field_identity_url: OpenID URL
|
||||||
label_login_with_open_id_option: or login with OpenID
|
label_login_with_open_id_option: ali se prijavi z OpenID
|
||||||
field_content: Content
|
field_content: Vsebina
|
||||||
label_descending: Descending
|
label_descending: Padajoče
|
||||||
label_sort: Sort
|
label_sort: Razvrsti
|
||||||
label_ascending: Ascending
|
label_ascending: Naraščajoče
|
||||||
label_date_from_to: From %{start} to %{end}
|
label_date_from_to: Od %{start} do %{end}
|
||||||
label_greater_or_equal: ">="
|
label_greater_or_equal: ">="
|
||||||
label_less_or_equal: <=
|
label_less_or_equal: <=
|
||||||
text_wiki_page_destroy_question: This page has %{descendants} child page(s) and descendant(s). What do you want to do?
|
text_wiki_page_destroy_question: Ta stran ima %{descendants} podstran(i) in naslednik(ov). Kaj želite storiti?
|
||||||
text_wiki_page_reassign_children: Reassign child pages to this parent page
|
text_wiki_page_reassign_children: Znova dodeli podstrani tej glavni strani
|
||||||
text_wiki_page_nullify_children: Keep child pages as root pages
|
text_wiki_page_nullify_children: Obdrži podstrani kot glavne strani
|
||||||
text_wiki_page_destroy_children: Delete child pages and all their descendants
|
text_wiki_page_destroy_children: Izbriši podstrani in vse njihove naslednike
|
||||||
setting_password_min_length: Minimum password length
|
setting_password_min_length: Minimalna dolžina gesla
|
||||||
field_group_by: Group results by
|
field_group_by: Združi rezultate po
|
||||||
mail_subject_wiki_content_updated: "'%{id}' wiki page has been updated"
|
mail_subject_wiki_content_updated: "'%{id}' wiki stran je bila posodobljena"
|
||||||
label_wiki_content_added: Wiki page added
|
label_wiki_content_added: Wiki stran dodana
|
||||||
mail_subject_wiki_content_added: "'%{id}' wiki page has been added"
|
mail_subject_wiki_content_added: "'%{id}' wiki stran je bila dodana"
|
||||||
mail_body_wiki_content_added: The '%{id}' wiki page has been added by %{author}.
|
mail_body_wiki_content_added: %{author} je dodal '%{id}' wiki stran
|
||||||
label_wiki_content_updated: Wiki page updated
|
label_wiki_content_updated: Wiki stran posodobljena
|
||||||
mail_body_wiki_content_updated: The '%{id}' wiki page has been updated by %{author}.
|
mail_body_wiki_content_updated: %{author} je posodobil '%{id}' wiki stran.
|
||||||
permission_add_project: Create project
|
permission_add_project: Ustvari projekt
|
||||||
setting_new_project_user_role_id: Role given to a non-admin user who creates a project
|
setting_new_project_user_role_id: Vloga, dodeljena neadministratorskemu uporabniku, ki je ustvaril projekt
|
||||||
label_view_all_revisions: View all revisions
|
label_view_all_revisions: Poglej vse revizije
|
||||||
label_tag: Tag
|
label_tag: Oznaka
|
||||||
label_branch: Branch
|
label_branch: Veja
|
||||||
error_no_tracker_in_project: No tracker is associated to this project. Please check the Project settings.
|
error_no_tracker_in_project: Noben sledilnik ni povezan s tem projektom. Prosimo preverite nastavitve projekta.
|
||||||
error_no_default_issue_status: No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").
|
error_no_default_issue_status: Privzeti zahtevek ni definiran. Prosimo preverite svoje nastavitve (Pojdite na "Administracija -> Stanje zahtevkov").
|
||||||
text_journal_changed: "%{label} changed from %{old} to %{new}"
|
text_journal_changed: "%{label} se je spremenilo iz %{old} v %{new}"
|
||||||
text_journal_set_to: "%{label} set to %{value}"
|
text_journal_set_to: "%{label} nastavljeno na %{value}"
|
||||||
text_journal_deleted: "%{label} deleted (%{old})"
|
text_journal_deleted: "%{label} izbrisan (%{old})"
|
||||||
label_group_plural: Groups
|
label_group_plural: Skupine
|
||||||
label_group: Group
|
label_group: Skupina
|
||||||
label_group_new: New group
|
label_group_new: Nova skupina
|
||||||
label_time_entry_plural: Spent time
|
label_time_entry_plural: Porabljen čas
|
||||||
text_journal_added: "%{label} %{value} added"
|
text_journal_added: "%{label} %{value} dodan"
|
||||||
field_active: Active
|
field_active: Aktiven
|
||||||
enumeration_system_activity: System Activity
|
enumeration_system_activity: Sistemska aktivnost
|
||||||
permission_delete_issue_watchers: Delete watchers
|
permission_delete_issue_watchers: Izbriši opazovalce
|
||||||
version_status_closed: closed
|
version_status_closed: zaprt
|
||||||
version_status_locked: locked
|
version_status_locked: zaklenjen
|
||||||
version_status_open: open
|
version_status_open: odprt
|
||||||
error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened
|
error_can_not_reopen_issue_on_closed_version: Zahtevek dodeljen zaprti verziji ne more biti ponovno odprt
|
||||||
label_user_anonymous: Anonymous
|
label_user_anonymous: Anonimni
|
||||||
button_move_and_follow: Move and follow
|
button_move_and_follow: Premakni in sledi
|
||||||
setting_default_projects_modules: Default enabled modules for new projects
|
setting_default_projects_modules: Privzeti moduli za nove projekte
|
||||||
setting_gravatar_default: Default Gravatar image
|
setting_gravatar_default: Privzeta Gravatar slika
|
||||||
field_sharing: Sharing
|
field_sharing: Deljenje
|
||||||
label_version_sharing_hierarchy: With project hierarchy
|
label_version_sharing_hierarchy: S projektno hierarhijo
|
||||||
label_version_sharing_system: With all projects
|
label_version_sharing_system: Z vsemi projekti
|
||||||
label_version_sharing_descendants: With subprojects
|
label_version_sharing_descendants: S podprojekti
|
||||||
label_version_sharing_tree: With project tree
|
label_version_sharing_tree: Z drevesom projekta
|
||||||
label_version_sharing_none: Not shared
|
label_version_sharing_none: Ni deljeno
|
||||||
error_can_not_archive_project: This project can not be archived
|
error_can_not_archive_project: Ta projekt ne more biti arhiviran
|
||||||
button_duplicate: Duplicate
|
button_duplicate: Podvoji
|
||||||
button_copy_and_follow: Copy and follow
|
button_copy_and_follow: Kopiraj in sledi
|
||||||
label_copy_source: Source
|
label_copy_source: Vir
|
||||||
setting_issue_done_ratio: Calculate the issue done ratio with
|
setting_issue_done_ratio: Izračunaj razmerje opravljenega zahtevka z
|
||||||
setting_issue_done_ratio_issue_status: Use the issue status
|
setting_issue_done_ratio_issue_status: Uporabi stanje zahtevka
|
||||||
error_issue_done_ratios_not_updated: Issue done ratios not updated.
|
error_issue_done_ratios_not_updated: Razmerje opravljenega zahtevka ni bilo posodobljeno.
|
||||||
error_workflow_copy_target: Please select target tracker(s) and role(s)
|
error_workflow_copy_target: Prosimo izberite ciljni(e) sledilnik(e) in vlogo(e)
|
||||||
setting_issue_done_ratio_issue_field: Use the issue field
|
setting_issue_done_ratio_issue_field: Uporabi polje zahtevka
|
||||||
label_copy_same_as_target: Same as target
|
label_copy_same_as_target: Enako kot cilj
|
||||||
label_copy_target: Target
|
label_copy_target: Cilj
|
||||||
notice_issue_done_ratios_updated: Issue done ratios updated.
|
notice_issue_done_ratios_updated: Razmerje opravljenega zahtevka posodobljeno.
|
||||||
error_workflow_copy_source: Please select a source tracker or role
|
error_workflow_copy_source: Prosimo izberite vir zahtevka ali vlogo
|
||||||
label_update_issue_done_ratios: Update issue done ratios
|
label_update_issue_done_ratios: Posodobi razmerje opravljenega zahtevka
|
||||||
setting_start_of_week: Start calendars on
|
setting_start_of_week: Začni koledarje z
|
||||||
permission_view_issues: View Issues
|
permission_view_issues: Poglej zahtevke
|
||||||
label_display_used_statuses_only: Only display statuses that are used by this tracker
|
label_display_used_statuses_only: Prikaži samo stanja ki uporabljajo ta sledilnik
|
||||||
label_revision_id: Revision %{value}
|
label_revision_id: Revizija %{value}
|
||||||
label_api_access_key: API access key
|
label_api_access_key: API dostopni ključ
|
||||||
label_api_access_key_created_on: API access key created %{value} ago
|
label_api_access_key_created_on: API dostopni ključ ustvarjen pred %{value}
|
||||||
label_feeds_access_key: RSS access key
|
label_feeds_access_key: RSS dostopni ključ
|
||||||
notice_api_access_key_reseted: Your API access key was reset.
|
notice_api_access_key_reseted: Vaš API dostopni ključ je bil ponastavljen.
|
||||||
setting_rest_api_enabled: Enable REST web service
|
setting_rest_api_enabled: Omogoči REST spletni servis
|
||||||
label_missing_api_access_key: Missing an API access key
|
label_missing_api_access_key: Manjkajoč API dostopni ključ
|
||||||
label_missing_feeds_access_key: Missing a RSS access key
|
label_missing_feeds_access_key: Manjkajoč RSS dostopni ključ
|
||||||
button_show: Show
|
button_show: Prikaži
|
||||||
text_line_separated: Multiple values allowed (one line for each value).
|
text_line_separated: Dovoljenih več vrednosti (ena vrstica za vsako vrednost).
|
||||||
setting_mail_handler_body_delimiters: Truncate emails after one of these lines
|
setting_mail_handler_body_delimiters: Odreži e-pošto po eni od teh vrstic
|
||||||
permission_add_subprojects: Create subprojects
|
permission_add_subprojects: Ustvari podprojekte
|
||||||
label_subproject_new: New subproject
|
label_subproject_new: Nov podprojekt
|
||||||
text_own_membership_delete_confirmation: |-
|
text_own_membership_delete_confirmation: |-
|
||||||
You are about to remove some or all of your permissions and may no longer be able to edit this project after that.
|
Odstranili boste nekatere ali vse od dovoljenj zaradi česar morda ne boste mogli več urejati tega projekta.
|
||||||
Are you sure you want to continue?
|
Ali ste prepričani, da želite nadaljevati?
|
||||||
label_close_versions: Close completed versions
|
label_close_versions: Zapri dokončane verzije
|
||||||
label_board_sticky: Sticky
|
label_board_sticky: Lepljivo
|
||||||
label_board_locked: Locked
|
label_board_locked: Zaklenjeno
|
||||||
permission_export_wiki_pages: Export wiki pages
|
permission_export_wiki_pages: Izvozi wiki strani
|
||||||
setting_cache_formatted_text: Cache formatted text
|
setting_cache_formatted_text: Predpomni oblikovano besedilo
|
||||||
permission_manage_project_activities: Manage project activities
|
permission_manage_project_activities: Uredi aktivnosti projekta
|
||||||
error_unable_delete_issue_status: Unable to delete issue status
|
error_unable_delete_issue_status: Stanja zahtevka ni bilo možno spremeniti
|
||||||
label_profile: Profile
|
label_profile: Profil
|
||||||
permission_manage_subtasks: Manage subtasks
|
permission_manage_subtasks: Uredi podnaloge
|
||||||
field_parent_issue: Parent task
|
field_parent_issue: Nadrejena naloga
|
||||||
label_subtask_plural: Subtasks
|
label_subtask_plural: Podnaloge
|
||||||
label_project_copy_notifications: Send email notifications during the project copy
|
label_project_copy_notifications: Med kopiranjem projekta pošlji e-poštno sporočilo
|
||||||
error_can_not_delete_custom_field: Unable to delete custom field
|
error_can_not_delete_custom_field: Polja po meri ni mogoče izbrisati
|
||||||
error_unable_to_connect: Unable to connect (%{value})
|
error_unable_to_connect: Povezava ni mogoča (%{value})
|
||||||
error_can_not_remove_role: This role is in use and can not be deleted.
|
error_can_not_remove_role: Ta vloga je v uporabi in je ni mogoče izbrisati.
|
||||||
error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
|
error_can_not_delete_tracker: Ta sledilnik vsebuje zahtevke in se ga ne more izbrisati.
|
||||||
field_principal: Principal
|
field_principal: Upravnik varnosti
|
||||||
label_my_page_block: My page block
|
label_my_page_block: Moj gradnik strani
|
||||||
notice_failed_to_save_members: "Failed to save member(s): %{errors}."
|
notice_failed_to_save_members: "Shranjevanje uporabnika(ov) ni uspelo: %{errors}."
|
||||||
text_zoom_out: Zoom out
|
text_zoom_out: Približaj
|
||||||
text_zoom_in: Zoom in
|
text_zoom_in: Oddalji
|
||||||
notice_unable_delete_time_entry: Unable to delete time log entry.
|
notice_unable_delete_time_entry: Brisanje dnevnika porabljenaga časa ni mogoče.
|
||||||
label_overall_spent_time: Overall spent time
|
label_overall_spent_time: Skupni porabljeni čas
|
||||||
field_time_entries: Log time
|
field_time_entries: Beleži porabljeni čas
|
||||||
project_module_gantt: Gantt
|
project_module_gantt: Gantogram
|
||||||
project_module_calendar: Calendar
|
project_module_calendar: Koledear
|
||||||
button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
|
button_edit_associated_wikipage: "Uredi povezano Wiki stran: %{page_title}"
|
||||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
text_are_you_sure_with_children: Izbriši zahtevek in vse podazahtevke?
|
||||||
field_text: Text field
|
field_text: Besedilno polje
|
||||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
label_user_mail_option_only_owner: Samo za stvari katerih lastnik sem
|
||||||
setting_default_notification_option: Default notification option
|
setting_default_notification_option: Privzeta možnost obveščanja
|
||||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
label_user_mail_option_only_my_events: Samo za stvari, ki jih opazujem ali sem v njih vpleten
|
||||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
label_user_mail_option_only_assigned: Samo za stvari, ki smo mi dodeljene
|
||||||
label_user_mail_option_none: No events
|
label_user_mail_option_none: Noben dogodek
|
||||||
field_member_of_group: Assignee's group
|
field_member_of_group: Pooblaščenčeva skupina
|
||||||
field_assigned_to_role: Assignee's role
|
field_assigned_to_role: Pooblaščenčeva vloga
|
||||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
notice_not_authorized_archived_project: Projekt, do katerega poskušate dostopati, je bil arhiviran.
|
||||||
label_principal_search: "Search for user or group:"
|
label_principal_search: "Poišči uporabnika ali skupino:"
|
||||||
label_user_search: "Search for user:"
|
label_user_search: "Poišči uporabnikia:"
|
||||||
field_visible: Visible
|
field_visible: Viden
|
||||||
setting_emails_header: Emails header
|
setting_emails_header: Glava e-pošte
|
||||||
setting_commit_logtime_activity_id: Activity for logged time
|
setting_commit_logtime_activity_id: Aktivnost zabeleženega časa
|
||||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
text_time_logged_by_changeset: Uporabljeno v spremembi %{value}.
|
||||||
setting_commit_logtime_enabled: Enable time logging
|
setting_commit_logtime_enabled: Omogoči beleženje časa
|
||||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
notice_gantt_chart_truncated: Graf je bil odrezan, ker je prekoračil največje dovoljeno število elementov, ki se jih lahko prikaže (%{max})
|
||||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
setting_gantt_items_limit: Največje število elementov prikazano na gantogramu
|
||||||
field_warn_on_leaving_unsaved: Warn me when leaving a page with unsaved text
|
field_warn_on_leaving_unsaved: Opozori me, kadar zapuščam stran z neshranjenim besedilom
|
||||||
text_warn_on_leaving_unsaved: The current page contains unsaved text that will be lost if you leave this page.
|
text_warn_on_leaving_unsaved: Trenutna stran vsebuje neshranjeno besedilo ki bo izgubljeno, če zapustite to stran.
|
||||||
label_my_queries: My custom queries
|
label_my_queries: Moje poizvedbe po meri
|
||||||
text_journal_changed_no_detail: "%{label} updated"
|
text_journal_changed_no_detail: "%{label} posodobljen"
|
||||||
label_news_comment_added: Comment added to a news
|
label_news_comment_added: Komentar dodan novici
|
||||||
button_expand_all: Expand all
|
button_expand_all: Razširi vse
|
||||||
button_collapse_all: Collapse all
|
button_collapse_all: Skrči vse
|
||||||
label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
|
label_additional_workflow_transitions_for_assignee: Dovoljeni dodatni prehodi kadar je uporabnik pooblaščenec
|
||||||
label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
|
label_additional_workflow_transitions_for_author: Dovoljeni dodatni prehodi kadar je uporabnik avtor
|
||||||
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
|
label_bulk_edit_selected_time_entries: Skupinsko urejanje izbranih časovnih zapisov
|
||||||
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
|
text_time_entries_destroy_confirmation: Ali ste prepričani, da želite izbristai izbran(e) časovn(i/e) zapis(e)?
|
||||||
label_role_anonymous: Anonymous
|
label_role_anonymous: Anonimni
|
||||||
label_role_non_member: Non member
|
label_role_non_member: Nečlan
|
||||||
label_issue_note_added: Note added
|
label_issue_note_added: Dodan zaznamek
|
||||||
label_issue_status_updated: Status updated
|
label_issue_status_updated: Status posodobljen
|
||||||
label_issue_priority_updated: Priority updated
|
label_issue_priority_updated: Prioriteta posodobljena
|
||||||
label_issues_visibility_own: Issues created by or assigned to the user
|
label_issues_visibility_own: Zahtevek ustvarjen s strani uporabnika ali dodeljen uporabniku
|
||||||
field_issues_visibility: Issues visibility
|
field_issues_visibility: Vidljivost zahtevkov
|
||||||
label_issues_visibility_all: All issues
|
label_issues_visibility_all: Vsi zahtevki
|
||||||
permission_set_own_issues_private: Set own issues public or private
|
permission_set_own_issues_private: Nastavi lastne zahtevke kot javne ali zasebne
|
||||||
field_is_private: Private
|
field_is_private: Zaseben
|
||||||
permission_set_issues_private: Set issues public or private
|
permission_set_issues_private: Nastavi zahtevke kot javne ali zasebne
|
||||||
label_issues_visibility_public: All non private issues
|
label_issues_visibility_public: Vsi nezasebni zahtevki
|
||||||
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
|
text_issues_destroy_descendants_confirmation: To bo izbrisalo tudi %{count} podnalog(o).
|
||||||
field_commit_logs_encoding: Kodiranje sporočil ob predaji
|
field_commit_logs_encoding: Kodiranje sporočil ob predaji
|
||||||
field_scm_path_encoding: Path encoding
|
field_scm_path_encoding: Pot do kodiranja
|
||||||
text_scm_path_encoding_note: "Default: UTF-8"
|
text_scm_path_encoding_note: "Privzeto: UTF-8"
|
||||||
field_path_to_repository: Path to repository
|
field_path_to_repository: Pot do shrambe
|
||||||
field_root_directory: Root directory
|
field_root_directory: Korenska mapa
|
||||||
field_cvs_module: Module
|
field_cvs_module: Modul
|
||||||
field_cvsroot: CVSROOT
|
field_cvsroot: CVSROOT
|
||||||
text_git_repository_note: Bare and local repository (e.g. /gitrepo, c:\gitrepo)
|
text_mercurial_repository_note: Lokalna shramba (npr. /hgrepo, c:\hgrepo)
|
||||||
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
text_scm_command: Ukaz
|
||||||
text_scm_command: Command
|
text_scm_command_version: Verzija
|
||||||
text_scm_command_version: Version
|
label_git_report_last_commit: Sporoči zadnje uveljavljanje datotek in map
|
||||||
label_git_report_last_commit: Report last commit for files and directories
|
text_scm_config: Svoje SCM ukaze lahko nastavite v datoteki config/configuration.yml. Po urejanju prosimo ponovno zaženite aplikacijo.
|
||||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
text_scm_command_not_available: SCM ukaz ni na voljo. Prosimo preverite nastavitve v upravljalskem podoknu.
|
||||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
|
||||||
|
text_git_repository_note: Shramba je prazna in lokalna (npr. /gitrepo, c:\gitrepo)
|
||||||
|
|
||||||
|
|||||||
+26
-7
@@ -4,6 +4,25 @@ Redmine - project management software
|
|||||||
Copyright (C) 2006-2011 Jean-Philippe Lang
|
Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||||
http://www.redmine.org/
|
http://www.redmine.org/
|
||||||
|
|
||||||
|
== 2011-11-11 v1.2.2
|
||||||
|
|
||||||
|
* Defect #3276: Incorrect handling of anchors in Wiki to HTML export
|
||||||
|
* Defect #7215: Wiki formatting mangles links to internal headers
|
||||||
|
* Defect #7613: Generated test instances may share the same attribute value object
|
||||||
|
* Defect #8411: Can't remove "Project" column on custom query
|
||||||
|
* Defect #8615: Custom 'version' fields don't show shared versions
|
||||||
|
* Defect #8633: Pagination counts non visible issues
|
||||||
|
* Defect #8651: Email attachments are not added to issues any more in v1.2
|
||||||
|
* Defect #8825: JRuby + Windows: SCMs do not work on Redmine 1.2
|
||||||
|
* Defect #8836: Additional workflow transitions not available when set to both author and assignee
|
||||||
|
* Defect #8865: Custom field regular expression is not validated
|
||||||
|
* Defect #8880: Error deleting issue with grandchild
|
||||||
|
* Defect #8884: Assignee is cleared when updating issue with locked assignee
|
||||||
|
* Defect #8892: Unused fonts in rfpdf plugin folder
|
||||||
|
* Defect #9161: pt-BR field_warn_on_leaving_unsaved has a small gramatical error
|
||||||
|
* Defect #9308: Search fails when a role haven't "view wiki" permission
|
||||||
|
* Defect #9465: Mercurial: can't browse named branch below Mercurial 1.5
|
||||||
|
|
||||||
== 2011-07-11 v1.2.1
|
== 2011-07-11 v1.2.1
|
||||||
|
|
||||||
* Defect #5089: i18N error on truncated revision diff view
|
* Defect #5089: i18N error on truncated revision diff view
|
||||||
@@ -417,7 +436,7 @@ http://www.redmine.org/
|
|||||||
* #819: Add a body ID and class to all pages
|
* #819: Add a body ID and class to all pages
|
||||||
* #871: Commit new CSS styles!
|
* #871: Commit new CSS styles!
|
||||||
* #3301: Add favicon to base layout
|
* #3301: Add favicon to base layout
|
||||||
* #4656: On Issue#show page, clicking on “Add related issue” should focus on the input
|
* #4656: On Issue#show page, clicking on “Add related issue� should focus on the input
|
||||||
* #4896: Project identifier should be a limited field
|
* #4896: Project identifier should be a limited field
|
||||||
* #5084: Filter all isssues by projects
|
* #5084: Filter all isssues by projects
|
||||||
* #5477: Replace Test::Unit::TestCase with ActiveSupport::TestCase
|
* #5477: Replace Test::Unit::TestCase with ActiveSupport::TestCase
|
||||||
@@ -1426,7 +1445,7 @@ http://www.redmine.org/
|
|||||||
* Search engines now supports pagination. Results are sorted in reverse chronological order
|
* Search engines now supports pagination. Results are sorted in reverse chronological order
|
||||||
* Added "Estimated hours" attribute on issues
|
* Added "Estimated hours" attribute on issues
|
||||||
* A category with assigned issue can now be deleted. 2 options are proposed: remove assignments or reassign issues to another category
|
* A category with assigned issue can now be deleted. 2 options are proposed: remove assignments or reassign issues to another category
|
||||||
* Forum notifications are now also sent to the authors of the thread, even if they don�t watch the board
|
* Forum notifications are now also sent to the authors of the thread, even if they don�t watch the board
|
||||||
* Added an application setting to specify the application protocol (http or https) used to generate urls in emails
|
* Added an application setting to specify the application protocol (http or https) used to generate urls in emails
|
||||||
* Gantt chart: now starts at the current month by default
|
* Gantt chart: now starts at the current month by default
|
||||||
* Gantt chart: month count and zoom factor are automatically saved as user preferences
|
* Gantt chart: month count and zoom factor are automatically saved as user preferences
|
||||||
@@ -1434,7 +1453,7 @@ http://www.redmine.org/
|
|||||||
* Added wiki index by date
|
* Added wiki index by date
|
||||||
* Added preview on add/edit issue form
|
* Added preview on add/edit issue form
|
||||||
* Emails footer can now be customized from the admin interface (Admin -> Email notifications)
|
* Emails footer can now be customized from the admin interface (Admin -> Email notifications)
|
||||||
* Default encodings for repository files can now be set in application settings (used to convert files content and diff to UTF-8 so that they�re properly displayed)
|
* Default encodings for repository files can now be set in application settings (used to convert files content and diff to UTF-8 so that they�re properly displayed)
|
||||||
* Calendar: first day of week can now be set in lang files
|
* Calendar: first day of week can now be set in lang files
|
||||||
* Automatic closing of duplicate issues
|
* Automatic closing of duplicate issues
|
||||||
* Added a cross-project issue list
|
* Added a cross-project issue list
|
||||||
@@ -1446,7 +1465,7 @@ http://www.redmine.org/
|
|||||||
* Added some accesskeys
|
* Added some accesskeys
|
||||||
* Added "Float" as a custom field format
|
* Added "Float" as a custom field format
|
||||||
* Added basic Theme support
|
* Added basic Theme support
|
||||||
* Added the ability to set the �done ratio� of issues fixed by commit (Nikolay Solakov)
|
* Added the ability to set the �done ratio� of issues fixed by commit (Nikolay Solakov)
|
||||||
* Added custom fields in issue related mail notifications
|
* Added custom fields in issue related mail notifications
|
||||||
* Email notifications are now sent in plain text and html
|
* Email notifications are now sent in plain text and html
|
||||||
* Gantt chart can now be exported to a graphic file (png). This functionality is only available if RMagick is installed.
|
* Gantt chart can now be exported to a graphic file (png). This functionality is only available if RMagick is installed.
|
||||||
@@ -1479,7 +1498,7 @@ http://www.redmine.org/
|
|||||||
* Added Korean translation (Choi Jong Yoon)
|
* Added Korean translation (Choi Jong Yoon)
|
||||||
* Fixed: the link to delete issue relations is displayed even if the user is not authorized to delete relations
|
* Fixed: the link to delete issue relations is displayed even if the user is not authorized to delete relations
|
||||||
* Performance improvement on calendar and gantt
|
* Performance improvement on calendar and gantt
|
||||||
* Fixed: wiki preview doesn�t work on long entries
|
* Fixed: wiki preview doesn�t work on long entries
|
||||||
* Fixed: queries with multiple custom fields return no result
|
* Fixed: queries with multiple custom fields return no result
|
||||||
* Fixed: Can not authenticate user against LDAP if its DN contains non-ascii characters
|
* Fixed: Can not authenticate user against LDAP if its DN contains non-ascii characters
|
||||||
* Fixed: URL with ~ broken in wiki formatting
|
* Fixed: URL with ~ broken in wiki formatting
|
||||||
@@ -1490,7 +1509,7 @@ http://www.redmine.org/
|
|||||||
|
|
||||||
* per project forums added
|
* per project forums added
|
||||||
* added the ability to archive projects
|
* added the ability to archive projects
|
||||||
* added �Watch� functionality on issues. It allows users to receive notifications about issue changes
|
* added �Watch� functionality on issues. It allows users to receive notifications about issue changes
|
||||||
* custom fields for issues can now be used as filters on issue list
|
* custom fields for issues can now be used as filters on issue list
|
||||||
* added per user custom queries
|
* added per user custom queries
|
||||||
* commit messages are now scanned for referenced or fixed issue IDs (keywords defined in Admin -> Settings)
|
* commit messages are now scanned for referenced or fixed issue IDs (keywords defined in Admin -> Settings)
|
||||||
@@ -1531,7 +1550,7 @@ http://www.redmine.org/
|
|||||||
* added swedish translation (Thomas Habets)
|
* added swedish translation (Thomas Habets)
|
||||||
* italian translation update (Alessio Spadaro)
|
* italian translation update (Alessio Spadaro)
|
||||||
* japanese translation update (Satoru Kurashiki)
|
* japanese translation update (Satoru Kurashiki)
|
||||||
* fixed: error on history atom feed when there�s no notes on an issue change
|
* fixed: error on history atom feed when there�s no notes on an issue change
|
||||||
* fixed: error in journalizing an issue with longtext custom fields (Postgresql)
|
* fixed: error in journalizing an issue with longtext custom fields (Postgresql)
|
||||||
* fixed: creation of Oracle schema
|
* fixed: creation of Oracle schema
|
||||||
* fixed: last day of the month not included in project activity
|
* fixed: last day of the month not included in project activity
|
||||||
|
|||||||
+2
-1
@@ -9,8 +9,9 @@ Running Tests
|
|||||||
|
|
||||||
Run `rake --tasks test` to see available tests.
|
Run `rake --tasks test` to see available tests.
|
||||||
`rake test` will run the entire testsuite.
|
`rake test` will run the entire testsuite.
|
||||||
|
You can run `ruby test/unit/issue_test.rb` for an each test.
|
||||||
|
|
||||||
Before running `rake test` you need to configure both development
|
Before running tests, you need to configure both development
|
||||||
and test databases.
|
and test databases.
|
||||||
|
|
||||||
Creating test repositories
|
Creating test repositories
|
||||||
|
|||||||
+24
-1
@@ -208,7 +208,7 @@ sub access_handler {
|
|||||||
my $project_id = get_project_identifier($r);
|
my $project_id = get_project_identifier($r);
|
||||||
|
|
||||||
$r->set_handlers(PerlAuthenHandler => [\&OK])
|
$r->set_handlers(PerlAuthenHandler => [\&OK])
|
||||||
if is_public_project($project_id, $r);
|
if is_public_project($project_id, $r) && anonymous_role_allows_browse_repository($r);
|
||||||
|
|
||||||
return OK
|
return OK
|
||||||
}
|
}
|
||||||
@@ -280,6 +280,29 @@ sub is_public_project {
|
|||||||
$ret;
|
$ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub anonymous_role_allows_browse_repository {
|
||||||
|
my $r = shift;
|
||||||
|
|
||||||
|
my $dbh = connect_database($r);
|
||||||
|
my $sth = $dbh->prepare(
|
||||||
|
"SELECT permissions FROM roles WHERE builtin = 2;"
|
||||||
|
);
|
||||||
|
|
||||||
|
$sth->execute();
|
||||||
|
my $ret = 0;
|
||||||
|
if (my @row = $sth->fetchrow_array) {
|
||||||
|
if ($row[0] =~ /:browse_repository/) {
|
||||||
|
$ret = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$sth->finish();
|
||||||
|
undef $sth;
|
||||||
|
$dbh->disconnect();
|
||||||
|
undef $dbh;
|
||||||
|
|
||||||
|
$ret;
|
||||||
|
}
|
||||||
|
|
||||||
# perhaps we should use repository right (other read right) to check public access.
|
# perhaps we should use repository right (other read right) to check public access.
|
||||||
# it could be faster BUT it doesn't work for the moment.
|
# it could be faster BUT it doesn't work for the moment.
|
||||||
# sub is_public_project_by_file {
|
# sub is_public_project_by_file {
|
||||||
|
|||||||
+1
-1
@@ -938,7 +938,7 @@ class RedCloth3 < String
|
|||||||
stln,algn,atts,url,title,href,href_a1,href_a2 = $~[1..8]
|
stln,algn,atts,url,title,href,href_a1,href_a2 = $~[1..8]
|
||||||
htmlesc title
|
htmlesc title
|
||||||
atts = pba( atts )
|
atts = pba( atts )
|
||||||
atts = " src=\"#{ url }\"#{ atts }"
|
atts = " src=\"#{ htmlesc url.dup }\"#{ atts }"
|
||||||
atts << " title=\"#{ title }\"" if title
|
atts << " title=\"#{ title }\"" if title
|
||||||
atts << " alt=\"#{ title }\""
|
atts << " alt=\"#{ title }\""
|
||||||
# size = @getimagesize($url);
|
# size = @getimagesize($url);
|
||||||
|
|||||||
@@ -11,6 +11,13 @@ module Redmine
|
|||||||
str = str.encode("US-ASCII", :invalid => :replace,
|
str = str.encode("US-ASCII", :invalid => :replace,
|
||||||
:undef => :replace, :replace => '?').encode("UTF-8")
|
:undef => :replace, :replace => '?').encode("UTF-8")
|
||||||
end
|
end
|
||||||
|
elsif RUBY_PLATFORM == 'java'
|
||||||
|
begin
|
||||||
|
ic = Iconv.new('UTF-8', 'UTF-8')
|
||||||
|
str = ic.iconv(str)
|
||||||
|
rescue
|
||||||
|
str = str.gsub(%r{[^\r\n\t\x20-\x7e]}, '?')
|
||||||
|
end
|
||||||
else
|
else
|
||||||
ic = Iconv.new('UTF-8', 'UTF-8')
|
ic = Iconv.new('UTF-8', 'UTF-8')
|
||||||
txtar = ""
|
txtar = ""
|
||||||
|
|||||||
+22
-22
@@ -1,16 +1,16 @@
|
|||||||
# Redmine - project management software
|
# Redmine - project management software
|
||||||
# Copyright (C) 2006-2008 Jean-Philippe Lang
|
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
# as published by the Free Software Foundation; either version 2
|
# as published by the Free Software Foundation; either version 2
|
||||||
# of the License, or (at your option) any later version.
|
# of the License, or (at your option) any later version.
|
||||||
#
|
#
|
||||||
# This program is distributed in the hope that it will be useful,
|
# This program is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
@@ -22,7 +22,7 @@ module Redmine
|
|||||||
@@listener_classes = []
|
@@listener_classes = []
|
||||||
@@listeners = nil
|
@@listeners = nil
|
||||||
@@hook_listeners = {}
|
@@hook_listeners = {}
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# Adds a listener class.
|
# Adds a listener class.
|
||||||
# Automatically called when a class inherits from Redmine::Hook::Listener.
|
# Automatically called when a class inherits from Redmine::Hook::Listener.
|
||||||
@@ -31,29 +31,29 @@ module Redmine
|
|||||||
@@listener_classes << klass
|
@@listener_classes << klass
|
||||||
clear_listeners_instances
|
clear_listeners_instances
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns all the listerners instances.
|
# Returns all the listerners instances.
|
||||||
def listeners
|
def listeners
|
||||||
@@listeners ||= @@listener_classes.collect {|listener| listener.instance}
|
@@listeners ||= @@listener_classes.collect {|listener| listener.instance}
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns the listeners instances for the given hook.
|
# Returns the listeners instances for the given hook.
|
||||||
def hook_listeners(hook)
|
def hook_listeners(hook)
|
||||||
@@hook_listeners[hook] ||= listeners.select {|listener| listener.respond_to?(hook)}
|
@@hook_listeners[hook] ||= listeners.select {|listener| listener.respond_to?(hook)}
|
||||||
end
|
end
|
||||||
|
|
||||||
# Clears all the listeners.
|
# Clears all the listeners.
|
||||||
def clear_listeners
|
def clear_listeners
|
||||||
@@listener_classes = []
|
@@listener_classes = []
|
||||||
clear_listeners_instances
|
clear_listeners_instances
|
||||||
end
|
end
|
||||||
|
|
||||||
# Clears all the listeners instances.
|
# Clears all the listeners instances.
|
||||||
def clear_listeners_instances
|
def clear_listeners_instances
|
||||||
@@listeners = nil
|
@@listeners = nil
|
||||||
@@hook_listeners = {}
|
@@hook_listeners = {}
|
||||||
end
|
end
|
||||||
|
|
||||||
# Calls a hook.
|
# Calls a hook.
|
||||||
# Returns the listeners response.
|
# Returns the listeners response.
|
||||||
def call_hook(hook, context={})
|
def call_hook(hook, context={})
|
||||||
@@ -101,11 +101,11 @@ module Redmine
|
|||||||
def self.default_url_options
|
def self.default_url_options
|
||||||
{:only_path => true }
|
{:only_path => true }
|
||||||
end
|
end
|
||||||
|
|
||||||
# Helper method to directly render a partial using the context:
|
# Helper method to directly render a partial using the context:
|
||||||
#
|
#
|
||||||
# class MyHook < Redmine::Hook::ViewListener
|
# class MyHook < Redmine::Hook::ViewListener
|
||||||
# render_on :view_issues_show_details_bottom, :partial => "show_more_data"
|
# render_on :view_issues_show_details_bottom, :partial => "show_more_data"
|
||||||
# end
|
# end
|
||||||
#
|
#
|
||||||
def self.render_on(hook, options={})
|
def self.render_on(hook, options={})
|
||||||
@@ -115,25 +115,25 @@ module Redmine
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Helper module included in ApplicationHelper and ActionControllerso that
|
# Helper module included in ApplicationHelper and ActionController so that
|
||||||
# hooks can be called in views like this:
|
# hooks can be called in views like this:
|
||||||
#
|
#
|
||||||
# <%= call_hook(:some_hook) %>
|
# <%= call_hook(:some_hook) %>
|
||||||
# <%= call_hook(:another_hook, :foo => 'bar' %>
|
# <%= call_hook(:another_hook, :foo => 'bar') %>
|
||||||
#
|
#
|
||||||
# Or in controllers like:
|
# Or in controllers like:
|
||||||
# call_hook(:some_hook)
|
# call_hook(:some_hook)
|
||||||
# call_hook(:another_hook, :foo => 'bar'
|
# call_hook(:another_hook, :foo => 'bar')
|
||||||
#
|
#
|
||||||
# Hooks added to views will be concatenated into a string. Hooks added to
|
# Hooks added to views will be concatenated into a string. Hooks added to
|
||||||
# controllers will return an array of results.
|
# controllers will return an array of results.
|
||||||
#
|
#
|
||||||
# Several objects are automatically added to the call context:
|
# Several objects are automatically added to the call context:
|
||||||
#
|
#
|
||||||
# * project => current project
|
# * project => current project
|
||||||
# * request => Request instance
|
# * request => Request instance
|
||||||
# * controller => current Controller instance
|
# * controller => current Controller instance
|
||||||
#
|
#
|
||||||
module Helper
|
module Helper
|
||||||
def call_hook(hook, context={})
|
def call_hook(hook, context={})
|
||||||
if is_a?(ActionController::Base)
|
if is_a?(ActionController::Base)
|
||||||
@@ -142,7 +142,7 @@ module Redmine
|
|||||||
else
|
else
|
||||||
default_context = {:controller => controller, :project => @project, :request => request}
|
default_context = {:controller => controller, :project => @project, :request => request}
|
||||||
Redmine::Hook.call_hook(hook, default_context.merge(context)).join(' ')
|
Redmine::Hook.call_hook(hook, default_context.merge(context)).join(' ')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -29,6 +29,14 @@ module Redmine
|
|||||||
""
|
""
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def shell_quote_command
|
||||||
|
if Redmine::Platform.mswin? && RUBY_PLATFORM == 'java'
|
||||||
|
client_command
|
||||||
|
else
|
||||||
|
shell_quote(client_command)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Returns the version of the scm client
|
# Returns the version of the scm client
|
||||||
# Eg: [1, 5, 0] or [] if unknown
|
# Eg: [1, 5, 0] or [] if unknown
|
||||||
def client_version
|
def client_version
|
||||||
@@ -216,7 +224,11 @@ module Redmine
|
|||||||
io.close_write
|
io.close_write
|
||||||
block.call(io) if block_given?
|
block.call(io) if block_given?
|
||||||
end
|
end
|
||||||
rescue Errno::ENOENT => e
|
## If scm command does not exist,
|
||||||
|
## Linux JRuby 1.6.2 (ruby-1.8.7-p330) raises java.io.IOException
|
||||||
|
## in production environment.
|
||||||
|
# rescue Errno::ENOENT => e
|
||||||
|
rescue Exception => e
|
||||||
msg = strip_credential(e.message)
|
msg = strip_credential(e.message)
|
||||||
# The command failed, log it and re-raise
|
# The command failed, log it and re-raise
|
||||||
logmsg = "SCM command failed, "
|
logmsg = "SCM command failed, "
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
def sq_bin
|
def sq_bin
|
||||||
@@sq_bin ||= shell_quote(BZR_BIN)
|
@@sq_bin ||= shell_quote_command
|
||||||
end
|
end
|
||||||
|
|
||||||
def client_version
|
def client_version
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
def sq_bin
|
def sq_bin
|
||||||
@@sq_bin ||= shell_quote(CVS_BIN)
|
@@sq_bin ||= shell_quote_command
|
||||||
end
|
end
|
||||||
|
|
||||||
def client_version
|
def client_version
|
||||||
@@ -379,13 +379,16 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
def scm_cmd(*args, &block)
|
def scm_cmd(*args, &block)
|
||||||
full_args = [CVS_BIN, '-d', root_url]
|
full_args = ['-d', root_url]
|
||||||
full_args += args
|
full_args += args
|
||||||
full_args_locale = []
|
full_args_locale = []
|
||||||
full_args.map do |e|
|
full_args.map do |e|
|
||||||
full_args_locale << scm_iconv(@path_encoding, 'UTF-8', e)
|
full_args_locale << scm_iconv(@path_encoding, 'UTF-8', e)
|
||||||
end
|
end
|
||||||
ret = shellout(full_args_locale.map { |e| shell_quote e.to_s }.join(' '), &block)
|
ret = shellout(
|
||||||
|
self.class.sq_bin + ' ' + full_args_locale.map { |e| shell_quote e.to_s }.join(' '),
|
||||||
|
&block
|
||||||
|
)
|
||||||
if $? && $?.exitstatus != 0
|
if $? && $?.exitstatus != 0
|
||||||
raise ScmCommandAborted, "cvs exited with non-zero status: #{$?.exitstatus}"
|
raise ScmCommandAborted, "cvs exited with non-zero status: #{$?.exitstatus}"
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
def sq_bin
|
def sq_bin
|
||||||
@@sq_bin ||= shell_quote(DARCS_BIN)
|
@@sq_bin ||= shell_quote_command
|
||||||
end
|
end
|
||||||
|
|
||||||
def client_version
|
def client_version
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
def sq_bin
|
def sq_bin
|
||||||
@@sq_bin ||= shell_quote(GIT_BIN)
|
@@sq_bin ||= shell_quote_command
|
||||||
end
|
end
|
||||||
|
|
||||||
def client_version
|
def client_version
|
||||||
@@ -359,13 +359,16 @@ module Redmine
|
|||||||
|
|
||||||
def scm_cmd(*args, &block)
|
def scm_cmd(*args, &block)
|
||||||
repo_path = root_url || url
|
repo_path = root_url || url
|
||||||
full_args = [GIT_BIN, '--git-dir', repo_path]
|
full_args = ['--git-dir', repo_path]
|
||||||
if self.class.client_version_above?([1, 7, 2])
|
if self.class.client_version_above?([1, 7, 2])
|
||||||
full_args << '-c' << 'core.quotepath=false'
|
full_args << '-c' << 'core.quotepath=false'
|
||||||
full_args << '-c' << 'log.decorate=no'
|
full_args << '-c' << 'log.decorate=no'
|
||||||
end
|
end
|
||||||
full_args += args
|
full_args += args
|
||||||
ret = shellout(full_args.map { |e| shell_quote e.to_s }.join(' '), &block)
|
ret = shellout(
|
||||||
|
self.class.sq_bin + ' ' + full_args.map { |e| shell_quote e.to_s }.join(' '),
|
||||||
|
&block
|
||||||
|
)
|
||||||
if $? && $?.exitstatus != 0
|
if $? && $?.exitstatus != 0
|
||||||
raise ScmCommandAborted, "git exited with non-zero status: #{$?.exitstatus}"
|
raise ScmCommandAborted, "git exited with non-zero status: #{$?.exitstatus}"
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
changeset = 'This template must be used with --debug option\n'
|
|
||||||
changeset_quiet = 'This template must be used with --debug option\n'
|
|
||||||
changeset_verbose = 'This template must be used with --debug option\n'
|
|
||||||
changeset_debug = '<logentry revision="{rev}" node="{node|short}">\n<author>{author|escape}</author>\n<date>{date|isodate}</date>\n<paths>\n{files}{file_adds}{file_dels}{file_copies}</paths>\n<msg>{desc|escape}</msg>\n{tags}</logentry>\n\n'
|
|
||||||
|
|
||||||
file = '<path action="M">{file|urlescape}</path>\n'
|
|
||||||
file_add = '<path action="A">{file_add|urlescape}</path>\n'
|
|
||||||
file_del = '<path action="D">{file_del|urlescape}</path>\n'
|
|
||||||
file_copy = '<path-copied copyfrom-path="{source|urlescape}">{name|urlescape}</path-copied>\n'
|
|
||||||
tag = '<tag>{tag|escape}</tag>\n'
|
|
||||||
header='<?xml version="1.0" encoding="UTF-8" ?>\n<log>\n\n'
|
|
||||||
# footer="</log>"
|
|
||||||
@@ -46,7 +46,7 @@ Output example of rhmanifest::
|
|||||||
</rhmanifest>
|
</rhmanifest>
|
||||||
"""
|
"""
|
||||||
import re, time, cgi, urllib
|
import re, time, cgi, urllib
|
||||||
from mercurial import cmdutil, commands, node, error
|
from mercurial import cmdutil, commands, node, error, hg
|
||||||
|
|
||||||
_x = cgi.escape
|
_x = cgi.escape
|
||||||
_u = lambda s: cgi.escape(urllib.quote(s))
|
_u = lambda s: cgi.escape(urllib.quote(s))
|
||||||
@@ -146,7 +146,10 @@ def rhlog(ui, repo, *pats, **opts):
|
|||||||
bra = urllib.unquote_plus(opts.pop('rhbranch', None))
|
bra = urllib.unquote_plus(opts.pop('rhbranch', None))
|
||||||
from_rev = from_rev.replace('"', '\\"')
|
from_rev = from_rev.replace('"', '\\"')
|
||||||
to_rev = to_rev.replace('"', '\\"')
|
to_rev = to_rev.replace('"', '\\"')
|
||||||
opts['rev'] = ['"%s":"%s"' % (from_rev, to_rev)]
|
if hg.util.version() >= '1.6':
|
||||||
|
opts['rev'] = ['"%s":"%s"' % (from_rev, to_rev)]
|
||||||
|
else:
|
||||||
|
opts['rev'] = ['%s:%s' % (from_rev, to_rev)]
|
||||||
opts['branch'] = [bra]
|
opts['branch'] = [bra]
|
||||||
return commands.log(ui, repo, *map(urllib.unquote_plus, pats), **opts)
|
return commands.log(ui, repo, *map(urllib.unquote_plus, pats), **opts)
|
||||||
|
|
||||||
@@ -196,21 +199,21 @@ cmdtable = {
|
|||||||
[
|
[
|
||||||
('r', 'rev', [], 'show the specified revision'),
|
('r', 'rev', [], 'show the specified revision'),
|
||||||
('b', 'branch', [],
|
('b', 'branch', [],
|
||||||
'show changesets within the given named branch', 'BRANCH'),
|
'show changesets within the given named branch'),
|
||||||
('l', 'limit', '',
|
('l', 'limit', '',
|
||||||
'limit number of changes displayed', 'NUM'),
|
'limit number of changes displayed'),
|
||||||
('d', 'date', '',
|
('d', 'date', '',
|
||||||
'show revisions matching date spec', 'DATE'),
|
'show revisions matching date spec'),
|
||||||
('u', 'user', [],
|
('u', 'user', [],
|
||||||
'revisions committed by user', 'USER'),
|
'revisions committed by user'),
|
||||||
('', 'from', '',
|
('', 'from', '',
|
||||||
'', ''),
|
''),
|
||||||
('', 'to', '',
|
('', 'to', '',
|
||||||
'', ''),
|
''),
|
||||||
('', 'rhbranch', '',
|
('', 'rhbranch', '',
|
||||||
'', ''),
|
''),
|
||||||
('', 'template', '',
|
('', 'template', '',
|
||||||
'display with template', 'TEMPLATE')],
|
'display with template')],
|
||||||
'hg rhlog [OPTION]... [FILE]'),
|
'hg rhlog [OPTION]... [FILE]'),
|
||||||
'rhmanifest': (rhmanifest,
|
'rhmanifest': (rhmanifest,
|
||||||
[('r', 'rev', '', 'show the specified revision')],
|
[('r', 'rev', '', 'show the specified revision')],
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
def sq_bin
|
def sq_bin
|
||||||
@@sq_bin ||= shell_quote(HG_BIN)
|
@@sq_bin ||= shell_quote_command
|
||||||
end
|
end
|
||||||
|
|
||||||
def client_version
|
def client_version
|
||||||
@@ -47,7 +47,7 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
def client_available
|
def client_available
|
||||||
client_version_above?([0, 9, 5])
|
client_version_above?([1, 2])
|
||||||
end
|
end
|
||||||
|
|
||||||
def hgversion
|
def hgversion
|
||||||
@@ -72,12 +72,7 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
def template_path_for(version)
|
def template_path_for(version)
|
||||||
if ((version <=> [0,9,5]) > 0) || version.empty?
|
"#{HELPERS_DIR}/#{TEMPLATE_NAME}-1.0.#{TEMPLATE_EXTENSION}"
|
||||||
ver = "1.0"
|
|
||||||
else
|
|
||||||
ver = "0.9.5"
|
|
||||||
end
|
|
||||||
"#{HELPERS_DIR}/#{TEMPLATE_NAME}-#{ver}.#{TEMPLATE_EXTENSION}"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -294,11 +289,14 @@ module Redmine
|
|||||||
# Runs 'hg' command with the given args
|
# Runs 'hg' command with the given args
|
||||||
def hg(*args, &block)
|
def hg(*args, &block)
|
||||||
repo_path = root_url || url
|
repo_path = root_url || url
|
||||||
full_args = [HG_BIN, '-R', repo_path, '--encoding', 'utf-8']
|
full_args = ['-R', repo_path, '--encoding', 'utf-8']
|
||||||
full_args << '--config' << "extensions.redminehelper=#{HG_HELPER_EXT}"
|
full_args << '--config' << "extensions.redminehelper=#{HG_HELPER_EXT}"
|
||||||
full_args << '--config' << 'diff.git=false'
|
full_args << '--config' << 'diff.git=false'
|
||||||
full_args += args
|
full_args += args
|
||||||
ret = shellout(full_args.map { |e| shell_quote e.to_s }.join(' '), &block)
|
ret = shellout(
|
||||||
|
self.class.sq_bin + ' ' + full_args.map { |e| shell_quote e.to_s }.join(' '),
|
||||||
|
&block
|
||||||
|
)
|
||||||
if $? && $?.exitstatus != 0
|
if $? && $?.exitstatus != 0
|
||||||
raise HgCommandAborted, "hg exited with non-zero status: #{$?.exitstatus}"
|
raise HgCommandAborted, "hg exited with non-zero status: #{$?.exitstatus}"
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ module Redmine
|
|||||||
end
|
end
|
||||||
|
|
||||||
def sq_bin
|
def sq_bin
|
||||||
@@sq_bin ||= shell_quote(SVN_BIN)
|
@@sq_bin ||= shell_quote_command
|
||||||
end
|
end
|
||||||
|
|
||||||
def client_version
|
def client_version
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ module Redmine
|
|||||||
module VERSION #:nodoc:
|
module VERSION #:nodoc:
|
||||||
MAJOR = 1
|
MAJOR = 1
|
||||||
MINOR = 2
|
MINOR = 2
|
||||||
TINY = 1
|
TINY = 2
|
||||||
|
|
||||||
# Branch values:
|
# Branch values:
|
||||||
# * official release: nil
|
# * official release: nil
|
||||||
|
|||||||
@@ -100,14 +100,14 @@ Processed emails control options:
|
|||||||
Examples:
|
Examples:
|
||||||
# No project specified. Emails MUST contain the 'Project' keyword:
|
# No project specified. Emails MUST contain the 'Project' keyword:
|
||||||
|
|
||||||
rake redmine:email:receive_iamp RAILS_ENV="production" \\
|
rake redmine:email:receive_imap RAILS_ENV="production" \\
|
||||||
host=imap.foo.bar username=redmine@example.net password=xxx
|
host=imap.foo.bar username=redmine@example.net password=xxx
|
||||||
|
|
||||||
|
|
||||||
# Fixed project and default tracker specified, but emails can override
|
# Fixed project and default tracker specified, but emails can override
|
||||||
# both tracker and priority attributes:
|
# both tracker and priority attributes:
|
||||||
|
|
||||||
rake redmine:email:receive_iamp RAILS_ENV="production" \\
|
rake redmine:email:receive_imap RAILS_ENV="production" \\
|
||||||
host=imap.foo.bar username=redmine@example.net password=xxx ssl=1 \\
|
host=imap.foo.bar username=redmine@example.net password=xxx ssl=1 \\
|
||||||
project=foo \\
|
project=foo \\
|
||||||
tracker=bug \\
|
tracker=bug \\
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
class AuthSource < ActiveRecord::Base
|
class AuthSource < ActiveRecord::Base
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'Auth0'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'Auth0'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,20 +1,8 @@
|
|||||||
class Board < ActiveRecord::Base
|
class Board < ActiveRecord::Base
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'A Forum'
|
||||||
generator_for :description, :method => :next_description
|
generator_for :description, :start => 'Some description here'
|
||||||
generator_for :project, :method => :generate_project
|
generator_for :project, :method => :generate_project
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'A Forum'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.next_description
|
|
||||||
@last_description ||= 'Some description here'
|
|
||||||
@last_description.succ!
|
|
||||||
@last_description
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.generate_project
|
def self.generate_project
|
||||||
Project.generate!
|
Project.generate!
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,14 +1,8 @@
|
|||||||
class Change < ActiveRecord::Base
|
class Change < ActiveRecord::Base
|
||||||
generator_for :action => 'A'
|
generator_for :action => 'A'
|
||||||
generator_for :path, :method => :next_path
|
generator_for :path, :start => 'test/dir/aaa0001'
|
||||||
generator_for :changeset, :method => :generate_changeset
|
generator_for :changeset, :method => :generate_changeset
|
||||||
|
|
||||||
def self.next_path
|
|
||||||
@last_path ||= 'test/dir/aaa0001'
|
|
||||||
@last_path.succ!
|
|
||||||
@last_path
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.generate_changeset
|
def self.generate_changeset
|
||||||
Changeset.generate!
|
Changeset.generate!
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,14 +1,8 @@
|
|||||||
class Changeset < ActiveRecord::Base
|
class Changeset < ActiveRecord::Base
|
||||||
generator_for :revision, :method => :next_revision
|
generator_for :revision, :start => '1'
|
||||||
generator_for :committed_on => Date.today
|
generator_for :committed_on => Date.today
|
||||||
generator_for :repository, :method => :generate_repository
|
generator_for :repository, :method => :generate_repository
|
||||||
|
|
||||||
def self.next_revision
|
|
||||||
@last_revision ||= '1'
|
|
||||||
@last_revision.succ!
|
|
||||||
@last_revision
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.generate_repository
|
def self.generate_repository
|
||||||
Repository::Subversion.generate!
|
Repository::Subversion.generate!
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
class CustomField < ActiveRecord::Base
|
class CustomField < ActiveRecord::Base
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'CustomField0'
|
||||||
generator_for :field_format => 'string'
|
generator_for :field_format => 'string'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'CustomField0'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
class DocumentCategory < Enumeration
|
class DocumentCategory < Enumeration
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'DocumentCategory0'
|
||||||
generator_for :type => 'DocumentCategory'
|
generator_for :type => 'DocumentCategory'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'DocumentCategory0'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
class Document < ActiveRecord::Base
|
class Document < ActiveRecord::Base
|
||||||
generator_for :title, :method => :next_title
|
generator_for :title, :start => 'Document001'
|
||||||
|
|
||||||
def self.next_title
|
|
||||||
@last_title ||= 'Document001'
|
|
||||||
@last_title.succ!
|
|
||||||
@last_title
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
class EnabledModule < ActiveRecord::Base
|
class EnabledModule < ActiveRecord::Base
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'module_001'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'module_001'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
class Enumeration < ActiveRecord::Base
|
class Enumeration < ActiveRecord::Base
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'Enumeration0'
|
||||||
generator_for :type => 'TimeEntryActivity'
|
generator_for :type => 'TimeEntryActivity'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'Enumeration0'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
class Group < Principal
|
class Group < Principal
|
||||||
generator_for :lastname, :method => :next_lastname
|
generator_for :lastname, :start => 'Group'
|
||||||
|
|
||||||
def self.next_lastname
|
|
||||||
@last_lastname ||= 'Group'
|
|
||||||
@last_lastname.succ!
|
|
||||||
@last_lastname
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
class IssueCategory < ActiveRecord::Base
|
class IssueCategory < ActiveRecord::Base
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'Category 0001'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'Category 0001'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,13 +1,7 @@
|
|||||||
class Issue < ActiveRecord::Base
|
class Issue < ActiveRecord::Base
|
||||||
generator_for :subject, :method => :next_subject
|
generator_for :subject, :start => 'Subject 0'
|
||||||
generator_for :author, :method => :next_author
|
generator_for :author, :method => :next_author
|
||||||
generator_for :priority, :method => :fetch_priority
|
generator_for :priority, :method => :fetch_priority
|
||||||
|
|
||||||
def self.next_subject
|
|
||||||
@last_subject ||= 'Subject 0'
|
|
||||||
@last_subject.succ!
|
|
||||||
@last_subject
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.next_author
|
def self.next_author
|
||||||
User.generate_with_protected!
|
User.generate_with_protected!
|
||||||
@@ -16,5 +10,4 @@ class Issue < ActiveRecord::Base
|
|||||||
def self.fetch_priority
|
def self.fetch_priority
|
||||||
IssuePriority.first || IssuePriority.generate!
|
IssuePriority.first || IssuePriority.generate!
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
class IssuePriority < Enumeration
|
class IssuePriority < Enumeration
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'IssuePriority0'
|
||||||
generator_for :type => 'IssuePriority'
|
generator_for :type => 'IssuePriority'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'IssuePriority0'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
class IssueStatus < ActiveRecord::Base
|
class IssueStatus < ActiveRecord::Base
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'Status 0'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'Status 0'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,20 +1,8 @@
|
|||||||
class Message < ActiveRecord::Base
|
class Message < ActiveRecord::Base
|
||||||
generator_for :subject, :method => :next_subject
|
generator_for :subject, :start => 'A Message'
|
||||||
generator_for :content, :method => :next_content
|
generator_for :content, :start => 'Some content here'
|
||||||
generator_for :board, :method => :generate_board
|
generator_for :board, :method => :generate_board
|
||||||
|
|
||||||
def self.next_subject
|
|
||||||
@last_subject ||= 'A Message'
|
|
||||||
@last_subject.succ!
|
|
||||||
@last_subject
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.next_content
|
|
||||||
@last_content ||= 'Some content here'
|
|
||||||
@last_content.succ!
|
|
||||||
@last_content
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.generate_board
|
def self.generate_board
|
||||||
Board.generate!
|
Board.generate!
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,16 +1,5 @@
|
|||||||
class News < ActiveRecord::Base
|
class News < ActiveRecord::Base
|
||||||
generator_for :title, :method => :next_title
|
generator_for :title, :start => 'A New Item'
|
||||||
generator_for :description, :method => :next_description
|
generator_for :description, :start => 'Some content here'
|
||||||
|
|
||||||
def self.next_title
|
|
||||||
@last_title ||= 'A New Item'
|
|
||||||
@last_title.succ!
|
|
||||||
@last_title
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.next_description
|
|
||||||
@last_description ||= 'Some content here'
|
|
||||||
@last_description.succ!
|
|
||||||
@last_description
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,21 +1,8 @@
|
|||||||
class Project < ActiveRecord::Base
|
class Project < ActiveRecord::Base
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'Project 0'
|
||||||
generator_for :identifier, :method => :next_identifier_from_object_daddy
|
generator_for :identifier, :start => 'project-0000'
|
||||||
generator_for :enabled_modules, :method => :all_modules
|
generator_for :enabled_modules, :method => :all_modules
|
||||||
generator_for :trackers, :method => :next_tracker
|
generator_for :trackers, :method => :next_tracker
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'Project 0'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
|
|
||||||
# Project#next_identifier is defined on Redmine
|
|
||||||
def self.next_identifier_from_object_daddy
|
|
||||||
@last_identifier ||= 'project-0000'
|
|
||||||
@last_identifier.succ!
|
|
||||||
@last_identifier
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.all_modules
|
def self.all_modules
|
||||||
[].tap do |modules|
|
[].tap do |modules|
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
class Query < ActiveRecord::Base
|
class Query < ActiveRecord::Base
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'Query 0'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'Query 0'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,11 +1,5 @@
|
|||||||
class Repository < ActiveRecord::Base
|
class Repository < ActiveRecord::Base
|
||||||
generator_for :type => 'Subversion'
|
generator_for :type => 'Subversion'
|
||||||
generator_for :url, :method => :next_url
|
generator_for :url, :start => 'file:///test/svn'
|
||||||
|
|
||||||
def self.next_url
|
|
||||||
@last_url ||= 'file:///test/svn'
|
|
||||||
@last_url.succ!
|
|
||||||
@last_url
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
class Role < ActiveRecord::Base
|
class Role < ActiveRecord::Base
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'Role0'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'Role0'
|
|
||||||
@last_name.succ!
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,11 +1,5 @@
|
|||||||
class Repository::Subversion < Repository
|
class Repository::Subversion < Repository
|
||||||
generator_for :type, :method => 'Subversion'
|
generator_for :type, :method => 'Subversion'
|
||||||
generator_for :url, :method => :next_url
|
generator_for :url, :start => 'file:///test/svn'
|
||||||
|
|
||||||
def self.next_url
|
|
||||||
@last_url ||= 'file:///test/svn'
|
|
||||||
@last_url.succ!
|
|
||||||
@last_url
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
class TimeEntryActivity < Enumeration
|
class TimeEntryActivity < Enumeration
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'TimeEntryActivity0'
|
||||||
generator_for :type => 'TimeEntryActivity'
|
generator_for :type => 'TimeEntryActivity'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'TimeEntryActivity0'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -6,5 +6,4 @@ class TimeEntry < ActiveRecord::Base
|
|||||||
def self.generate_user
|
def self.generate_user
|
||||||
User.generate_with_protected!
|
User.generate_with_protected!
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
class Tracker < ActiveRecord::Base
|
class Tracker < ActiveRecord::Base
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'Tracker 0'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'Tracker 0'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,30 +1,12 @@
|
|||||||
class User < Principal
|
class User < Principal
|
||||||
generator_for :login, :method => :next_login
|
generator_for :login, :start => 'user1'
|
||||||
generator_for :mail, :method => :next_email
|
generator_for :mail, :method => :next_email
|
||||||
generator_for :firstname, :method => :next_firstname
|
generator_for :firstname, :start => 'Bob'
|
||||||
generator_for :lastname, :method => :next_lastname
|
generator_for :lastname, :start => 'Doe'
|
||||||
|
|
||||||
def self.next_login
|
|
||||||
@gen_login ||= 'user1'
|
|
||||||
@gen_login.succ!
|
|
||||||
@gen_login
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.next_email
|
def self.next_email
|
||||||
@last_email ||= 'user1'
|
@last_email ||= 'user1'
|
||||||
@last_email.succ!
|
@last_email.succ!
|
||||||
"#{@last_email}@example.com"
|
"#{@last_email}@example.com"
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.next_firstname
|
|
||||||
@last_firstname ||= 'Bob'
|
|
||||||
@last_firstname.succ!
|
|
||||||
@last_firstname
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.next_lastname
|
|
||||||
@last_lastname ||= 'Doe'
|
|
||||||
@last_lastname.succ!
|
|
||||||
@last_lastname
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,11 +1,5 @@
|
|||||||
class Version < ActiveRecord::Base
|
class Version < ActiveRecord::Base
|
||||||
generator_for :name, :method => :next_name
|
generator_for :name, :start => 'Version 1.0.0'
|
||||||
generator_for :status => 'open'
|
generator_for :status => 'open'
|
||||||
|
|
||||||
def self.next_name
|
|
||||||
@last_name ||= 'Version 1.0.0'
|
|
||||||
@last_name.succ!
|
|
||||||
@last_name
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,13 +1,7 @@
|
|||||||
class WikiPage < ActiveRecord::Base
|
class WikiPage < ActiveRecord::Base
|
||||||
generator_for :title, :method => :next_title
|
generator_for :title, :start => 'AWikiPage'
|
||||||
generator_for :wiki, :method => :generate_wiki
|
generator_for :wiki, :method => :generate_wiki
|
||||||
|
|
||||||
def self.next_title
|
|
||||||
@last_title ||= 'AWikiPage'
|
|
||||||
@last_title.succ!
|
|
||||||
@last_title
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.generate_wiki
|
def self.generate_wiki
|
||||||
Wiki.generate!
|
Wiki.generate!
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,20 +1,8 @@
|
|||||||
class WikiRedirect < ActiveRecord::Base
|
class WikiRedirect < ActiveRecord::Base
|
||||||
generator_for :title, :method => :next_title
|
generator_for :title, :start => 'AWikiPage'
|
||||||
generator_for :redirects_to, :method => :next_redirects_to
|
generator_for :redirects_to, :start => '/a/path/000001'
|
||||||
generator_for :wiki, :method => :generate_wiki
|
generator_for :wiki, :method => :generate_wiki
|
||||||
|
|
||||||
def self.next_title
|
|
||||||
@last_title ||= 'AWikiPage'
|
|
||||||
@last_title.succ!
|
|
||||||
@last_title
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.next_redirects_to
|
|
||||||
@last_redirect ||= '/a/path/000001'
|
|
||||||
@last_redirect.succ!
|
|
||||||
@last_redirect
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.generate_wiki
|
def self.generate_wiki
|
||||||
Wiki.generate!
|
Wiki.generate!
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -0,0 +1,240 @@
|
|||||||
|
From JSmith@somenet.foo Mon Jun 27 06:55:56 2011
|
||||||
|
Return-Path: <JSmith@somenet.foo>
|
||||||
|
X-Original-To: redmine@somenet.foo
|
||||||
|
Delivered-To: redmine@somenet.foo
|
||||||
|
From: John Smith <JSmith@somenet.foo>
|
||||||
|
Mime-Version: 1.0 (Apple Message framework v1084)
|
||||||
|
Content-Type: multipart/alternative; boundary=Apple-Mail-3-163265085
|
||||||
|
Subject: Test attaching images to tickets by HTML mail
|
||||||
|
Date: Mon, 27 Jun 2011 16:55:46 +0300
|
||||||
|
To: redmine@somenet.foo
|
||||||
|
Message-Id: <7ABE3636-07E8-47C9-90A1-FCB1AA894DA1@somenet.foo>
|
||||||
|
X-Mailer: Apple Mail (2.1084)
|
||||||
|
|
||||||
|
|
||||||
|
--Apple-Mail-3-163265085
|
||||||
|
Content-Transfer-Encoding: quoted-printable
|
||||||
|
Content-Type: text/plain;
|
||||||
|
charset=us-ascii
|
||||||
|
|
||||||
|
Yet another test!
|
||||||
|
|
||||||
|
|
||||||
|
--Apple-Mail-3-163265085
|
||||||
|
Content-Type: multipart/related;
|
||||||
|
type="text/html";
|
||||||
|
boundary=Apple-Mail-4-163265085
|
||||||
|
|
||||||
|
|
||||||
|
--Apple-Mail-4-163265085
|
||||||
|
Content-Transfer-Encoding: quoted-printable
|
||||||
|
Content-Type: text/html;
|
||||||
|
charset=us-ascii
|
||||||
|
|
||||||
|
<html><head></head><body style=3D"word-wrap: break-word; =
|
||||||
|
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
|
||||||
|
<br></body></html>=
|
||||||
|
|
||||||
|
--Apple-Mail-4-163265085
|
||||||
|
Content-Transfer-Encoding: base64
|
||||||
|
Content-Disposition: inline;
|
||||||
|
filename=paella.jpg
|
||||||
|
Content-Type: image/jpg;
|
||||||
|
x-unix-mode=0644;
|
||||||
|
name="paella.jpg"
|
||||||
|
Content-Id: <1207F0B5-9F9D-4AB4-B547-AF9033E82111>
|
||||||
|
|
||||||
|
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcU
|
||||||
|
FhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgo
|
||||||
|
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCACmAMgDASIA
|
||||||
|
AhEBAxEB/8QAHQAAAgMBAQEBAQAAAAAAAAAABQYABAcDCAIBCf/EADsQAAEDAwMCBQIDBQcFAQAA
|
||||||
|
AAECAwQABREGEiExQQcTIlFhcYEUMpEVI0Kh0QhSYrHB4fAWJCUzQ3L/xAAaAQADAQEBAQAAAAAA
|
||||||
|
AAAAAAADBAUCAQYA/8QAKhEAAgIBBAICAgIDAAMAAAAAAQIAAxEEEiExIkEFE1FhMnFCkaEjwdH/
|
||||||
|
2gAMAwEAAhEDEQA/ACTUdSsdhRCNE54GTRaBaXHiBtNOVo0wEpSt8BKfmpWCZRPHcVbdZ3X1J9Jx
|
||||||
|
Tla9OBpIU8Noo7Gjx4qdrCBkfxGupUSck13GJjeT1ObEdthOG04/zpX8SNXjR1njym46ZMmQ+llp
|
||||||
|
pStuc9T9hRq/X22afhKl3iazEYHdxWCfgDqT9K83eKfiFG1RfIEi3tuC3W9KlNh0YLqyeuO3QV0D
|
||||||
|
MznM9O2uai4QI8psYQ8gLA9virY615P034xX+zNNslLDsMKOG1J5HuAa3nQPiBZ9WtpUy4lmcE4U
|
||||||
|
ypXP2rmMHmcI/EealD7te7ZZ2S7dLhGiN9cvOBP+dIF18btHw3C1DkSbi7nATGZJBPwTitTIyZp9
|
||||||
|
SsCun9oJaEFUDTy0oyQFyXSOfoB/rQOL466huE9LIagxW1A48tkuKJxwBlQrm4YzNhGPE9Mmua8Y
|
||||||
|
JrzsrXPiQ42y7+KtsZt4kpS8ltK0p91J5IzXGFr3xFef8pMqE4vJABZT6se3FDNyEZzNCh89Tfbv
|
||||||
|
aoV2iKj3GO2+0eyh0+h7VkWq/CqTDUqXpp0uJHPkKOFj6HofvQRzxZ1bbwFTG7c+jO0lKeh+cGi8
|
||||||
|
bxrebZZVMtjDqljKgw4Rt9uuea5vEIEceoL09ZnHQoyGy3KaOFhxO0j6g0J8QNPr3tzorHmsJSUv
|
||||||
|
NgdQeprTIuqbfqdtD7MRxh7HO/H6ZHWlnW0e5tQnv2WgupAyEg8p9xUl7WGowpzKCoDXyJ5nvMdK
|
||||||
|
Uuho4bSv057CqK2stIWrgEZp2kWtE+O5+MC0OKUchHFCbnaWVNeW1KU3tTtwtAUkj6jkfpXoK7gQ
|
||||||
|
AZLsqYEmJ0mUBlLeCfeqHKl5PqJopNhriupQWyoqPpKeQfpTXYPDW+3ZlEhTTcVpXI8w+oj6Cmty
|
||||||
|
qMxTazHAi1ZLG/PXuKClv3Ip7t2n4yI3lKZSsEc7hmicXwfu5ThN22fCUH+tXB4QX1KdzN6WVjth
|
||||||
|
Q/1oDuG/yjCIV/xgWLouQFfiLK/5LqejbnKT9D1FStX05DRaYrTN8K232wEl1aMJV856VKF9hPc3
|
||||||
|
9QPM32HEjxEjykBSh/ERSd4s61uGjLbBnQrcie2t4pfClEFKAM8Y704uvtsMrdfcQ20gZUtZAAHu
|
||||||
|
SawHxt8V7PKt/wCytPp/aLrToW7JAPlNkAjAPfOfpQ0JY4E42B3Nf09ruwXvTQvjM9lmGkfvvOWE
|
||||||
|
llXdKvn/ADrONZeNwU28zo2Ml1tHpXc5Y2spP+EHlR/5ivOzYkPPKdjMechRDjrCUHy1Ec9Aa1Lw
|
||||||
|
l0VF10pcy4XJC0RlbTFTgKbHwnokfSibFXkzAJbiJ0tN81jc1yHXplzkEEqkPA7UjvtR2H1/SrOl
|
||||||
|
rGu6NvP7Q8yhaWkDruVj/n616Lvl20n4Z2cpeS02tSfRHbAU69/t8nivOGoNXzNQSVRbFAbtsFal
|
||||||
|
FESEjBOepUR1rBs3D8CFVMHjmXNYW+wWtsMrlMvyyOW4h3FB9irpn70lx7k9AeDttW4w70DgWd3+
|
||||||
|
1NmlvDi7XpL0iShcWG0dqllO5SlHsB35NG7l4PSRG823z0YbGFqkDaFK+MZx7d6XOu09Z2M8MKHb
|
||||||
|
OBM1vBuAkJcuUgyHXRu3KfDp+5ycVTaeU36kKUlYOQQcEVrehvC5l1Mh/VClISHFMttIVgL45VnH
|
||||||
|
TkEH4rQbjpHTbyGWVQIzL7bYabc2AnaMfYnAxk0K35Smo7e/2IRdC7eXUwfT5m6pfbtC/wARIlLW
|
||||||
|
VNu7yoN9MlQ9h3NO+n9Cwo8rzZU1Sm2Mlx9YLaUkHjaOv3Nc7zd7FoyY5D07HR56SfMl7961ZGNo
|
||||||
|
9gKXrtd77dnkssoSwt7K9rZG8jHU44Tkc9q0rvbyvipnNgT9kTRLvqKy2JDgS/8AiH3hjecKXjv2
|
||||||
|
/SkG8akmRyhqG+hKSQ4dpyofBxxV2w+Hkuda27pMW5tcSpWxati1HJGQTkYp70xoS2MW1pp+ImXN
|
||||||
|
koJLi+UtfP1FAt1dFPHcPXQ9nPUy+/3pu4usrYZS16MOKCAkuLJypRxX5aG5ExX4VlfC/Vt98e3z
|
||||||
|
WvL8M9NsNMtyFyVyGx6h5uPMPyMcV9Q9HQbbdWwzHQGFHKVhStw+uTQTr6tu1IQad85M46baVarV
|
||||||
|
uVkJ/mDVCVqWUll59t4FxlW0ocOA4k+1P8uLGU35UgAhQ2kgdRWUeIMi2WyKqASFLJJbWchQI7Ul
|
||||||
|
pWWyw5GSYZ1IXA4Ez7U12mR7q95jCWgTuCQeoPsaGqntylbCpIdxnaSM/wBK56lujtydZS4UkNIw
|
||||||
|
CBzQO4RURywWnUupcQF7knoT1BHYg5r0lFY2DIwZKvYq5x1DjUo26WzJKEuIQoFSFDIP+9bzaL0x
|
||||||
|
+HZcZcQpC0ggewIrzYzNJQGpGVt+/cUw2PU8+0vqWEJnW8q/9KzgpHslXb6UV6yw4gBZg8z1NZbj
|
||||||
|
Ek43LQDjkZFMLbkMcJW3+orKvDq86T1SUssrEef3iPq2rz8f3vtTZrtizaR0pOvD8XephOG2959a
|
||||||
|
ycJH60HBBxDBhjMB+L9/RY7WpT7jam3kkNNJwSs+/NSss0Bpi4+Jmpfxl7kPOQ2k7iCfyI/hQOwz
|
||||||
|
/vUroqrUnceZ8LnIG2Cdaa61Dq54i7SVJi5ymGwdjSf/ANe/86s6W0TLvkNySp5pcVjBUy0oAD5x
|
||||||
|
1P1NbDbPALTQjp/aC5bj+OS27tH+VOmjPDqw6QEv9lNPFcpIQ4p5zeSB0A/WtNYoXCwK1nOWgjwk
|
||||||
|
sFrg2wuJjtKl5IJUBwPakLxDXbNI6/alaGW6b87uL1vjJCmAogjcvHTrnb8DpVnxj1q1oOS7b9PP
|
||||||
|
j9qSEErA58gHuf8AF7CsStOurpBjKZioQqS6sqU+vlayepPvQytu3cgz/fEPWaXfFjYEfLlo5+bM
|
||||||
|
/aurr+X33vW6lIJUD/dyen2p80zboMNG6NBEGOygJLy04cdAGRjjn5NYRD1NcjMMme8XpST6Q4Mp
|
||||||
|
H0HStstF4kO2lMS5vAlTfq9O04PQZ+KifILaqg3PnPodS5o0S3I0q4x2T3Kr+obzH1HsjuFFpeUU
|
||||||
|
B5s5Snck4ST0z0p502w5HZW86qW5lXLbpSeMfHFZH4gpFutbDlrmNtujlxvzc705HAHfB5qknVSI
|
||||||
|
VliuWK7STcHVBL7Ticc8c8f70IaMaipWq4z+oo6jT2sr8ma3qCfBky48be4zvcAOB6gR/CMd6EXF
|
||||||
|
m9EPKhx3Vx92EJdADmOmQKJ2y5xVpiJlW+OzPSj1LbSBtURyoGjFzWqPbHljClFBLbiBnHHUmpeT
|
||||||
|
WdqiPISuDM/e0bark4YzkEJkJ9RebGF7u+T/AKVeg6DbVdXHJ6U/hi35KAlRGU44zj/WrtpdfSlt
|
||||||
|
D7m54jKznr/WnOAVKa9Y7cGtDVWodhaH1WnVlD7cZxPhq3NMobbeBeZQnalKlZ47cUQDSGtvlqwn
|
||||||
|
GEp7AVQdbddWQHkp2dOea6qWHQlPmJSscEE9aET/AJCK/X+JFxUtuKecHnKxx8VXRKiBSkuKII55
|
||||||
|
PSvq4yUQmf3qspxwc8is71fqZMeKtTO0AHn3V8UaitrDgdmcdtoyZ215q1USShq0bZClghTYPqFL
|
||||||
|
Vr0xH1otbt1XKZkpT6cccfOaF6SZkz7q7dZYWHjz0ykJp2Yvi4YaYVHdUXjs2eSUlR7HPt89KoW5
|
||||||
|
p8af5D3OVLldz9GLmsNLR1WZiI+oJlRB5aHgBuKe2cdaxd5tVsuy0OJbdWwvkKGUq+or0PqiyXVy
|
||||||
|
IJ7za1NlIJbz6m/fgdv61lN000qWJ09EWQ8++6lqM01k8geokY5p/wCK1RXK2Nn/AOz75PS1vStt
|
||||||
|
Y594iCUnOauWi5SLXMDzIQ4g8ONOp3IcT7KHcVduWn7nbWg5OgSI6SopBcQUjPtzXK1RX1OqkMtb
|
||||||
|
0xcPO9PSkHrzV0WKRkHM86a2BwZqFm0da9c2pdw0asM3JgBT9qdd2uNH+8y51x7A/rSjrXUmq129
|
||||||
|
Om9TuyvKhu70NyUYd4GBlX8QofG1hcLbrBF/tZ/DvtqGEDhJQONpA6gjrXq61f8AS/jDo9mXNhNu
|
||||||
|
nGxxPR2O5jkBXX+tY3bcFhPtoPAin4H6gsMTQgLEhtM7eoyGioBYI4Tx7Yx+pqUr668ILjZXDOtS
|
||||||
|
XZsdvlMiGkJlND/GgYDg+Rg1KwUDHIM2r7Bgiei5NwiQo635cllllAypbiwAPvWO678c4UJuRH0y
|
||||||
|
gSHkDBkrHpz2CR3+prHbXJ1L4o6matwkKaYP7xzkhthsdVEf8NLWrzbo94fh2RKjAjqLSHFnKniO
|
||||||
|
Cs/X/KuLSAcN3OfYW5HUD3SXJutxfnTnVOyn1lbi1HJJNPnh9otyfbJF5lLabjpJQ0FjlZHUis9C
|
||||||
|
lDOO9bdHkS4WkbXBlIMdaGUnyhwkjqFfU5pf5K566gqe+I98TpBqb9pnB/Q9wu7kdyOGUNNp3oWp
|
||||||
|
Owq7+3P1r9uQmqllqS+S+ghClFWR+vtT/Z7goWGOopbjodwEltQOcdR16/WrcrTFmW4tyYZHmuDc
|
||||||
|
dhwkDHSvNvq2BC2+up6PThdIzDvMypelJN2lI8+M9JKxsZS1/Cfcn2+tF9K6Oh6ZeW5fYS5VwKgl
|
||||||
|
locpR3Cvk0+zJTdtioi2htDe5OVL/KAPcn3r5j3ZtdmkrKFTFJ3EDG7BAzgH9a+XX2sNi8CJXaZW
|
||||||
|
c3GIN7u0u931+KwhaGGspKQMKcKepVV5UmU1DZZtzspMVKQXm3F5B+gHIH0zQCBImKuiJMeCuEH1
|
||||||
|
YCfVkjv+bqSKr6t1U7a7uxEgurS0yMLBASc/arlenBULiSGtOSSY6WKJKXckJU2tplSt6FA7gfvW
|
||||||
|
gxA/sUBggDGSayGya5ed8tkNqSlXVYOVVpEZydIablRFF6ORgjGFJPyKga3Tuj5Il2rVC6sKT1L9
|
||||||
|
tiuPTnDI3eSfc/lqrqWOuHFK4qlF1HIX7j2NWIkyQ8XEApSUcD/Ea5TmZj2SggqUMKSrp9KUByQM
|
||||||
|
T45U5mSS9UzJMtMZ93GFcqJ7UL8Q3UOOww24Bx6h3V8/Sqev0sx7u4IqkB5w8tJ4KFfNBXG3Fuo/
|
||||||
|
FPqLxA3FXXHtXp9PQiBXXiTGZrmIjTo68qh+Y2ygPhYSAlXIBz1rYHp04RkNRnWDOA5KyEgDrgVh
|
||||||
|
mmSmPcCfQpWCACnINFdRXOW3GQ4+60GgcJKDgr+R70lqdP8AZaAvuUK3woDY4mqyrjeFWppZZUXW
|
||||||
|
lnzUlYCVp+K+LLeYEoLLG5lGdxQk4wcfyrOourlyIzbDhcKVNhHB7e9XYlxatbam0dVDOAOT96Rf
|
||||||
|
TEDBHMMpU9dTQpVxiTWXGUqDy1n0hxCSAPvXnfWVtnWO9TI8lpLHnZOGxhKkE54+K1K1XhLj4S4j
|
||||||
|
GOnxX5qiNZ7wlpd1Di30ZS0hKtu4kdCaN8fqG0luxhwYtrdOtqZXsTA1dTWh+B+unNG6tbTIWTap
|
||||||
|
hDUhGeE56L+oP8qSbtBXDnyWSB+7WUnadwH3rgYT6IQmEpS0VbU5WNyj8DrXr/F1/ueXIZT1P6Hh
|
||||||
|
aVoSpJBSoZBB4IqVjPgP4ii72eHZLsSJrCPKadP8YA4B+cfrUpMgg4jK8jMybw5vUfT/AIXatujD
|
||||||
|
iRc5S24DX95KVAkn/P8ASstODk9asPSXvwZbUEoQpzhtIwkYHt9z1q3NZiO2uNMhFLbif3chkryc
|
||||||
|
9lAHsabbAbP5i6DI/qctPSokW9w3p0cvsIcBLY7+2fituuVxYvDbAMZ2VIUkeX5I5x3Tgdqznwz0
|
||||||
|
xbb/ADZQuy3w2y2FISycHJz3+MVtWnNLwNMb3G0SZDvlgb3DlWPgf86V5/5e+oOAc7l/9y18WLK/
|
||||||
|
IdH/AHB+l23bLPLMl0RkyQS22r1eWQO/tR178NEju3GS8ZahyVIc7ewA4qpKKfxzTMOGHCsBZSob
|
||||||
|
ueveitut+XGo8tpDacEp2DAP69ahNYHO4yo1rMxJgt22RLy0l5bYQ04jckLWfM+o7frVPUMpdg0a
|
||||||
|
65EfXvaX5XOArnp9hTtGgRbcyhL6PPbaG1ClnJAPvWeeMl0FogwnWGYkqKHSFxnUkpSojgkD79aJ
|
||||||
|
pQbblr9ZgNRcAhMzli9zZYfS27NkPBIKAFKVnnkn2pf1PaZbMNm4PpkDzeV+c0UEK+p6/WtX8H5M
|
||||||
|
GXDm3OS22Jq3P/W2AlIHwOgFVPF+VBfjqKi4sEHBKSAVfFegXWsmo+pV4zJZ0wareTFbw71Y1Ab/
|
||||||
|
AAjbcNh1Q/8Ae9yaYU33VESW5KdK1wucuMpwgj3FYq4S456E7VDjimGHqa6wYqIS5HmMq42LOQBT
|
||||||
|
Wo0AYll5z+YCjV7MA+puVmuDkgh7evZt3bsdK46s1uiNZSY6iHwSj82CPnFC7PcbdbdOxkPTiqaB
|
||||||
|
5iQlXCf61mV9uC79dn39oDIVztGAajafRK9pPoSrZezKAOzKclyXcLgue8VLUo7sHrUaVIfeCloG
|
||||||
|
T0Uo9qstKdbcBLZUg9DiuzkbY4VDIBGQkdBVkuBxOrRtAwf7naKlyMoqQ4pRI9RHH2qtc1/i/KS+
|
||||||
|
p3yWchtKwcIzX7HnoQv1nbgYUR7+9NESXCmR1xdjexxOXCTg9ODSzO1bBiJvCsCBFu3eahwltCnA
|
||||||
|
O6ATj6082K2rlltyXGSsIGEhzPP1xQa1QJNngLmMuNPMrPKE5BwKuzrw6Yu6JJVGWkZSkHIXn274
|
||||||
|
pe8m0+H+51G2DBlu4J/DzFKbWhICiS2EgH7H2FD3JTMuclt7B2ArBzgJPvQNF1lSUFoON5JyST1P
|
||||||
|
tmgEu5yY0wgJ2uoUd27nPtRKdEzHk8xezVLUnHudtXsRYc4rt8pxZdKvMSpWcH60M07a03W5JZcW
|
||||||
|
UtgFSj8Dt96orKnVKUQVK6nv966R5b0dCksLLe4gkp68dOatKjBNgPMiM4Z9xHE1fwCkQx4pqYdC
|
||||||
|
vJcC1RwT0WkZH8s1KVPDm+Psa208ogAtysqWOqyo4JP2qUtanPM2jDEL+OWn49u8R5UK0MbGClDg
|
||||||
|
bSOApYyQPvSzM0rKt9qiXCRs8uSSlCeQoHnII+1aJ/aAZWjxImL3FILTSwR/+RX7bhqJ561XC5Jj
|
||||||
|
O20pSnyFYJWMZypJ6djWLdSa1BzxDUaYWnaOzH/RlmZ0nYWPJab9SQqS5t/eLV2+wzj7UfZmouM8
|
||||||
|
MNtlsNoKlFZAV8H4FULPfmrmtyCtwJfQjKggFIVx2orHsbUZ1TzCktFwfvVKJJUB05968jqHaxyz
|
||||||
|
y3t+sBeiJJTLSXA6hAWscFSTjke561yfkAlte4h88BIJwB3q5Hjx297RUpWfUD+YYqs5Gjx3HJJK
|
||||||
|
ywRylIGM+/vShBMIrDMtpKiyVKcWtvaP3aRnn3HevOfi9eZM/UEiEv8A7eOHgkhfT0jg4+5r0JJu
|
||||||
|
ENLad0plpWM9c8dqUtTaMtGoJS37gyXH3UANyEHH6iqXx99entD2CK31m1CqmZZomd+HjORbXte8
|
||||||
|
hOVLSk4USeTRm4xrvqbTjseUGmozTmVPLH5fgfNNNhYtWmJardbw3tf59XqIwepNM2poyJVpdKEt
|
||||||
|
+SRuCR/EfemLdWou3oO/cJXVmsI08z3BiFp7UakMuonR0jk47+31oG7iTM/dkNoWvCdx/KCe9P8A
|
||||||
|
dIzR1PAZfjtI3gx3QsAJHznFKOqbfbbXKSzbriZrwJ8390UJRjpgnrXpdNeLAM9kSDqKDWT+AYcu
|
||||||
|
1ivcK2x1KdiyYSejrCgSnPZXehTLqou7cghKRkgd6Px9SWp2xsMT23HF7QgpaOCFDoaCxFee4UKC
|
||||||
|
gCT14P3oKs5B+xccx+kIpG0wlaJKZLB9KglB5Uo9KsLeDj2GzjI+1AjmPLH4ZzCVEApPAIopGCFR
|
||||||
|
1rSpW4naaFbWB5DqUabMnaYEuTGyc40le4deO1fMZam17krwAOua7yYjyZCiG8hZ65ya57WW3W2y
|
||||||
|
lS3FDkFW0CmgdygdydZ4MT1HezzUy4iCwVKLKcFtSuD74r9uVtRJabLZ8obckpTlP60ItSLXOeDT
|
||||||
|
KlR1spG9W7clw/ejN4mXa0MDYA9FLn7olIxtxyFCprVkWbU7/cY+0FNx6/UU70GYDBQw6FrUcAgH
|
||||||
|
ke9Lq3FHkkk980xXedHuYWt6D5L4A2rQrCQO4xV+yaaiTrW5JL29GRgflUCOoJ5wPmqaOKUy/cl3
|
||||||
|
Zufw6itbriuAJHloSVPNlvJ/hB61RCwVAKPHc1YubQZmvNpSlKUqIACtwH371Tzk/FOKAeR7ibEj
|
||||||
|
g+o06QWy7riziG2pDf4lsJCjknnrUrv4TtIe1/ZQ50Q+Fk/TkfzxUpW7ggQ1a7xmbF/aGsKEX83N
|
||||||
|
U4IU8wFJZWMbtvBwf04pOieITadOMxXmWRJR6CsD1HHTH2xWx/2irAu9aJTIjJJkQXgsYHJSrg/6
|
||||||
|
V5os1rjsynVXOQY8uMsER1t8r+M9j0pSymu1P/J6j+ktatxtE23QtvmwYar3cX0JjyE+hhQ9ROeC
|
||||||
|
a0CJJaLTe+Uhfm/l7/YUhWKUxfbKxCztdQkJStWdySf7o/rTHZLC7bW3g5M819Y2pLiPy/TmvLak
|
||||||
|
AsSeCPUp7i1hB6h+Ytbnl+US2AfVx/nXyWg4kpeOQ4CPT2FVX0JacS6qWpASnC0qIINDLlKKGyGp
|
||||||
|
QaLmADgYA74xzSY7zDpWW4Eq2e0N2yXMdmKS6twlCUO4IQj3+po86RGWzGjtNgO4AATwlPXNAmPK
|
||||||
|
dLanH15K04SEE5x7GrsGWLnclJ9SHGuCrOCU+1E2s5zNfSE/7mJniFFciyHJ6XEktoIylWBjPPHv
|
||||||
|
SnC1HKlFK25Kls7cBpSvy4PtWwXHSsCXIUqUt15Tg2qStfpx7kUIc0JZIqHlpGwqTgFJxgZzx809
|
||||||
|
XfWE22DJgwQD49TGr0pN2nlL7i2JKjvC1DCc9qUtRR47sjLQWiYkYdbX0PyDWwax09bZpcZtpdbl
|
||||||
|
FJO5aztJxkD46Vl83TclMT8SlDjh28lIJwfY/NXdDqK8Ag4iGsosYHK8QVKiRIztv/BqccWUhT6l
|
||||||
|
jASruBVpEoKkOAYLhJO0D9KGIUoqQ2vucYPaidptb0i6lCMNt8lSlq/N8VRcDblz1J9Tbf4CEGYb
|
||||||
|
rzbjiEBLqQQAtQAzUs7jrqnGFNJy0fUMcA/WjlutUySrLT0dLGw5C08hQ6fbNCrTBuVlubjjkJ58
|
||||||
|
pJwU5Lef72B1pQMLFYZGY0bHQggS7KYUw35ivUlXU9xSfdCp5QWltSUp/iPfNaBLtv4KGiVOkYcf
|
||||||
|
X5imS2dyE9uM8DvjrQc2hyYsg+WGSfSQKxRatfJMLepvXA7iilxtKmlMJcQ4nlSlKzn7U4wbou7Y
|
||||||
|
RK9SGeUpzjJPciuLmi5ayDF8t3nsrHFfFx0lcbeSptYWhKUlS0EjBP8ADR2votx5DMSFF1eRjiGF
|
||||||
|
OWuK4mO+y2lTyFIWpw5SCeivgZpNuCzBU4zEmBbTnUtq4UP+ZoxaNIXG6So5ebX5C3NillXQd/pV
|
||||||
|
zWlmYtEJmEiARLz6XEerf78jrXy3VK4XO4mDsSzbwMYiQI8iQlx5tpa2kfmWBwK4BKVdDiicpq5t
|
||||||
|
NGItl1DbbYdUgDgAjO40JZSpxwBA5zVBDnn1EnGD+5rn9n+1pXeZlzcQFIYbCEEjoo9x9galN/hp
|
||||||
|
BFn06wwQA89+9cPfJ7fpUpG072zHql2Libtf225NukRX+WnWyhX0Iry9drM3ar2i4XN0h6BKS28r
|
||||||
|
O5TiByleD8Yr0ldJyHWtyOD0UKzHW9taloXM8jzkhBbkN4yVt+4HunqPvQXBxkTqH1E2dck2u5wp
|
||||||
|
9rUW0yiVPKCdwQgkYJx361pca9NSGG3C5kIR6nkD0g/Ws5uMMT4DJtFyZTCdSlAjlsJKTnHpP+hr
|
||||||
|
hapk+yxP2fNW7+DeSrAIyN3uP0qJfQtij8/9lPTlkznmPNwdh3FgILzgcK/3bqSfUfZQpW1BMuNr
|
||||||
|
hKeeQlCyrCWeu0DjdXL9oW2NAadjuLbdj4UFBQIWoe6Scg/NEo5cu81h+5JAQtvcgdE++Tmlvr+o
|
||||||
|
5YZEbpvstyvRlPSGtFvNJjzox4JKHknHP0pq03c2GlTAp5j8Spw7d5CVEYHANL9xsrTbMibHUCUJ
|
||||||
|
IKEt8JPvxSey4ZylLX/8yOSMbqIK67stXwIT0NxyZubSDKUX1lbawkAZ9u+KHXeez5ja3HwhpPxy
|
||||||
|
D2HNZu1rG7W5zeqS0EgbUggHA+nvVaNqOXdr5HVNcQhCV71BKQNx7ZzxQxoW7PUIgGcmNs6SqW+W
|
||||||
|
2hvdc53qRgkHgc0YsdpVGgluSGygrUdqQClJ+TXVu2sSSu4x3PxD20qDa14yccAe2KruPvNw23Lg
|
||||||
|
z+HDytqh1Chjoo9utAJ9LC22h0CqMRc15omyXhCnLc0mLc0c7mcBKiBnCk/PuKy646YvkCU0qLuL
|
||||||
|
iWylQUPyE9cH5/WtkRLs0VhTLzqW22sEqLm5xXPTjtV2bLt88sttrCSpQxsOSCPeqGn191ACnyH7
|
||||||
|
k27RI/K8TFdFOOYcTcAWENqIcUpJBz23DvTqvWMRElm3uQiUpIQ08BgJV259qdFWjzorsd8RXQ7k
|
||||||
|
KJHCh7E9yBWWatszVpmsKRuCRgJTn0g5P9KKt9WrtJYYM+q07IgQGWpsNN/lsTH5W7yF7H22+Nqc
|
||||||
|
ZJz84r8sMda284IRztBHal19yRbslgltMjKVA01abvCmLamK6AprbtGeoo1ysKwF5Eao0TsxK9xu
|
||||||
|
03BS6hS9gU4DzkUWj26G4osKbSpRysBQJGaE2W822NHDbyngM7s4wM/avmZqdhrelhorSoEbxknn
|
||||||
|
5qVtctnEOdLZnkQvKjIhuNojNZyraQMYTx1PtXzeYMZtDS30IS4lQWhWMkH4+tIxvz8GT5iQt1Bz
|
||||||
|
vSoHBPbNVjPvGo33HWnSEsgqTgcE9NtMJpWyGJwJ9dQVGOxAGt9QruazbYxQGMAOOjBUo9hn4pf0
|
||||||
|
vYiu7AvEKQ0rcQOh9hX47bJMW5qjlrCyohKSoEgfOKboflWmIhhsb5S+Sfk16SsCmsLX1PLWoXsz
|
||||||
|
Z2I6QZ3kBKc5dPGPapSw28qMn1q3PK/Mc9PipQ4YVMwyJt2oHV2uZuGVML/mKoKWlwbkHchQ4qkN
|
||||||
|
ZaevsQxzcmQsj0byUkH71TgOvRVqbeG6Ks+l5PqSD9RXxBioihqTS8Vm7JlNyHGIqlZWWujDmQQr
|
||||||
|
H9339q/bihUVLqVvh1ak7S6g8KHwO1OshQIIUAoHg96z7VdpkxIEw2chTDqTmOr/AOZ90Ht9KWv0
|
||||||
|
7WkYMf0Oqr075sXIgLTkZl7Uy1zZCQhpsuDOOuQOa05NvYkS0J8h1UUDd5w5UOOAfisK026yJZj3
|
||||||
|
YOR3i56XRzkn+EitUsN4uEvEeCpDCGlEOL67ldMikfk6HUg54Ef02pS9i6jEcLpcGUMLSW9iU43J
|
||||||
|
6EjH+VZ9NuLDmQqCIsdxR7e30rQWNPKaebmOTVrdXysq5C+OhFfcm129Y/7ptghJ3JKU8j6VLqtS
|
||||||
|
rvmNFNx4mNXGMy6jEQqeUF5V8D2oS63JalpaQdrhxjdyQK2O6Ls8SOGm0hO7ohKeVH2FIl205Pdd
|
||||||
|
cmMskrICkNg+pIz0IqrptWGGDwP3M3VhFye4w2hmVGYaUmUUsrwcpOSn5xTpcpUJu1vOmQpwObUK
|
||||||
|
S6njfnjjtzWOu6iu3luRnIhQGTtJHBB/pRq1u3G5hhKFlIVneVdz9+lKXaRgdzkCdRxYMg9S9qB+
|
||||||
|
A/MS0tpYIVudaZTgOqwAPtUdjTkORXGmhHbKgltKVBJSMd+9Mtv/ABrcWRFLUdxATl0lGFlWOx7/
|
||||||
|
AAaEOJhuLZipYdksr6BokraVnnd7VhbOl7xBfWwctnj8T9m39strVFa9aMggZKlK+lLGpXLhc47d
|
||||||
|
smsKjlSgpJWg5A65B7dfrWk2vTdus8p+clS1vYyEurB2H+pqs9erVc32zJIbeZXtS2oZO8fH+tap
|
||||||
|
sVH3VrnHucXftIeZf/0zdZDYbKlPlpJWVnkZ7D704WLRhTbkOzg6XVpxsB2+Wfr3p0hzIylPPtth
|
||||||
|
KEr2uFQxuI7ChV61IhaTGay24okBST0J6GutrLLPACMJY6DxMze/Ldtdzcik7gnlJ+DVJF2KTlVO
|
||||||
|
0O2M3WK8mQ0h5/HoIOFdepPalq5aTuapziQhptrPUkHA609VZW3i3cbHyRVfKU03RLishXIpfVqe
|
||||||
|
Q2lyJC/dZWQpfzmqF5f/AGdcSw08hwJxnb3V7CqcNl5qWp6U2lKRnYnOefeqlOjQDcw4kX5D5g2Y
|
||||||
|
Wn13GOKsQklxR8yU51UecUSt+5GX3vU8rue1CbeypxfnO/YUWB9jRGIHAiVNZc72lgLJVzzUrmg1
|
||||||
|
KFiOjjqIwUpPKSR96KWnUl1tLoXCmOt+4CuD9qFlOe9fm3nrT5wexPN5I6msWHxHjzili+Nhlw4A
|
||||||
|
faGBn5HSmicCI6X2loeiufkeb5Sf6GvPqknrTJpPVs2wPbMh+EvhxhzlKh9KA1XtYZbM9xj1Laos
|
||||||
|
/K1ICHv74/1qnbryuwBtCIYQgDatbayQv5wehpnu8NiXaBebK6X7csgOIPK4yj/Cr49jSbJXwQel
|
||||||
|
BesWLseGrsNTbkjx/wBWQ4FvYfdntLW8NwZC8qT9RQ9Gq3bo8ERlBDajgrJ/KPekB1ltLqZCAlK0
|
||||||
|
HcCUgjP0NfIuy1Tg+yw2y4kEL8kYSv52nj9KSPxNQ/jyZRr+UYfyGJt+nm7Kje95pflEAFxR6H/C
|
||||||
|
DQW+OSocpBjL/EFZOHmzyR7GkzSl9ZLr5uE2LFBOPLWlWSPccYFaxpS8WZlP4aEpDri8OKO4KBP+
|
||||||
|
lTL9NZQ/kMxg21agBi3MXo9ulOvB1uC8p0j1LV0PH86JQ7QpiSh94mO3tUFBSeMn2zTsJjKFrde8
|
||||||
|
g8DbsIJA78VzbuEd6MVLaSWFZSCUZI985pRnJjCviI2nbncJNzXDUhL7aSU5C8J2/OKcbTaodsU7
|
||||||
|
K8hLL6zuUndkA/GaU7tM/ZUlQjBlu3bdzbkdHKTnkE+59qU77q+4zISmGY8lbyVH96hKjlPHHFGG
|
||||||
|
me0+HAM7bcmMxv1V/wCQkLFvcdxzktd6RbNDC71lDgbS2dy3F9sHmh8PVF5ZQtEdteFDar0eof0o
|
||||||
|
8q7abXHYNxdDEhgYUUnYpffkdxmqFelspGMZz+Io2qQ+51v9/wDw7KkwZflxlElIKgTnPJNcH7mz
|
||||||
|
Asjbi1smU8QouE/PBH2pd1DreyOwnojMGPIK8+tLe3HGAfrSE9cVrjtJjFfozwv1bfpnj+VOaf40
|
||||||
|
so3DETv+RReF5m53LUNis0Bp9ExK3QkAoQ5nPfisq1druXd3CmMVtsDITlXOPn3pcMGS/HW84VKd
|
||||||
|
zwF9SKFKCs7T27U/pvjqaju7Mm6jW2uMdCE4tsukyI5cmY77sdtYSt4DICuoBNMFoWiapJcVhY6o
|
||||||
|
V7138N9XK0/JWw42l+BIT5cmMv8AK6jv9COxpi1XpBtE2LctJvfi7bOBdbAI8xrH5krHYj370zaf
|
||||||
|
R4gqCQwxzOCMJGE9K6A4rm20ttnDysuJ4OBxmq0uWllv08rNIjyOBPRsCg5GJLnODDZQg+s/yqUs
|
||||||
|
zJKlqUVHJNSmkqGOZOt1TBvGfZIxkVwWsg1KlaEmT8DhxX7u3dqlStTka/D3Ur2nrylKkfiIEr9z
|
||||||
|
IjK/K4g9fvR/xBsyLDqF+IwsrjqSl5rd1CFjcAfkZqVKHYIZOonyclpZz0oeygoUpWetSpWVmz1O
|
||||||
|
c6Ol9o9lDoaBIkPMOZS4obTg4URUqUzWAeDE7SVPEYrXrSZb30ORGwhwDG4rUr/M0SXri+SpYcYu
|
||||||
|
EiMMcJbVx9alSgtpad27aMw6ai0pjdKFz1nqJuSn/wAtIJIznj+lfQu11VueVdJm9weohwjNSpWj
|
||||||
|
UigYAmfsck8wPPlPKz5jzyz33LJoOt1SieSB7VKlGQQDk5n2w35qwCaYLbEQEBwgY7CpUrlphaAC
|
||||||
|
3MIkBKc0DuUUKC5CcJIPI96lSh18GH1AyINiI8x9CM4x3Fat4f6okWOY0qKkFv8AKpCgCFp75qVK
|
||||||
|
xqfUY+MUENmMmv7bHbDV5tqPJjTFcsK6pVgE4+Kz68xy41vZUEKPvUqUovDyufKjmfrVmYbiHd6n
|
||||||
|
cbis+/WpUqUcMZKdF44n/9k=
|
||||||
|
|
||||||
|
--Apple-Mail-4-163265085--
|
||||||
|
|
||||||
|
--Apple-Mail-3-163265085--
|
||||||
@@ -78,17 +78,6 @@ class IssuesControllerTest < ActionController::TestCase
|
|||||||
assert_tag :tag => 'a', :content => /Subproject issue/
|
assert_tag :tag => 'a', :content => /Subproject issue/
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_index_should_not_list_issues_when_module_disabled
|
|
||||||
EnabledModule.delete_all("name = 'issue_tracking' AND project_id = 1")
|
|
||||||
get :index
|
|
||||||
assert_response :success
|
|
||||||
assert_template 'index.rhtml'
|
|
||||||
assert_not_nil assigns(:issues)
|
|
||||||
assert_nil assigns(:project)
|
|
||||||
assert_no_tag :tag => 'a', :content => /Can't print recipes/
|
|
||||||
assert_tag :tag => 'a', :content => /Subproject issue/
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_index_should_list_visible_issues_only
|
def test_index_should_list_visible_issues_only
|
||||||
get :index, :per_page => 100
|
get :index, :per_page => 100
|
||||||
assert_response :success
|
assert_response :success
|
||||||
@@ -296,6 +285,27 @@ class IssuesControllerTest < ActionController::TestCase
|
|||||||
:parent => { :tag => 'select', :attributes => { :id => "selected_columns" } }
|
:parent => { :tag => 'select', :attributes => { :id => "selected_columns" } }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_index_without_project_should_implicitly_add_project_column_to_default_columns
|
||||||
|
Setting.issue_list_default_columns = ['tracker', 'subject', 'assigned_to']
|
||||||
|
get :index, :set_filter => 1
|
||||||
|
|
||||||
|
# query should use specified columns
|
||||||
|
query = assigns(:query)
|
||||||
|
assert_kind_of Query, query
|
||||||
|
assert_equal [:project, :tracker, :subject, :assigned_to], query.columns.map(&:name)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_index_without_project_and_explicit_default_columns_should_not_add_project_column
|
||||||
|
Setting.issue_list_default_columns = ['tracker', 'subject', 'assigned_to']
|
||||||
|
columns = ['tracker', 'subject', 'assigned_to']
|
||||||
|
get :index, :set_filter => 1, :c => columns
|
||||||
|
|
||||||
|
# query should use specified columns
|
||||||
|
query = assigns(:query)
|
||||||
|
assert_kind_of Query, query
|
||||||
|
assert_equal columns.map(&:to_sym), query.columns.map(&:name)
|
||||||
|
end
|
||||||
|
|
||||||
def test_index_with_custom_field_column
|
def test_index_with_custom_field_column
|
||||||
columns = %w(tracker subject cf_2)
|
columns = %w(tracker subject cf_2)
|
||||||
get :index, :set_filter => 1, :c => columns
|
get :index, :set_filter => 1, :c => columns
|
||||||
@@ -1258,7 +1268,7 @@ class IssuesControllerTest < ActionController::TestCase
|
|||||||
:attributes => {:name => "issue[custom_field_values][#{field.id}]"},
|
:attributes => {:name => "issue[custom_field_values][#{field.id}]"},
|
||||||
:children => {
|
:children => {
|
||||||
:only => {:tag => 'option'},
|
:only => {:tag => 'option'},
|
||||||
:count => Project.find(1).versions.count + 1
|
:count => Project.find(1).shared_versions.count + 1
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,14 @@ class RepositoriesGitControllerTest < ActionController::TestCase
|
|||||||
PRJ_ID = 3
|
PRJ_ID = 3
|
||||||
CHAR_1_HEX = "\xc3\x9c"
|
CHAR_1_HEX = "\xc3\x9c"
|
||||||
|
|
||||||
|
## Git, Mercurial and CVS path encodings are binary.
|
||||||
|
## Subversion supports URL encoding for path.
|
||||||
|
## Redmine Mercurial adapter and extension use URL encoding.
|
||||||
|
## Git accepts only binary path in command line parameter.
|
||||||
|
## So, there is no way to use binary command line parameter in JRuby.
|
||||||
|
JRUBY_SKIP = (RUBY_PLATFORM == 'java')
|
||||||
|
JRUBY_SKIP_STR = "TODO: This test fails in JRuby"
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
@ruby19_non_utf8_pass =
|
@ruby19_non_utf8_pass =
|
||||||
(RUBY_VERSION >= '1.9' && Encoding.default_external.to_s != 'UTF-8')
|
(RUBY_VERSION >= '1.9' && Encoding.default_external.to_s != 'UTF-8')
|
||||||
@@ -157,6 +165,8 @@ class RepositoriesGitControllerTest < ActionController::TestCase
|
|||||||
def test_entry_show_latin_1
|
def test_entry_show_latin_1
|
||||||
if @ruby19_non_utf8_pass
|
if @ruby19_non_utf8_pass
|
||||||
puts_ruby19_non_utf8_pass()
|
puts_ruby19_non_utf8_pass()
|
||||||
|
elsif JRUBY_SKIP
|
||||||
|
puts JRUBY_SKIP_STR
|
||||||
else
|
else
|
||||||
with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
|
with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
|
||||||
['57ca437c', '57ca437c0acbbcb749821fdf3726a1367056d364'].each do |r1|
|
['57ca437c', '57ca437c0acbbcb749821fdf3726a1367056d364'].each do |r1|
|
||||||
@@ -313,6 +323,8 @@ class RepositoriesGitControllerTest < ActionController::TestCase
|
|||||||
def test_annotate_latin_1
|
def test_annotate_latin_1
|
||||||
if @ruby19_non_utf8_pass
|
if @ruby19_non_utf8_pass
|
||||||
puts_ruby19_non_utf8_pass()
|
puts_ruby19_non_utf8_pass()
|
||||||
|
elsif JRUBY_SKIP
|
||||||
|
puts JRUBY_SKIP_STR
|
||||||
else
|
else
|
||||||
with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
|
with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
|
||||||
['57ca437c', '57ca437c0acbbcb749821fdf3726a1367056d364'].each do |r1|
|
['57ca437c', '57ca437c0acbbcb749821fdf3726a1367056d364'].each do |r1|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# redMine - project management software
|
# Redmine - project management software
|
||||||
# Copyright (C) 2006-2007 Jean-Philippe Lang
|
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
@@ -25,6 +25,15 @@ class CustomFieldTest < ActiveSupport::TestCase
|
|||||||
assert field.save
|
assert field.save
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_regexp_validation
|
||||||
|
field = IssueCustomField.new(:name => 'regexp', :field_format => 'text', :regexp => '[a-z0-9')
|
||||||
|
assert !field.save
|
||||||
|
assert_equal I18n.t('activerecord.errors.messages.invalid'), field.errors.on(:regexp)
|
||||||
|
|
||||||
|
field.regexp = '[a-z0-9]'
|
||||||
|
assert field.save
|
||||||
|
end
|
||||||
|
|
||||||
def test_possible_values_should_accept_an_array
|
def test_possible_values_should_accept_an_array
|
||||||
field = CustomField.new
|
field = CustomField.new
|
||||||
field.possible_values = ["One value", ""]
|
field.possible_values = ["One value", ""]
|
||||||
|
|||||||
@@ -0,0 +1,76 @@
|
|||||||
|
# Redmine - project management software
|
||||||
|
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation; either version 2
|
||||||
|
# of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
require File.expand_path('../../test_helper', __FILE__)
|
||||||
|
|
||||||
|
class CustomFieldVersionFormatTest < ActiveSupport::TestCase
|
||||||
|
fixtures :custom_fields, :projects, :members, :users, :member_roles, :trackers, :issues, :versions
|
||||||
|
|
||||||
|
def setup
|
||||||
|
@field = IssueCustomField.create!(:name => 'Tester', :field_format => 'version')
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_possible_values_with_no_arguments
|
||||||
|
assert_equal [], @field.possible_values
|
||||||
|
assert_equal [], @field.possible_values(nil)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_possible_values_with_project_resource
|
||||||
|
project = Project.find(1)
|
||||||
|
possible_values = @field.possible_values(project.issues.first)
|
||||||
|
assert possible_values.any?
|
||||||
|
assert_equal project.shared_versions.sort.collect(&:id).map(&:to_s), possible_values
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_possible_values_with_nil_project_resource
|
||||||
|
assert_equal [], @field.possible_values(Issue.new)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_possible_values_options_with_no_arguments
|
||||||
|
assert_equal [], @field.possible_values_options
|
||||||
|
assert_equal [], @field.possible_values_options(nil)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_possible_values_options_with_project_resource
|
||||||
|
project = Project.find(1)
|
||||||
|
possible_values_options = @field.possible_values_options(project.issues.first)
|
||||||
|
assert possible_values_options.any?
|
||||||
|
assert_equal project.shared_versions.sort.map {|u| [u.name, u.id.to_s]}, possible_values_options
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_possible_values_options_with_array
|
||||||
|
projects = Project.find([1, 2])
|
||||||
|
possible_values_options = @field.possible_values_options(projects)
|
||||||
|
assert possible_values_options.any?
|
||||||
|
assert_equal (projects.first.shared_versions & projects.last.shared_versions).sort.map {|u| [u.name, u.id.to_s]}, possible_values_options
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_cast_blank_value
|
||||||
|
assert_equal nil, @field.cast_value(nil)
|
||||||
|
assert_equal nil, @field.cast_value("")
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_cast_valid_value
|
||||||
|
version = @field.cast_value("2")
|
||||||
|
assert_kind_of Version, version
|
||||||
|
assert_equal Version.find(2), version
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_cast_invalid_value
|
||||||
|
assert_equal nil, @field.cast_value("187")
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -375,6 +375,26 @@ RAW
|
|||||||
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_wiki_links_within_local_file_generation_context
|
||||||
|
|
||||||
|
to_test = {
|
||||||
|
# link to a page
|
||||||
|
'[[CookBook documentation]]' => '<a href="CookBook_documentation.html" class="wiki-page">CookBook documentation</a>',
|
||||||
|
'[[CookBook documentation|documentation]]' => '<a href="CookBook_documentation.html" class="wiki-page">documentation</a>',
|
||||||
|
'[[CookBook documentation#One-section]]' => '<a href="CookBook_documentation.html#One-section" class="wiki-page">CookBook documentation</a>',
|
||||||
|
'[[CookBook documentation#One-section|documentation]]' => '<a href="CookBook_documentation.html#One-section" class="wiki-page">documentation</a>',
|
||||||
|
# page that doesn't exist
|
||||||
|
'[[Unknown page]]' => '<a href="Unknown_page.html" class="wiki-page new">Unknown page</a>',
|
||||||
|
'[[Unknown page|404]]' => '<a href="Unknown_page.html" class="wiki-page new">404</a>',
|
||||||
|
'[[Unknown page#anchor]]' => '<a href="Unknown_page.html#anchor" class="wiki-page new">Unknown page</a>',
|
||||||
|
'[[Unknown page#anchor|404]]' => '<a href="Unknown_page.html#anchor" class="wiki-page new">404</a>',
|
||||||
|
}
|
||||||
|
|
||||||
|
@project = Project.find(1)
|
||||||
|
|
||||||
|
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text, :wiki_links => :local) }
|
||||||
|
end
|
||||||
|
|
||||||
def test_html_tags
|
def test_html_tags
|
||||||
to_test = {
|
to_test = {
|
||||||
"<div>content</div>" => "<p><div>content</div></p>",
|
"<div>content</div>" => "<p><div>content</div></p>",
|
||||||
@@ -533,6 +553,43 @@ EXPECTED
|
|||||||
assert_equal expected, textilizable(raw)
|
assert_equal expected, textilizable(raw)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_headings_with_special_chars
|
||||||
|
# This test makes sure that the generated anchor names match the expected
|
||||||
|
# ones even if the heading text contains unconventional characters
|
||||||
|
raw = 'h1. Some heading related to version 0.5'
|
||||||
|
anchor = sanitize_anchor_name("Some-heading-related-to-version-0.5")
|
||||||
|
expected = %|<a name="#{anchor}"></a>\n<h1 >Some heading related to version 0.5<a href="##{anchor}" class="wiki-anchor">¶</a></h1>|
|
||||||
|
|
||||||
|
assert_equal expected, textilizable(raw)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_wiki_links_within_wiki_page_context
|
||||||
|
|
||||||
|
page = WikiPage.find_by_title('Another_page' )
|
||||||
|
|
||||||
|
to_test = {
|
||||||
|
# link to another page
|
||||||
|
'[[CookBook documentation]]' => '<a href="/projects/ecookbook/wiki/CookBook_documentation" class="wiki-page">CookBook documentation</a>',
|
||||||
|
'[[CookBook documentation|documentation]]' => '<a href="/projects/ecookbook/wiki/CookBook_documentation" class="wiki-page">documentation</a>',
|
||||||
|
'[[CookBook documentation#One-section]]' => '<a href="/projects/ecookbook/wiki/CookBook_documentation#One-section" class="wiki-page">CookBook documentation</a>',
|
||||||
|
'[[CookBook documentation#One-section|documentation]]' => '<a href="/projects/ecookbook/wiki/CookBook_documentation#One-section" class="wiki-page">documentation</a>',
|
||||||
|
# link to the current page
|
||||||
|
'[[Another page]]' => '<a href="/projects/ecookbook/wiki/Another_page" class="wiki-page">Another page</a>',
|
||||||
|
'[[Another page|Page]]' => '<a href="/projects/ecookbook/wiki/Another_page" class="wiki-page">Page</a>',
|
||||||
|
'[[Another page#anchor]]' => '<a href="#anchor" class="wiki-page">Another page</a>',
|
||||||
|
'[[Another page#anchor|Page]]' => '<a href="#anchor" class="wiki-page">Page</a>',
|
||||||
|
# page that doesn't exist
|
||||||
|
'[[Unknown page]]' => '<a href="/projects/ecookbook/wiki/Unknown_page" class="wiki-page new">Unknown page</a>',
|
||||||
|
'[[Unknown page|404]]' => '<a href="/projects/ecookbook/wiki/Unknown_page" class="wiki-page new">404</a>',
|
||||||
|
'[[Unknown page#anchor]]' => '<a href="/projects/ecookbook/wiki/Unknown_page#anchor" class="wiki-page new">Unknown page</a>',
|
||||||
|
'[[Unknown page#anchor|404]]' => '<a href="/projects/ecookbook/wiki/Unknown_page#anchor" class="wiki-page new">404</a>',
|
||||||
|
}
|
||||||
|
|
||||||
|
@project = Project.find(1)
|
||||||
|
|
||||||
|
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(WikiContent.generate!( :text => text, :page => page ), :text) }
|
||||||
|
end
|
||||||
|
|
||||||
def test_table_of_content
|
def test_table_of_content
|
||||||
raw = <<-RAW
|
raw = <<-RAW
|
||||||
{{toc}}
|
{{toc}}
|
||||||
|
|||||||
@@ -252,6 +252,20 @@ class IssueNestedSetTest < ActiveSupport::TestCase
|
|||||||
root = Issue.find(root.id)
|
root = Issue.find(root.id)
|
||||||
assert root.leaf?, "Root issue is not a leaf (lft: #{root.lft}, rgt: #{root.rgt})"
|
assert root.leaf?, "Root issue is not a leaf (lft: #{root.lft}, rgt: #{root.rgt})"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_destroy_issue_with_grand_child
|
||||||
|
parent = create_issue!
|
||||||
|
issue = create_issue!(:parent_issue_id => parent.id)
|
||||||
|
child = create_issue!(:parent_issue_id => issue.id)
|
||||||
|
grandchild1 = create_issue!(:parent_issue_id => child.id)
|
||||||
|
grandchild2 = create_issue!(:parent_issue_id => child.id)
|
||||||
|
|
||||||
|
assert_difference 'Issue.count', -4 do
|
||||||
|
Issue.find(issue.id).destroy
|
||||||
|
parent.reload
|
||||||
|
assert_equal [1, 2], [parent.lft, parent.rgt]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def test_parent_priority_should_be_the_highest_child_priority
|
def test_parent_priority_should_be_the_highest_child_priority
|
||||||
parent = create_issue!(:priority => IssuePriority.find_by_name('Normal'))
|
parent = create_issue!(:priority => IssuePriority.find_by_name('Normal'))
|
||||||
|
|||||||
@@ -83,11 +83,11 @@ class IssueStatusTest < ActiveSupport::TestCase
|
|||||||
assert_equal [2], status.new_statuses_allowed_to([role], tracker, false, false).map(&:id)
|
assert_equal [2], status.new_statuses_allowed_to([role], tracker, false, false).map(&:id)
|
||||||
assert_equal [2], status.find_new_statuses_allowed_to([role], tracker, false, false).map(&:id)
|
assert_equal [2], status.find_new_statuses_allowed_to([role], tracker, false, false).map(&:id)
|
||||||
|
|
||||||
assert_equal [2, 3], status.new_statuses_allowed_to([role], tracker, true, false).map(&:id)
|
assert_equal [2, 3, 5], status.new_statuses_allowed_to([role], tracker, true, false).map(&:id)
|
||||||
assert_equal [2, 3], status.find_new_statuses_allowed_to([role], tracker, true, false).map(&:id)
|
assert_equal [2, 3, 5], status.find_new_statuses_allowed_to([role], tracker, true, false).map(&:id)
|
||||||
|
|
||||||
assert_equal [2, 4], status.new_statuses_allowed_to([role], tracker, false, true).map(&:id)
|
assert_equal [2, 4, 5], status.new_statuses_allowed_to([role], tracker, false, true).map(&:id)
|
||||||
assert_equal [2, 4], status.find_new_statuses_allowed_to([role], tracker, false, true).map(&:id)
|
assert_equal [2, 4, 5], status.find_new_statuses_allowed_to([role], tracker, false, true).map(&:id)
|
||||||
|
|
||||||
assert_equal [2, 3, 4, 5], status.new_statuses_allowed_to([role], tracker, true, true).map(&:id)
|
assert_equal [2, 3, 4, 5], status.new_statuses_allowed_to([role], tracker, true, true).map(&:id)
|
||||||
assert_equal [2, 3, 4, 5], status.find_new_statuses_allowed_to([role], tracker, true, true).map(&:id)
|
assert_equal [2, 3, 4, 5], status.find_new_statuses_allowed_to([role], tracker, true, true).map(&:id)
|
||||||
|
|||||||
+11
-2
@@ -293,10 +293,10 @@ class IssueTest < ActiveSupport::TestCase
|
|||||||
assert_equal [1, 2], issue.new_statuses_allowed_to(user).map(&:id)
|
assert_equal [1, 2], issue.new_statuses_allowed_to(user).map(&:id)
|
||||||
|
|
||||||
issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :author => user)
|
issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :author => user)
|
||||||
assert_equal [1, 2, 3], issue.new_statuses_allowed_to(user).map(&:id)
|
assert_equal [1, 2, 3, 5], issue.new_statuses_allowed_to(user).map(&:id)
|
||||||
|
|
||||||
issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :assigned_to => user)
|
issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :assigned_to => user)
|
||||||
assert_equal [1, 2, 4], issue.new_statuses_allowed_to(user).map(&:id)
|
assert_equal [1, 2, 4, 5], issue.new_statuses_allowed_to(user).map(&:id)
|
||||||
|
|
||||||
issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :author => user, :assigned_to => user)
|
issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :author => user, :assigned_to => user)
|
||||||
assert_equal [1, 2, 3, 4, 5], issue.new_statuses_allowed_to(user).map(&:id)
|
assert_equal [1, 2, 3, 4, 5], issue.new_statuses_allowed_to(user).map(&:id)
|
||||||
@@ -674,6 +674,15 @@ class IssueTest < ActiveSupport::TestCase
|
|||||||
assert issue.assignable_users.include?(non_project_member)
|
assert issue.assignable_users.include?(non_project_member)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "include the current assignee" do
|
||||||
|
project = Project.find(1)
|
||||||
|
user = User.generate!
|
||||||
|
issue = Issue.generate_for_project!(project, :assigned_to => user)
|
||||||
|
user.lock!
|
||||||
|
|
||||||
|
assert Issue.find(issue.id).assignable_users.include?(user)
|
||||||
|
end
|
||||||
|
|
||||||
should "not show the issue author twice" do
|
should "not show the issue author twice" do
|
||||||
assignable_user_ids = Issue.find(1).assignable_users.collect(&:id)
|
assignable_user_ids = Issue.find(1).assignable_users.collect(&:id)
|
||||||
assert_equal 2, assignable_user_ids.length
|
assert_equal 2, assignable_user_ids.length
|
||||||
|
|||||||
@@ -20,6 +20,14 @@ begin
|
|||||||
# WINDOWS_PASS = Redmine::Platform.mswin?
|
# WINDOWS_PASS = Redmine::Platform.mswin?
|
||||||
WINDOWS_PASS = false
|
WINDOWS_PASS = false
|
||||||
|
|
||||||
|
## Git, Mercurial and CVS path encodings are binary.
|
||||||
|
## Subversion supports URL encoding for path.
|
||||||
|
## Redmine Mercurial adapter and extension use URL encoding.
|
||||||
|
## Git accepts only binary path in command line parameter.
|
||||||
|
## So, there is no way to use binary command line parameter in JRuby.
|
||||||
|
JRUBY_SKIP = (RUBY_PLATFORM == 'java')
|
||||||
|
JRUBY_SKIP_STR = "TODO: This test fails in JRuby"
|
||||||
|
|
||||||
if File.directory?(REPOSITORY_PATH)
|
if File.directory?(REPOSITORY_PATH)
|
||||||
def setup
|
def setup
|
||||||
adapter_class = Redmine::Scm::Adapters::GitAdapter
|
adapter_class = Redmine::Scm::Adapters::GitAdapter
|
||||||
@@ -262,6 +270,8 @@ begin
|
|||||||
def test_latin_1_path
|
def test_latin_1_path
|
||||||
if WINDOWS_PASS
|
if WINDOWS_PASS
|
||||||
#
|
#
|
||||||
|
elsif JRUBY_SKIP
|
||||||
|
puts JRUBY_SKIP_STR
|
||||||
else
|
else
|
||||||
p2 = "latin-1-dir/test-#{@char_1}-2.txt"
|
p2 = "latin-1-dir/test-#{@char_1}-2.txt"
|
||||||
['4fc55c43bf3d3dc2efb66145365ddc17639ce81e', '4fc55c43bf3'].each do |r1|
|
['4fc55c43bf3d3dc2efb66145365ddc17639ce81e', '4fc55c43bf3'].each do |r1|
|
||||||
@@ -322,6 +332,8 @@ begin
|
|||||||
def test_entries_latin_1_dir
|
def test_entries_latin_1_dir
|
||||||
if WINDOWS_PASS
|
if WINDOWS_PASS
|
||||||
#
|
#
|
||||||
|
elsif JRUBY_SKIP
|
||||||
|
puts JRUBY_SKIP_STR
|
||||||
else
|
else
|
||||||
entries1 = @adapter.entries("latin-1-dir/test-#{@char_1}-subdir",
|
entries1 = @adapter.entries("latin-1-dir/test-#{@char_1}-subdir",
|
||||||
'1ca7f5ed')
|
'1ca7f5ed')
|
||||||
|
|||||||
@@ -56,12 +56,14 @@ begin
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_template_path
|
def test_template_path
|
||||||
to_test = { [0,9,5] => "0.9.5",
|
to_test = {
|
||||||
[1,0] => "1.0",
|
[1,2] => "1.0",
|
||||||
[] => "1.0",
|
[] => "1.0",
|
||||||
[1,0,1] => "1.0",
|
[1,2,1] => "1.0",
|
||||||
[1,7] => "1.0",
|
[1,7] => "1.0",
|
||||||
[1,7,1] => "1.0" }
|
[1,7,1] => "1.0",
|
||||||
|
[2,0] => "1.0",
|
||||||
|
}
|
||||||
to_test.each do |v, template|
|
to_test.each do |v, template|
|
||||||
test_template_path_for(v, template)
|
test_template_path_for(v, template)
|
||||||
end
|
end
|
||||||
@@ -317,17 +319,21 @@ begin
|
|||||||
assert_equal 1, nib1.size
|
assert_equal 1, nib1.size
|
||||||
case bra
|
case bra
|
||||||
when 'branch (1)[2]&,%.-3_4'
|
when 'branch (1)[2]&,%.-3_4'
|
||||||
assert_equal 3, nib0.size
|
if @adapter.class.client_version_above?([1, 6])
|
||||||
assert_equal nib0[0], 'afc61e85bde7'
|
assert_equal 3, nib0.size
|
||||||
nib2 = @adapter.nodes_in_branch(bra, :limit => 2)
|
assert_equal nib0[0], 'afc61e85bde7'
|
||||||
assert_equal 2, nib2.size
|
nib2 = @adapter.nodes_in_branch(bra, :limit => 2)
|
||||||
assert_equal nib2[1], '933ca60293d7'
|
assert_equal 2, nib2.size
|
||||||
|
assert_equal nib2[1], '933ca60293d7'
|
||||||
|
end
|
||||||
when @branch_char_1
|
when @branch_char_1
|
||||||
assert_equal 2, nib0.size
|
if @adapter.class.client_version_above?([1, 6])
|
||||||
assert_equal nib0[1], '08ff3227303e'
|
assert_equal 2, nib0.size
|
||||||
nib2 = @adapter.nodes_in_branch(bra, :limit => 1)
|
assert_equal nib0[1], '08ff3227303e'
|
||||||
assert_equal 1, nib2.size
|
nib2 = @adapter.nodes_in_branch(bra, :limit => 1)
|
||||||
assert_equal nib2[0], '7bbf4c738e71'
|
assert_equal 1, nib2.size
|
||||||
|
assert_equal nib2[0], '7bbf4c738e71'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
# Redmine - project management software
|
# Redmine - project management software
|
||||||
# Copyright (C) 2006-2010 Jean-Philippe Lang
|
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
# as published by the Free Software Foundation; either version 2
|
# as published by the Free Software Foundation; either version 2
|
||||||
# of the License, or (at your option) any later version.
|
# of the License, or (at your option) any later version.
|
||||||
#
|
#
|
||||||
# This program is distributed in the hope that it will be useful,
|
# This program is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
@@ -22,7 +22,7 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
|||||||
def setup
|
def setup
|
||||||
@formatter = Redmine::WikiFormatting::Textile::Formatter
|
@formatter = Redmine::WikiFormatting::Textile::Formatter
|
||||||
end
|
end
|
||||||
|
|
||||||
MODIFIERS = {
|
MODIFIERS = {
|
||||||
"*" => 'strong', # bold
|
"*" => 'strong', # bold
|
||||||
"_" => 'em', # italic
|
"_" => 'em', # italic
|
||||||
@@ -31,7 +31,7 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
|||||||
"^" => 'sup', # superscript
|
"^" => 'sup', # superscript
|
||||||
"~" => 'sub' # subscript
|
"~" => 'sub' # subscript
|
||||||
}
|
}
|
||||||
|
|
||||||
def test_modifiers
|
def test_modifiers
|
||||||
assert_html_output(
|
assert_html_output(
|
||||||
'*bold*' => '<strong>bold</strong>',
|
'*bold*' => '<strong>bold</strong>',
|
||||||
@@ -46,7 +46,7 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
|||||||
'*(foo)two words*' => '<strong class="foo">two words</strong>'
|
'*(foo)two words*' => '<strong class="foo">two words</strong>'
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_modifiers_combination
|
def test_modifiers_combination
|
||||||
MODIFIERS.each do |m1, tag1|
|
MODIFIERS.each do |m1, tag1|
|
||||||
MODIFIERS.each do |m2, tag2|
|
MODIFIERS.each do |m2, tag2|
|
||||||
@@ -57,7 +57,7 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_inline_code
|
def test_inline_code
|
||||||
assert_html_output(
|
assert_html_output(
|
||||||
'this is @some code@' => 'this is <code>some code</code>',
|
'this is @some code@' => 'this is <code>some code</code>',
|
||||||
@@ -76,14 +76,14 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
|||||||
'h1. 2009\02\09' => '<h1>2009\02\09</h1>'
|
'h1. 2009\02\09' => '<h1>2009\02\09</h1>'
|
||||||
}, false)
|
}, false)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_double_dashes_should_not_strikethrough
|
def test_double_dashes_should_not_strikethrough
|
||||||
assert_html_output(
|
assert_html_output(
|
||||||
'double -- dashes -- test' => 'double -- dashes -- test',
|
'double -- dashes -- test' => 'double -- dashes -- test',
|
||||||
'double -- *dashes* -- test' => 'double -- <strong>dashes</strong> -- test'
|
'double -- *dashes* -- test' => 'double -- <strong>dashes</strong> -- test'
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_acronyms
|
def test_acronyms
|
||||||
assert_html_output(
|
assert_html_output(
|
||||||
'this is an acronym: GPL(General Public License)' => 'this is an acronym: <acronym title="General Public License">GPL</acronym>',
|
'this is an acronym: GPL(General Public License)' => 'this is an acronym: <acronym title="General Public License">GPL</acronym>',
|
||||||
@@ -91,7 +91,7 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
|||||||
'GPL(This is a double-quoted "title")' => '<acronym title="This is a double-quoted "title"">GPL</acronym>'
|
'GPL(This is a double-quoted "title")' => '<acronym title="This is a double-quoted "title"">GPL</acronym>'
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_blockquote
|
def test_blockquote
|
||||||
# orig raw text
|
# orig raw text
|
||||||
raw = <<-RAW
|
raw = <<-RAW
|
||||||
@@ -108,7 +108,7 @@ John said:
|
|||||||
|
|
||||||
He's right.
|
He's right.
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
# expected html
|
# expected html
|
||||||
expected = <<-EXPECTED
|
expected = <<-EXPECTED
|
||||||
<p>John said:</p>
|
<p>John said:</p>
|
||||||
@@ -128,10 +128,10 @@ Nullam commodo metus accumsan nulla. Curabitur lobortis dui id dolor.
|
|||||||
</blockquote>
|
</blockquote>
|
||||||
<p>He's right.</p>
|
<p>He's right.</p>
|
||||||
EXPECTED
|
EXPECTED
|
||||||
|
|
||||||
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
|
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_table
|
def test_table
|
||||||
raw = <<-RAW
|
raw = <<-RAW
|
||||||
This is a table with empty cells:
|
This is a table with empty cells:
|
||||||
@@ -153,7 +153,7 @@ EXPECTED
|
|||||||
|
|
||||||
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
|
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_table_with_line_breaks
|
def test_table_with_line_breaks
|
||||||
raw = <<-RAW
|
raw = <<-RAW
|
||||||
This is a table with line breaks:
|
This is a table with line breaks:
|
||||||
@@ -192,19 +192,26 @@ EXPECTED
|
|||||||
|
|
||||||
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
|
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_textile_should_not_mangle_brackets
|
def test_textile_should_not_mangle_brackets
|
||||||
assert_equal '<p>[msg1][msg2]</p>', to_html('[msg1][msg2]')
|
assert_equal '<p>[msg1][msg2]</p>', to_html('[msg1][msg2]')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_textile_should_escape_image_urls
|
||||||
|
# this is onclick="alert('XSS');" in encoded form
|
||||||
|
raw = '!/images/comment.png"onclick=alert('XSS');"!'
|
||||||
|
expected = '<p><img src="/images/comment.png"onclick=&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x27;&#x58;&#x53;&#x53;&#x27;&#x29;;&#x22;" alt="" /></p>'
|
||||||
|
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def assert_html_output(to_test, expect_paragraph = true)
|
def assert_html_output(to_test, expect_paragraph = true)
|
||||||
to_test.each do |text, expected|
|
to_test.each do |text, expected|
|
||||||
assert_equal(( expect_paragraph ? "<p>#{expected}</p>" : expected ), @formatter.new(text).to_html, "Formatting the following text failed:\n===\n#{text}\n===\n")
|
assert_equal(( expect_paragraph ? "<p>#{expected}</p>" : expected ), @formatter.new(text).to_html, "Formatting the following text failed:\n===\n#{text}\n===\n")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_html(text)
|
def to_html(text)
|
||||||
@formatter.new(text).to_html
|
@formatter.new(text).to_html
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -278,6 +278,16 @@ class MailHandlerTest < ActiveSupport::TestCase
|
|||||||
assert_kind_of Issue, issue
|
assert_kind_of Issue, issue
|
||||||
assert_equal tracker, issue.tracker
|
assert_equal tracker, issue.tracker
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_add_issue_from_apple_mail
|
||||||
|
issue = submit_email('apple_mail_with_attachment.eml', :issue => {:project => 'ecookbook'})
|
||||||
|
assert_kind_of Issue, issue
|
||||||
|
assert_equal 1, issue.attachments.size
|
||||||
|
|
||||||
|
attachment = issue.attachments.first
|
||||||
|
assert_equal 'paella.jpg', attachment.filename
|
||||||
|
assert_equal 10790, attachment.filesize
|
||||||
|
end
|
||||||
|
|
||||||
def test_should_ignore_emails_from_emission_address
|
def test_should_ignore_emails_from_emission_address
|
||||||
Role.anonymous.add_permission!(:add_issues)
|
Role.anonymous.add_permission!(:add_issues)
|
||||||
|
|||||||
+15
-1
@@ -356,7 +356,21 @@ class QueryTest < ActiveSupport::TestCase
|
|||||||
q.issues(:conditions => "foo = 1")
|
q.issues(:conditions => "foo = 1")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_issue_count
|
||||||
|
q = Query.new(:name => '_')
|
||||||
|
issue_count = q.issue_count
|
||||||
|
assert_equal q.issues.size, issue_count
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_issue_count_with_archived_issues
|
||||||
|
p = Project.generate!( :status => Project::STATUS_ARCHIVED )
|
||||||
|
i = Issue.generate!( :project => p, :tracker => p.trackers.first )
|
||||||
|
assert !i.visible?
|
||||||
|
|
||||||
|
test_issue_count
|
||||||
|
end
|
||||||
|
|
||||||
def test_issue_count_by_association_group
|
def test_issue_count_by_association_group
|
||||||
q = Query.new(:name => '_', :group_by => 'assigned_to')
|
q = Query.new(:name => '_', :group_by => 'assigned_to')
|
||||||
count_by_group = q.issue_count_by_group
|
count_by_group = q.issue_count_by_group
|
||||||
|
|||||||
@@ -33,6 +33,14 @@ class RepositoryGitTest < ActiveSupport::TestCase
|
|||||||
# WINDOWS_PASS = Redmine::Platform.mswin?
|
# WINDOWS_PASS = Redmine::Platform.mswin?
|
||||||
WINDOWS_PASS = false
|
WINDOWS_PASS = false
|
||||||
|
|
||||||
|
## Git, Mercurial and CVS path encodings are binary.
|
||||||
|
## Subversion supports URL encoding for path.
|
||||||
|
## Redmine Mercurial adapter and extension use URL encoding.
|
||||||
|
## Git accepts only binary path in command line parameter.
|
||||||
|
## So, there is no way to use binary command line parameter in JRuby.
|
||||||
|
JRUBY_SKIP = (RUBY_PLATFORM == 'java')
|
||||||
|
JRUBY_SKIP_STR = "TODO: This test fails in JRuby"
|
||||||
|
|
||||||
if File.directory?(REPOSITORY_PATH)
|
if File.directory?(REPOSITORY_PATH)
|
||||||
def setup
|
def setup
|
||||||
klass = Repository::Git
|
klass = Repository::Git
|
||||||
@@ -308,24 +316,30 @@ class RepositoryGitTest < ActiveSupport::TestCase
|
|||||||
'61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
|
'61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
|
||||||
], changesets.collect(&:revision)
|
], changesets.collect(&:revision)
|
||||||
|
|
||||||
# latin-1 encoding path
|
if JRUBY_SKIP
|
||||||
changesets = @repository.latest_changesets(
|
puts JRUBY_SKIP_STR
|
||||||
"latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89')
|
else
|
||||||
assert_equal [
|
# latin-1 encoding path
|
||||||
|
changesets = @repository.latest_changesets(
|
||||||
|
"latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89')
|
||||||
|
assert_equal [
|
||||||
'64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
|
'64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
|
||||||
'4fc55c43bf3d3dc2efb66145365ddc17639ce81e',
|
'4fc55c43bf3d3dc2efb66145365ddc17639ce81e',
|
||||||
], changesets.collect(&:revision)
|
], changesets.collect(&:revision)
|
||||||
|
|
||||||
changesets = @repository.latest_changesets(
|
changesets = @repository.latest_changesets(
|
||||||
"latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89', 1)
|
"latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89', 1)
|
||||||
assert_equal [
|
assert_equal [
|
||||||
'64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
|
'64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
|
||||||
], changesets.collect(&:revision)
|
], changesets.collect(&:revision)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_latest_changesets_latin_1_dir
|
def test_latest_changesets_latin_1_dir
|
||||||
if WINDOWS_PASS
|
if WINDOWS_PASS
|
||||||
#
|
#
|
||||||
|
elsif JRUBY_SKIP
|
||||||
|
puts JRUBY_SKIP_STR
|
||||||
else
|
else
|
||||||
@repository.fetch_changesets
|
@repository.fetch_changesets
|
||||||
@repository.reload
|
@repository.reload
|
||||||
|
|||||||
@@ -158,8 +158,10 @@ class RepositoryMercurialTest < ActiveSupport::TestCase
|
|||||||
assert_equal %w|4 3|, changesets.collect(&:revision)
|
assert_equal %w|4 3|, changesets.collect(&:revision)
|
||||||
|
|
||||||
# named branch
|
# named branch
|
||||||
changesets = @repository.latest_changesets('', @branch_char_1)
|
if @repository.scm.class.client_version_above?([1, 6])
|
||||||
assert_equal %w|27 26|, changesets.collect(&:revision)
|
changesets = @repository.latest_changesets('', @branch_char_1)
|
||||||
|
assert_equal %w|27 26|, changesets.collect(&:revision)
|
||||||
|
end
|
||||||
|
|
||||||
changesets = @repository.latest_changesets("latin-1-dir/test-#{@char_1}-subdir", @branch_char_1)
|
changesets = @repository.latest_changesets("latin-1-dir/test-#{@char_1}-subdir", @branch_char_1)
|
||||||
assert_equal %w|27|, changesets.collect(&:revision)
|
assert_equal %w|27|, changesets.collect(&:revision)
|
||||||
|
|||||||
@@ -446,16 +446,16 @@ module CollectiveIdea #:nodoc:
|
|||||||
def prune_from_tree
|
def prune_from_tree
|
||||||
return if right.nil? || left.nil? || leaf? || !self.class.exists?(id)
|
return if right.nil? || left.nil? || leaf? || !self.class.exists?(id)
|
||||||
|
|
||||||
delete_method = acts_as_nested_set_options[:dependent] == :destroy ?
|
|
||||||
:destroy_all : :delete_all
|
|
||||||
|
|
||||||
# TODO: should destroy children (not descendants) when deleted_method is :destroy_all
|
|
||||||
self.class.base_class.transaction do
|
self.class.base_class.transaction do
|
||||||
reload_nested_set
|
reload_nested_set
|
||||||
nested_set_scope.send(delete_method,
|
if acts_as_nested_set_options[:dependent] == :destroy
|
||||||
["#{quoted_left_column_name} > ? AND #{quoted_right_column_name} < ?",
|
children.each(&:destroy)
|
||||||
left, right]
|
else
|
||||||
)
|
nested_set_scope.send(:delete_all,
|
||||||
|
["#{quoted_left_column_name} > ? AND #{quoted_right_column_name} < ?",
|
||||||
|
left, right]
|
||||||
|
)
|
||||||
|
end
|
||||||
reload_nested_set
|
reload_nested_set
|
||||||
diff = right - left + 1
|
diff = right - left + 1
|
||||||
nested_set_scope.update_all(
|
nested_set_scope.update_all(
|
||||||
|
|||||||
-448
@@ -1,448 +0,0 @@
|
|||||||
|
|
||||||
#============================================================+
|
|
||||||
# File name : barcode.rb
|
|
||||||
# Begin : 2002-07-31
|
|
||||||
# Last Update : 2005-01-02
|
|
||||||
# Author : Karim Mribti [barcode@mribti.com]
|
|
||||||
# Version : 1.1 [0.0.8a (original code)]
|
|
||||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
|
||||||
# http://www.gnu.org/copyleft/lesser.txt
|
|
||||||
# Source Code : http://www.mribti.com/barcode/
|
|
||||||
#
|
|
||||||
# Description : Generic Barcode Render Class for PHP using
|
|
||||||
# the GD graphics library.
|
|
||||||
#
|
|
||||||
# NOTE:
|
|
||||||
# This version contains changes by Nicola Asuni:
|
|
||||||
# - porting to Ruby
|
|
||||||
# - code style and formatting
|
|
||||||
# - automatic php documentation in PhpDocumentor Style
|
|
||||||
# (www.phpdoc.org)
|
|
||||||
# - minor bug fixing
|
|
||||||
# - $mCharSet and $mChars variables were added here
|
|
||||||
#============================================================+
|
|
||||||
|
|
||||||
#
|
|
||||||
# Barcode Render Class for PHP using the GD graphics library.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
|
|
||||||
# Styles
|
|
||||||
# Global
|
|
||||||
|
|
||||||
#
|
|
||||||
# option: generate barcode border
|
|
||||||
#
|
|
||||||
define("BCS_BORDER", 1);
|
|
||||||
|
|
||||||
#
|
|
||||||
# option: use transparent background
|
|
||||||
#
|
|
||||||
define("BCS_TRANSPARENT", 2);
|
|
||||||
|
|
||||||
#
|
|
||||||
# option: center barcode
|
|
||||||
#
|
|
||||||
define("BCS_ALIGN_CENTER", 4);
|
|
||||||
|
|
||||||
#
|
|
||||||
# option: align left
|
|
||||||
#
|
|
||||||
define("BCS_ALIGN_LEFT", 8);
|
|
||||||
|
|
||||||
#
|
|
||||||
# option: align right
|
|
||||||
#
|
|
||||||
define("BCS_ALIGN_RIGHT", 16);
|
|
||||||
|
|
||||||
#
|
|
||||||
# option: generate JPEG image
|
|
||||||
#
|
|
||||||
define("BCS_IMAGE_JPEG", 32);
|
|
||||||
|
|
||||||
#
|
|
||||||
# option: generate PNG image
|
|
||||||
#
|
|
||||||
define("BCS_IMAGE_PNG", 64);
|
|
||||||
|
|
||||||
#
|
|
||||||
# option: draw text
|
|
||||||
#
|
|
||||||
define("BCS_DRAW_TEXT", 128);
|
|
||||||
|
|
||||||
#
|
|
||||||
# option: stretch text
|
|
||||||
#
|
|
||||||
define("BCS_STRETCH_TEXT", 256);
|
|
||||||
|
|
||||||
#
|
|
||||||
# option: reverse color
|
|
||||||
#
|
|
||||||
define("BCS_REVERSE_COLOR", 512);
|
|
||||||
|
|
||||||
#
|
|
||||||
# option: draw check
|
|
||||||
# (only for I25 code)
|
|
||||||
#
|
|
||||||
define("BCS_I25_DRAW_CHECK", 2048);
|
|
||||||
|
|
||||||
#
|
|
||||||
# set default background color
|
|
||||||
#
|
|
||||||
define("BCD_DEFAULT_BACKGROUND_COLOR", 0xFFFFFF);
|
|
||||||
|
|
||||||
#
|
|
||||||
# set default foreground color
|
|
||||||
#
|
|
||||||
define("BCD_DEFAULT_FOREGROUND_COLOR", 0x000000);
|
|
||||||
|
|
||||||
#
|
|
||||||
# set default style options
|
|
||||||
#
|
|
||||||
define("BCD_DEFAULT_STYLE", BCS_BORDER | BCS_ALIGN_CENTER | BCS_IMAGE_PNG);
|
|
||||||
|
|
||||||
#
|
|
||||||
# set default width
|
|
||||||
#
|
|
||||||
define("BCD_DEFAULT_WIDTH", 460);
|
|
||||||
|
|
||||||
#
|
|
||||||
# set default height
|
|
||||||
#
|
|
||||||
define("BCD_DEFAULT_HEIGHT", 120);
|
|
||||||
|
|
||||||
#
|
|
||||||
# set default font
|
|
||||||
#
|
|
||||||
define("BCD_DEFAULT_FONT", 5);
|
|
||||||
|
|
||||||
#
|
|
||||||
# st default horizontal resolution
|
|
||||||
#
|
|
||||||
define("BCD_DEFAULT_XRES", 2);
|
|
||||||
|
|
||||||
# Margins
|
|
||||||
|
|
||||||
#
|
|
||||||
# set default margin
|
|
||||||
#
|
|
||||||
define("BCD_DEFAULT_MAR_Y1", 0);
|
|
||||||
|
|
||||||
#
|
|
||||||
# set default margin
|
|
||||||
#
|
|
||||||
define("BCD_DEFAULT_MAR_Y2", 0);
|
|
||||||
|
|
||||||
#
|
|
||||||
# set default text offset
|
|
||||||
#
|
|
||||||
define("BCD_DEFAULT_TEXT_OFFSET", 2);
|
|
||||||
|
|
||||||
# For the I25 Only
|
|
||||||
|
|
||||||
#
|
|
||||||
# narrow bar option
|
|
||||||
# (only for I25 code)
|
|
||||||
#
|
|
||||||
define("BCD_I25_NARROW_BAR", 1);
|
|
||||||
|
|
||||||
#
|
|
||||||
# wide bar option
|
|
||||||
# (only for I25 code)
|
|
||||||
#
|
|
||||||
define("BCD_I25_WIDE_BAR", 2);
|
|
||||||
|
|
||||||
# For the C39 Only
|
|
||||||
|
|
||||||
#
|
|
||||||
# narrow bar option
|
|
||||||
# (only for c39 code)
|
|
||||||
#
|
|
||||||
define("BCD_C39_NARROW_BAR", 1);
|
|
||||||
|
|
||||||
#
|
|
||||||
# wide bar option
|
|
||||||
# (only for c39 code)
|
|
||||||
#
|
|
||||||
define("BCD_C39_WIDE_BAR", 2);
|
|
||||||
|
|
||||||
# For Code 128
|
|
||||||
|
|
||||||
#
|
|
||||||
# set type 1 bar
|
|
||||||
# (only for c128 code)
|
|
||||||
#
|
|
||||||
define("BCD_C128_BAR_1", 1);
|
|
||||||
|
|
||||||
#
|
|
||||||
# set type 2 bar
|
|
||||||
# (only for c128 code)
|
|
||||||
#
|
|
||||||
define("BCD_C128_BAR_2", 2);
|
|
||||||
|
|
||||||
#
|
|
||||||
# set type 3 bar
|
|
||||||
# (only for c128 code)
|
|
||||||
#
|
|
||||||
define("BCD_C128_BAR_3", 3);
|
|
||||||
|
|
||||||
#
|
|
||||||
# set type 4 bar
|
|
||||||
# (only for c128 code)
|
|
||||||
#
|
|
||||||
define("BCD_C128_BAR_4", 4);
|
|
||||||
|
|
||||||
#
|
|
||||||
# Barcode Render Class for PHP using the GD graphics library.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
class BarcodeObject {
|
|
||||||
#
|
|
||||||
# @var Image width in pixels.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected $mWidth;
|
|
||||||
|
|
||||||
#
|
|
||||||
# @var Image height in pixels.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected $mHeight;
|
|
||||||
|
|
||||||
#
|
|
||||||
# @var Numeric code for Barcode style.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected $mStyle;
|
|
||||||
|
|
||||||
#
|
|
||||||
# @var Background color.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected $mBgcolor;
|
|
||||||
|
|
||||||
#
|
|
||||||
# @var Brush color.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected $mBrush;
|
|
||||||
|
|
||||||
#
|
|
||||||
# @var Image object.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected $mImg;
|
|
||||||
|
|
||||||
#
|
|
||||||
# @var Numeric code for character font.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected $mFont;
|
|
||||||
|
|
||||||
#
|
|
||||||
# @var Error message.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected $mError;
|
|
||||||
|
|
||||||
#
|
|
||||||
# @var Character Set.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected $mCharSet;
|
|
||||||
|
|
||||||
#
|
|
||||||
# @var Allowed symbols.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected $mChars;
|
|
||||||
|
|
||||||
#
|
|
||||||
# Class Constructor.
|
|
||||||
# @param int $Width Image width in pixels.
|
|
||||||
# @param int $Height Image height in pixels.
|
|
||||||
# @param int $Style Barcode style.
|
|
||||||
#
|
|
||||||
def __construct($Width=BCD_DEFAULT_WIDTH, $Height=BCD_DEFAULT_HEIGHT, $Style=BCD_DEFAULT_STYLE)
|
|
||||||
@mWidth = $Width;
|
|
||||||
@mHeight = $Height;
|
|
||||||
@mStyle = $Style;
|
|
||||||
@mFont = BCD_DEFAULT_FONT;
|
|
||||||
@mImg = ImageCreate(@mWidth, @mHeight);
|
|
||||||
$dbColor = @mStyle & BCS_REVERSE_COLOR ? BCD_DEFAULT_FOREGROUND_COLOR : BCD_DEFAULT_BACKGROUND_COLOR;
|
|
||||||
$dfColor = @mStyle & BCS_REVERSE_COLOR ? BCD_DEFAULT_BACKGROUND_COLOR : BCD_DEFAULT_FOREGROUND_COLOR;
|
|
||||||
@mBgcolor = ImageColorAllocate(@mImg, ($dbColor & 0xFF0000) >> 16,
|
|
||||||
($dbColor & 0x00FF00) >> 8, $dbColor & 0x0000FF);
|
|
||||||
@mBrush = ImageColorAllocate(@mImg, ($dfColor & 0xFF0000) >> 16,
|
|
||||||
($dfColor & 0x00FF00) >> 8, $dfColor & 0x0000FF);
|
|
||||||
if (!(@mStyle & BCS_TRANSPARENT))
|
|
||||||
ImageFill(@mImg, @mWidth, @mHeight, @mBgcolor);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Class Destructor.
|
|
||||||
# Destroy image object.
|
|
||||||
#
|
|
||||||
def __destructor()
|
|
||||||
@DestroyObject();
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the image object.
|
|
||||||
# @return object image.
|
|
||||||
# @author Nicola Asuni
|
|
||||||
# @since 1.5.2
|
|
||||||
#
|
|
||||||
def getImage()
|
|
||||||
return @mImg;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Abstract method used to draw the barcode image.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
#
|
|
||||||
def DrawObject($xres) {
|
|
||||||
# there is not implementation neded, is simply the asbsract function.#
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the barcode border.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected function DrawBorder()
|
|
||||||
ImageRectangle(@mImg, 0, 0, @mWidth-1, @mHeight-1, @mBrush);
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the alphanumeric code.
|
|
||||||
# @param int $Font Font type.
|
|
||||||
# @param int $xPos Horiziontal position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $Char Alphanumeric code to write.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected function DrawChar($Font, $xPos, $yPos, $Char)
|
|
||||||
ImageString(@mImg,$Font,$xPos,$yPos,$Char,@mBrush);
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws a character string.
|
|
||||||
# @param int $Font Font type.
|
|
||||||
# @param int $xPos Horiziontal position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $Char string to write.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected function DrawText($Font, $xPos, $yPos, $Char)
|
|
||||||
ImageString(@mImg,$Font,$xPos,$yPos,$Char,@mBrush);
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws a single barcode bar.
|
|
||||||
# @param int $xPos Horiziontal position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $xSize Horizontal size.
|
|
||||||
# @param int $xSize Vertical size.
|
|
||||||
# @return bool trur in case of success, false otherwise.
|
|
||||||
# @access protected
|
|
||||||
#
|
|
||||||
protected function DrawSingleBar($xPos, $yPos, $xSize, $ySize)
|
|
||||||
if ($xPos>=0 && $xPos<=@mWidth && ($xPos+$xSize)<=@mWidth &&
|
|
||||||
$yPos>=0 && $yPos<=@mHeight && ($yPos+$ySize)<=@mHeight)
|
|
||||||
for ($i=0;$i<$xSize;$i++)
|
|
||||||
ImageLine(@mImg, $xPos+$i, $yPos, $xPos+$i, $yPos+$ySize, @mBrush);
|
|
||||||
end
|
|
||||||
return true;
|
|
||||||
end
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the current error message.
|
|
||||||
# @return string error message.
|
|
||||||
#
|
|
||||||
def GetError()
|
|
||||||
return @mError;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the font height.
|
|
||||||
# @param int $font font type.
|
|
||||||
# @return int font height.
|
|
||||||
#
|
|
||||||
def GetFontHeight($font)
|
|
||||||
return ImageFontHeight($font);
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the font width.
|
|
||||||
# @param int $font font type.
|
|
||||||
# @return int font width.
|
|
||||||
#
|
|
||||||
def GetFontWidth($font)
|
|
||||||
return ImageFontWidth($font);
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Set font type.
|
|
||||||
# @param int $font font type.
|
|
||||||
#
|
|
||||||
def SetFont($font)
|
|
||||||
@mFont = $font;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns barcode style.
|
|
||||||
# @return int barcode style.
|
|
||||||
#
|
|
||||||
def GetStyle()
|
|
||||||
return @mStyle;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Set barcode style.
|
|
||||||
# @param int $Style barcode style.
|
|
||||||
#
|
|
||||||
def SetStyle ($Style)
|
|
||||||
@mStyle = $Style;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Flush the barcode image.
|
|
||||||
#
|
|
||||||
def FlushObject()
|
|
||||||
if ((@mStyle & BCS_BORDER))
|
|
||||||
@DrawBorder();
|
|
||||||
end
|
|
||||||
if (@mStyle & BCS_IMAGE_PNG)
|
|
||||||
Header("Content-Type: image/png");
|
|
||||||
ImagePng(@mImg);
|
|
||||||
elsif (@mStyle & BCS_IMAGE_JPEG)
|
|
||||||
Header("Content-Type: image/jpeg");
|
|
||||||
ImageJpeg(@mImg);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Destroy the barcode image.
|
|
||||||
#
|
|
||||||
def DestroyObject()
|
|
||||||
ImageDestroy(@mImg);
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
#============================================================+
|
|
||||||
# END OF FILE
|
|
||||||
#============================================================+
|
|
||||||
-393
@@ -1,393 +0,0 @@
|
|||||||
|
|
||||||
#============================================================+
|
|
||||||
# File name : c128aobject.rb
|
|
||||||
# Begin : 2002-07-31
|
|
||||||
# Last Update : 2004-12-29
|
|
||||||
# Author : Karim Mribti [barcode@mribti.com]
|
|
||||||
# Version : 0.0.8a 2001-04-01 (original code)
|
|
||||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
|
||||||
# http://www.gnu.org/copyleft/lesser.txt
|
|
||||||
# Source Code : http://www.mribti.com/barcode/
|
|
||||||
#
|
|
||||||
# Description : Code 128-A Barcode Render Class for PHP using
|
|
||||||
# the GD graphics library.
|
|
||||||
# Code 128-A is a continuous, multilevel and
|
|
||||||
# include all upper case alphanumeric characters
|
|
||||||
# and ASCII control characters.
|
|
||||||
#
|
|
||||||
# NOTE:
|
|
||||||
# This version contains changes by Nicola Asuni:
|
|
||||||
# - porting to Ruby
|
|
||||||
# - code style and formatting
|
|
||||||
# - automatic php documentation in PhpDocumentor Style
|
|
||||||
# (www.phpdoc.org)
|
|
||||||
# - minor bug fixing
|
|
||||||
#============================================================+
|
|
||||||
|
|
||||||
#
|
|
||||||
# Code 128-A Barcode Render Class for PHP using the GD graphics library.<br>
|
|
||||||
# Code 128-A is a continuous, multilevel and include all upper case alphanumeric characters and ASCII control characters.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Code 128-A Barcode Render Class for PHP using the GD graphics library.<br>
|
|
||||||
# Code 128-A is a continuous, multilevel and include all upper case alphanumeric characters and ASCII control characters.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
class C128AObject extends BarcodeObject {
|
|
||||||
|
|
||||||
#
|
|
||||||
# Class Constructor.
|
|
||||||
# @param int $Width Image width in pixels.
|
|
||||||
# @param int $Height Image height in pixels.
|
|
||||||
# @param int $Style Barcode style.
|
|
||||||
# @param int $Value value to print on barcode.
|
|
||||||
#
|
|
||||||
def __construct($Width, $Height, $Style, $Value)
|
|
||||||
parent::__construct($Width, $Height, $Style);
|
|
||||||
@mValue = $Value;
|
|
||||||
@mChars = " !\"#$%&'()*+�-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_";
|
|
||||||
@mCharSet = array (
|
|
||||||
"212222", # 00#
|
|
||||||
"222122", # 01#
|
|
||||||
"222221", # 02#
|
|
||||||
"121223", # 03#
|
|
||||||
"121322", # 04#
|
|
||||||
"131222", # 05#
|
|
||||||
"122213", # 06#
|
|
||||||
"122312", # 07#
|
|
||||||
"132212", # 08#
|
|
||||||
"221213", # 09#
|
|
||||||
"221312", # 10#
|
|
||||||
"231212", # 11#
|
|
||||||
"112232", # 12#
|
|
||||||
"122132", # 13#
|
|
||||||
"122231", # 14#
|
|
||||||
"113222", # 15#
|
|
||||||
"123122", # 16#
|
|
||||||
"123221", # 17#
|
|
||||||
"223211", # 18#
|
|
||||||
"221132", # 19#
|
|
||||||
"221231", # 20#
|
|
||||||
"213212", # 21#
|
|
||||||
"223112", # 22#
|
|
||||||
"312131", # 23#
|
|
||||||
"311222", # 24#
|
|
||||||
"321122", # 25#
|
|
||||||
"321221", # 26#
|
|
||||||
"312212", # 27#
|
|
||||||
"322112", # 28#
|
|
||||||
"322211", # 29#
|
|
||||||
"212123", # 30#
|
|
||||||
"212321", # 31#
|
|
||||||
"232121", # 32#
|
|
||||||
"111323", # 33#
|
|
||||||
"131123", # 34#
|
|
||||||
"131321", # 35#
|
|
||||||
"112313", # 36#
|
|
||||||
"132113", # 37#
|
|
||||||
"132311", # 38#
|
|
||||||
"211313", # 39#
|
|
||||||
"231113", # 40#
|
|
||||||
"231311", # 41#
|
|
||||||
"112133", # 42#
|
|
||||||
"112331", # 43#
|
|
||||||
"132131", # 44#
|
|
||||||
"113123", # 45#
|
|
||||||
"113321", # 46#
|
|
||||||
"133121", # 47#
|
|
||||||
"313121", # 48#
|
|
||||||
"211331", # 49#
|
|
||||||
"231131", # 50#
|
|
||||||
"213113", # 51#
|
|
||||||
"213311", # 52#
|
|
||||||
"213131", # 53#
|
|
||||||
"311123", # 54#
|
|
||||||
"311321", # 55#
|
|
||||||
"331121", # 56#
|
|
||||||
"312113", # 57#
|
|
||||||
"312311", # 58#
|
|
||||||
"332111", # 59#
|
|
||||||
"314111", # 60#
|
|
||||||
"221411", # 61#
|
|
||||||
"431111", # 62#
|
|
||||||
"111224", # 63#
|
|
||||||
"111422", # 64#
|
|
||||||
"121124", # 65#
|
|
||||||
"121421", # 66#
|
|
||||||
"141122", # 67#
|
|
||||||
"141221", # 68#
|
|
||||||
"112214", # 69#
|
|
||||||
"112412", # 70#
|
|
||||||
"122114", # 71#
|
|
||||||
"122411", # 72#
|
|
||||||
"142112", # 73#
|
|
||||||
"142211", # 74#
|
|
||||||
"241211", # 75#
|
|
||||||
"221114", # 76#
|
|
||||||
"413111", # 77#
|
|
||||||
"241112", # 78#
|
|
||||||
"134111", # 79#
|
|
||||||
"111242", # 80#
|
|
||||||
"121142", # 81#
|
|
||||||
"121241", # 82#
|
|
||||||
"114212", # 83#
|
|
||||||
"124112", # 84#
|
|
||||||
"124211", # 85#
|
|
||||||
"411212", # 86#
|
|
||||||
"421112", # 87#
|
|
||||||
"421211", # 88#
|
|
||||||
"212141", # 89#
|
|
||||||
"214121", # 90#
|
|
||||||
"412121", # 91#
|
|
||||||
"111143", # 92#
|
|
||||||
"111341", # 93#
|
|
||||||
"131141", # 94#
|
|
||||||
"114113", # 95#
|
|
||||||
"114311", # 96#
|
|
||||||
"411113", # 97#
|
|
||||||
"411311", # 98#
|
|
||||||
"113141", # 99#
|
|
||||||
"114131", # 100#
|
|
||||||
"311141", # 101#
|
|
||||||
"411131" # 102#
|
|
||||||
);
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the character index.
|
|
||||||
# @param char $char character.
|
|
||||||
# @return int character index or -1 in case of error.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetCharIndex($char)
|
|
||||||
for ($i=0;$i<64;$i++)
|
|
||||||
if (@mChars[$i] == $char)
|
|
||||||
return $i;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return -1;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the bar size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @param char $char Character.
|
|
||||||
# @return int barcode size.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetBarSize($xres, $char)
|
|
||||||
switch ($char)
|
|
||||||
case '1'
|
|
||||||
$cVal = BCD_C128_BAR_1;
|
|
||||||
|
|
||||||
case '2'
|
|
||||||
$cVal = BCD_C128_BAR_2;
|
|
||||||
|
|
||||||
case '3'
|
|
||||||
$cVal = BCD_C128_BAR_3;
|
|
||||||
|
|
||||||
case '4'
|
|
||||||
$cVal = BCD_C128_BAR_4;
|
|
||||||
|
|
||||||
default
|
|
||||||
$cVal = 0;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return $cVal# $xres;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns barcode size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return barcode size.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetSize($xres)
|
|
||||||
$len = @mValue.length;
|
|
||||||
|
|
||||||
if ($len == 0) {
|
|
||||||
@mError = "Null value";
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
$ret = 0;
|
|
||||||
for ($i=0;$i<$len;$i++)
|
|
||||||
if (($id = GetCharIndex(@mValue[$i])) == -1)
|
|
||||||
@mError = "C128A not include the char '".@mValue[$i]."'";
|
|
||||||
return false;
|
|
||||||
else
|
|
||||||
$cset = @mCharSet[$id];
|
|
||||||
$ret += GetBarSize($xres, $cset[0]);
|
|
||||||
$ret += GetBarSize($xres, $cset[1]);
|
|
||||||
$ret += GetBarSize($xres, $cset[2]);
|
|
||||||
$ret += GetBarSize($xres, $cset[3]);
|
|
||||||
$ret += GetBarSize($xres, $cset[4]);
|
|
||||||
$ret += GetBarSize($xres, $cset[5]);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# length of Check character#
|
|
||||||
$cset = GetCheckCharValue();
|
|
||||||
$CheckSize = 0;
|
|
||||||
for ($i=0;$i<6;$i++)
|
|
||||||
$CheckSize += GetBarSize($cset[$i], $xres);
|
|
||||||
end
|
|
||||||
$StartSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres;
|
|
||||||
$StopSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + 2*BCD_C128_BAR_3*$xres;
|
|
||||||
return $StartSize + $ret + $CheckSize + $StopSize;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the check-char value.
|
|
||||||
# @return string.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetCheckCharValue()
|
|
||||||
$len = @mValue.length;
|
|
||||||
$sum = 103; # 'A' type;
|
|
||||||
for ($i=0;$i<$len;$i++)
|
|
||||||
$sum += GetCharIndex(@mValue[$i])# ($i+1);
|
|
||||||
end
|
|
||||||
$check = $sum % 103;
|
|
||||||
return @mCharSet[$check];
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the start code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawStart($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
# Start code is '211412'#
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
$DrawPos += GetBarSize('4', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the stop code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawStop($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
# Stop code is '2331112'#
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
$DrawPos += GetBarSize('3', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('3', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('3', $xres);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the check-char code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawCheckChar($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
$cset = GetCheckCharValue();
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[0], $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize($cset[0], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[1], $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[2], $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize($cset[2], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[3], $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[4], $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize($cset[4], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[5], $xres);
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the barcode object.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return bool true in case of success.
|
|
||||||
#
|
|
||||||
def DrawObject($xres)
|
|
||||||
$len = @mValue.length;
|
|
||||||
if (($size = GetSize($xres))==0)
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
|
|
||||||
if (@mStyle & BCS_ALIGN_CENTER) $sPos = (integer)((@mWidth - $size ) / 2);
|
|
||||||
elsif (@mStyle & BCS_ALIGN_RIGHT) $sPos = @mWidth - $size;
|
|
||||||
else $sPos = 0;
|
|
||||||
|
|
||||||
# Total height of bar code -Bars only-#
|
|
||||||
if (@mStyle & BCS_DRAW_TEXT) $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - GetFontHeight(@mFont);
|
|
||||||
else $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
|
|
||||||
|
|
||||||
# Draw text#
|
|
||||||
if (@mStyle & BCS_DRAW_TEXT)
|
|
||||||
if (@mStyle & BCS_STRETCH_TEXT)
|
|
||||||
for ($i=0;$i<$len;$i++)
|
|
||||||
@DrawChar(@mFont, $sPos+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres)+($size/$len)*$i,
|
|
||||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue[$i]);
|
|
||||||
else# Center#
|
|
||||||
$text_width = GetFontWidth(@mFont)# @mValue.length;
|
|
||||||
@DrawText(@mFont, $sPos+(($size-$text_width)/2)+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres),
|
|
||||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
$cPos = 0;
|
|
||||||
$DrawPos = @DrawStart($sPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
|
||||||
do {
|
|
||||||
$c = GetCharIndex(@mValue[$cPos]);
|
|
||||||
$cset = @mCharSet[$c];
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[0], $xres) , $ysize);
|
|
||||||
$DrawPos += GetBarSize($cset[0], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[1], $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[2], $xres) , $ysize);
|
|
||||||
$DrawPos += GetBarSize($cset[2], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[3], $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[4], $xres) , $ysize);
|
|
||||||
$DrawPos += GetBarSize($cset[4], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[5], $xres);
|
|
||||||
$cPos += 1;
|
|
||||||
end while ($cPos<$len);
|
|
||||||
$DrawPos = @DrawCheckChar($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
|
||||||
$DrawPos = @DrawStop($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
|
||||||
return true;
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
#============================================================+
|
|
||||||
# END OF FILE
|
|
||||||
#============================================================+
|
|
||||||
-393
@@ -1,393 +0,0 @@
|
|||||||
|
|
||||||
#============================================================+
|
|
||||||
# File name : c128bobject.rb
|
|
||||||
# Begin : 2002-07-31
|
|
||||||
# Last Update : 2004-12-29
|
|
||||||
# Author : Karim Mribti [barcode@mribti.com]
|
|
||||||
# Version : 0.0.8a 2001-04-01 (original code)
|
|
||||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
|
||||||
# http://www.gnu.org/copyleft/lesser.txt
|
|
||||||
# Source Code : http://www.mribti.com/barcode/
|
|
||||||
#
|
|
||||||
# Description : Code 128-B Barcode Render Class for PHP using
|
|
||||||
# the GD graphics library.
|
|
||||||
# Code 128-B is a continuous, multilevel and full
|
|
||||||
# ASCII code.
|
|
||||||
#
|
|
||||||
# NOTE:
|
|
||||||
# This version contains changes by Nicola Asuni:
|
|
||||||
# - porting to Ruby
|
|
||||||
# - code style and formatting
|
|
||||||
# - automatic php documentation in PhpDocumentor Style
|
|
||||||
# (www.phpdoc.org)
|
|
||||||
# - minor bug fixing
|
|
||||||
#============================================================+
|
|
||||||
|
|
||||||
#
|
|
||||||
# Code 128-B Barcode Render Class for PHP using the GD graphics library.<br>
|
|
||||||
# Code 128-B is a continuous, multilevel and full ASCII code.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Code 128-B Barcode Render Class for PHP using the GD graphics library.<br>
|
|
||||||
# Code 128-B is a continuous, multilevel and full ASCII code.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
class C128BObject extends BarcodeObject {
|
|
||||||
|
|
||||||
#
|
|
||||||
# Class Constructor.
|
|
||||||
# @param int $Width Image width in pixels.
|
|
||||||
# @param int $Height Image height in pixels.
|
|
||||||
# @param int $Style Barcode style.
|
|
||||||
# @param int $Value value to print on barcode.
|
|
||||||
#
|
|
||||||
def __construct($Width, $Height, $Style, $Value)
|
|
||||||
parent::__construct($Width, $Height, $Style);
|
|
||||||
@mValue = $Value;
|
|
||||||
@mChars = " !\"#$%&'()*+�-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{ }~";
|
|
||||||
@mCharSet = array (
|
|
||||||
"212222", # 00#
|
|
||||||
"222122", # 01#
|
|
||||||
"222221", # 02#
|
|
||||||
"121223", # 03#
|
|
||||||
"121322", # 04#
|
|
||||||
"131222", # 05#
|
|
||||||
"122213", # 06#
|
|
||||||
"122312", # 07#
|
|
||||||
"132212", # 08#
|
|
||||||
"221213", # 09#
|
|
||||||
"221312", # 10#
|
|
||||||
"231212", # 11#
|
|
||||||
"112232", # 12#
|
|
||||||
"122132", # 13#
|
|
||||||
"122231", # 14#
|
|
||||||
"113222", # 15#
|
|
||||||
"123122", # 16#
|
|
||||||
"123221", # 17#
|
|
||||||
"223211", # 18#
|
|
||||||
"221132", # 19#
|
|
||||||
"221231", # 20#
|
|
||||||
"213212", # 21#
|
|
||||||
"223112", # 22#
|
|
||||||
"312131", # 23#
|
|
||||||
"311222", # 24#
|
|
||||||
"321122", # 25#
|
|
||||||
"321221", # 26#
|
|
||||||
"312212", # 27#
|
|
||||||
"322112", # 28#
|
|
||||||
"322211", # 29#
|
|
||||||
"212123", # 30#
|
|
||||||
"212321", # 31#
|
|
||||||
"232121", # 32#
|
|
||||||
"111323", # 33#
|
|
||||||
"131123", # 34#
|
|
||||||
"131321", # 35#
|
|
||||||
"112313", # 36#
|
|
||||||
"132113", # 37#
|
|
||||||
"132311", # 38#
|
|
||||||
"211313", # 39#
|
|
||||||
"231113", # 40#
|
|
||||||
"231311", # 41#
|
|
||||||
"112133", # 42#
|
|
||||||
"112331", # 43#
|
|
||||||
"132131", # 44#
|
|
||||||
"113123", # 45#
|
|
||||||
"113321", # 46#
|
|
||||||
"133121", # 47#
|
|
||||||
"313121", # 48#
|
|
||||||
"211331", # 49#
|
|
||||||
"231131", # 50#
|
|
||||||
"213113", # 51#
|
|
||||||
"213311", # 52#
|
|
||||||
"213131", # 53#
|
|
||||||
"311123", # 54#
|
|
||||||
"311321", # 55#
|
|
||||||
"331121", # 56#
|
|
||||||
"312113", # 57#
|
|
||||||
"312311", # 58#
|
|
||||||
"332111", # 59#
|
|
||||||
"314111", # 60#
|
|
||||||
"221411", # 61#
|
|
||||||
"431111", # 62#
|
|
||||||
"111224", # 63#
|
|
||||||
"111422", # 64#
|
|
||||||
"121124", # 65#
|
|
||||||
"121421", # 66#
|
|
||||||
"141122", # 67#
|
|
||||||
"141221", # 68#
|
|
||||||
"112214", # 69#
|
|
||||||
"112412", # 70#
|
|
||||||
"122114", # 71#
|
|
||||||
"122411", # 72#
|
|
||||||
"142112", # 73#
|
|
||||||
"142211", # 74#
|
|
||||||
"241211", # 75#
|
|
||||||
"221114", # 76#
|
|
||||||
"413111", # 77#
|
|
||||||
"241112", # 78#
|
|
||||||
"134111", # 79#
|
|
||||||
"111242", # 80#
|
|
||||||
"121142", # 81#
|
|
||||||
"121241", # 82#
|
|
||||||
"114212", # 83#
|
|
||||||
"124112", # 84#
|
|
||||||
"124211", # 85#
|
|
||||||
"411212", # 86#
|
|
||||||
"421112", # 87#
|
|
||||||
"421211", # 88#
|
|
||||||
"212141", # 89#
|
|
||||||
"214121", # 90#
|
|
||||||
"412121", # 91#
|
|
||||||
"111143", # 92#
|
|
||||||
"111341", # 93#
|
|
||||||
"131141", # 94#
|
|
||||||
"114113", # 95#
|
|
||||||
"114311", # 96#
|
|
||||||
"411113", # 97#
|
|
||||||
"411311", # 98#
|
|
||||||
"113141", # 99#
|
|
||||||
"114131", # 100#
|
|
||||||
"311141", # 101#
|
|
||||||
"411131" # 102#
|
|
||||||
);
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the character index.
|
|
||||||
# @param char $char character.
|
|
||||||
# @return int character index or -1 in case of error.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetCharIndex($char)
|
|
||||||
for ($i=0;$i<95;$i++)
|
|
||||||
if (@mChars[$i] == $char)
|
|
||||||
return $i;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return -1;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the bar size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @param char $char Character.
|
|
||||||
# @return int barcode size.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetBarSize($xres, $char)
|
|
||||||
switch ($char)
|
|
||||||
case '1'
|
|
||||||
$cVal = BCD_C128_BAR_1;
|
|
||||||
|
|
||||||
case '2'
|
|
||||||
$cVal = BCD_C128_BAR_2;
|
|
||||||
|
|
||||||
case '3'
|
|
||||||
$cVal = BCD_C128_BAR_3;
|
|
||||||
|
|
||||||
case '4'
|
|
||||||
$cVal = BCD_C128_BAR_4;
|
|
||||||
|
|
||||||
default
|
|
||||||
$cVal = 0;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return $cVal# $xres;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns barcode size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return barcode size.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetSize($xres)
|
|
||||||
$len = @mValue.length;
|
|
||||||
|
|
||||||
if ($len == 0) {
|
|
||||||
@mError = "Null value";
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
$ret = 0;
|
|
||||||
for ($i=0;$i<$len;$i++)
|
|
||||||
if (($id = GetCharIndex(@mValue[$i])) == -1)
|
|
||||||
@mError = "C128B not include the char '".@mValue[$i]."'";
|
|
||||||
return false;
|
|
||||||
else
|
|
||||||
$cset = @mCharSet[$id];
|
|
||||||
$ret += GetBarSize($xres, $cset[0]);
|
|
||||||
$ret += GetBarSize($xres, $cset[1]);
|
|
||||||
$ret += GetBarSize($xres, $cset[2]);
|
|
||||||
$ret += GetBarSize($xres, $cset[3]);
|
|
||||||
$ret += GetBarSize($xres, $cset[4]);
|
|
||||||
$ret += GetBarSize($xres, $cset[5]);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
# length of Check character#
|
|
||||||
$cset = GetCheckCharValue();
|
|
||||||
$CheckSize = 0;
|
|
||||||
for ($i=0;$i<6;$i++)
|
|
||||||
$CheckSize += GetBarSize($cset[$i], $xres);
|
|
||||||
end
|
|
||||||
|
|
||||||
$StartSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres;
|
|
||||||
$StopSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + 2*BCD_C128_BAR_3*$xres;
|
|
||||||
|
|
||||||
return $StartSize + $ret + $CheckSize + $StopSize;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the check-char value.
|
|
||||||
# @return string.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetCheckCharValue()
|
|
||||||
$len = @mValue.length;
|
|
||||||
$sum = 104; # 'B' type;
|
|
||||||
for ($i=0;$i<$len;$i++)
|
|
||||||
$sum += GetCharIndex(@mValue[$i])# ($i+1);
|
|
||||||
end
|
|
||||||
$check = $sum % 103;
|
|
||||||
return @mCharSet[$check];
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the start code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawStart($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
# Start code is '211214'#
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres), $ySize);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres), $ySize);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres), $ySize);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
$DrawPos += GetBarSize('4', $xres);
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the stop code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawStop($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
# Stop code is '2331112'#
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
$DrawPos += GetBarSize('3', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('3', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('3', $xres);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the check-char code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawCheckChar($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
$cset = GetCheckCharValue();
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[0], $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize($cset[0], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[1], $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[2], $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize($cset[2], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[3], $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[4], $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize($cset[4], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[5], $xres);
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the barcode object.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return bool true in case of success.
|
|
||||||
#
|
|
||||||
def DrawObject($xres)
|
|
||||||
$len = @mValue.length;
|
|
||||||
if (($size = GetSize($xres))==0)
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
|
|
||||||
if (@mStyle & BCS_ALIGN_CENTER) $sPos = (integer)((@mWidth - $size ) / 2);
|
|
||||||
elsif (@mStyle & BCS_ALIGN_RIGHT) $sPos = @mWidth - $size;
|
|
||||||
else $sPos = 0;
|
|
||||||
|
|
||||||
# Total height of bar code -Bars only-#
|
|
||||||
if (@mStyle & BCS_DRAW_TEXT) $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - GetFontHeight(@mFont);
|
|
||||||
else $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
|
|
||||||
|
|
||||||
# Draw text#
|
|
||||||
if (@mStyle & BCS_DRAW_TEXT)
|
|
||||||
if (@mStyle & BCS_STRETCH_TEXT)
|
|
||||||
for ($i=0;$i<$len;$i++)
|
|
||||||
@DrawChar(@mFont, $sPos+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres)+($size/$len)*$i,
|
|
||||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue[$i]);
|
|
||||||
else# Center#
|
|
||||||
$text_width = GetFontWidth(@mFont)# @mValue.length;
|
|
||||||
@DrawText(@mFont, $sPos+(($size-$text_width)/2)+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres),
|
|
||||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
$cPos = 0;
|
|
||||||
$DrawPos = @DrawStart($sPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
|
||||||
do {
|
|
||||||
$c = GetCharIndex(@mValue[$cPos]);
|
|
||||||
$cset = @mCharSet[$c];
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[0], $xres) , $ysize);
|
|
||||||
$DrawPos += GetBarSize($cset[0], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[1], $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[2], $xres) , $ysize);
|
|
||||||
$DrawPos += GetBarSize($cset[2], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[3], $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[4], $xres) , $ysize);
|
|
||||||
$DrawPos += GetBarSize($cset[4], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[5], $xres);
|
|
||||||
$cPos += 1;
|
|
||||||
end while ($cPos<$len);
|
|
||||||
$DrawPos = @DrawCheckChar($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
|
||||||
$DrawPos = @DrawStop($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
|
||||||
return true;
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
#============================================================+
|
|
||||||
# END OF FILE
|
|
||||||
#============================================================+
|
|
||||||
-414
@@ -1,414 +0,0 @@
|
|||||||
|
|
||||||
#============================================================+
|
|
||||||
# File name : c128cobject.rb
|
|
||||||
# Begin : 2002-07-31
|
|
||||||
# Last Update : 2004-12-29
|
|
||||||
# Author : Karim Mribti [barcode@mribti.com]
|
|
||||||
# : Sam Michaels [swampgas@swampgas.org]
|
|
||||||
# : Nicola Asuni [info@tecnick.com]
|
|
||||||
# Version : 0.0.8a 2001-04-01 (original code)
|
|
||||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
|
||||||
# http://www.gnu.org/copyleft/lesser.txt
|
|
||||||
# Source Code : http://www.mribti.com/barcode/
|
|
||||||
#
|
|
||||||
# Description : Code 128-C Barcode Render Class for PHP using
|
|
||||||
# the GD graphics library.
|
|
||||||
# Code 128-C is numeric only and provides the
|
|
||||||
# most efficiency.
|
|
||||||
#
|
|
||||||
# NOTE:
|
|
||||||
# This version contains changes by Nicola Asuni:
|
|
||||||
# - porting to Ruby
|
|
||||||
# - code style and formatting
|
|
||||||
# - automatic php documentation in PhpDocumentor Style
|
|
||||||
# (www.phpdoc.org)
|
|
||||||
# - minor bug fixing
|
|
||||||
#============================================================+
|
|
||||||
|
|
||||||
#
|
|
||||||
# Code 128-C Barcode Render Class for PHP using the GD graphics library.<br>
|
|
||||||
# Code 128-C is numeric only and provides the most efficiency.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Code 128-C Barcode Render Class for PHP using the GD graphics library.<br>
|
|
||||||
# Code 128-C is numeric only and provides the most efficiency.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
class C128CObject extends BarcodeObject {
|
|
||||||
|
|
||||||
#
|
|
||||||
# Class Constructor.
|
|
||||||
# @param int $Width Image width in pixels.
|
|
||||||
# @param int $Height Image height in pixels.
|
|
||||||
# @param int $Style Barcode style.
|
|
||||||
# @param int $Value value to print on barcode.
|
|
||||||
#
|
|
||||||
def __construct($Width, $Height, $Style, $Value)
|
|
||||||
parent::__construct($Width, $Height, $Style);
|
|
||||||
@mValue = $Value;
|
|
||||||
@mChars = array (
|
|
||||||
"00", "01", "02", "03", "04", "05", "06", "07", "08", "09",
|
|
||||||
"10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
|
|
||||||
"20", "21", "22", "23", "24", "25", "26", "27", "28", "29",
|
|
||||||
"30", "31", "32", "33", "34", "35", "36", "37", "38", "39",
|
|
||||||
"40", "41", "42", "43", "44", "45", "46", "47", "48", "49",
|
|
||||||
"50", "51", "52", "53", "54", "55", "56", "57", "58", "59",
|
|
||||||
"60", "61", "62", "63", "64", "65", "66", "67", "68", "69",
|
|
||||||
"70", "71", "72", "73", "74", "75", "76", "77", "78", "79",
|
|
||||||
"80", "81", "82", "83", "84", "85", "86", "87", "88", "89",
|
|
||||||
"90", "91", "92", "93", "94", "95", "96", "97", "98", "99",
|
|
||||||
);
|
|
||||||
@mCharSet = array (
|
|
||||||
"212222", # 00#
|
|
||||||
"222122", # 01#
|
|
||||||
"222221", # 02#
|
|
||||||
"121223", # 03#
|
|
||||||
"121322", # 04#
|
|
||||||
"131222", # 05#
|
|
||||||
"122213", # 06#
|
|
||||||
"122312", # 07#
|
|
||||||
"132212", # 08#
|
|
||||||
"221213", # 09#
|
|
||||||
"221312", # 10#
|
|
||||||
"231212", # 11#
|
|
||||||
"112232", # 12#
|
|
||||||
"122132", # 13#
|
|
||||||
"122231", # 14#
|
|
||||||
"113222", # 15#
|
|
||||||
"123122", # 16#
|
|
||||||
"123221", # 17#
|
|
||||||
"223211", # 18#
|
|
||||||
"221132", # 19#
|
|
||||||
"221231", # 20#
|
|
||||||
"213212", # 21#
|
|
||||||
"223112", # 22#
|
|
||||||
"312131", # 23#
|
|
||||||
"311222", # 24#
|
|
||||||
"321122", # 25#
|
|
||||||
"321221", # 26#
|
|
||||||
"312212", # 27#
|
|
||||||
"322112", # 28#
|
|
||||||
"322211", # 29#
|
|
||||||
"212123", # 30#
|
|
||||||
"212321", # 31#
|
|
||||||
"232121", # 32#
|
|
||||||
"111323", # 33#
|
|
||||||
"131123", # 34#
|
|
||||||
"131321", # 35#
|
|
||||||
"112313", # 36#
|
|
||||||
"132113", # 37#
|
|
||||||
"132311", # 38#
|
|
||||||
"211313", # 39#
|
|
||||||
"231113", # 40#
|
|
||||||
"231311", # 41#
|
|
||||||
"112133", # 42#
|
|
||||||
"112331", # 43#
|
|
||||||
"132131", # 44#
|
|
||||||
"113123", # 45#
|
|
||||||
"113321", # 46#
|
|
||||||
"133121", # 47#
|
|
||||||
"313121", # 48#
|
|
||||||
"211331", # 49#
|
|
||||||
"231131", # 50#
|
|
||||||
"213113", # 51#
|
|
||||||
"213311", # 52#
|
|
||||||
"213131", # 53#
|
|
||||||
"311123", # 54#
|
|
||||||
"311321", # 55#
|
|
||||||
"331121", # 56#
|
|
||||||
"312113", # 57#
|
|
||||||
"312311", # 58#
|
|
||||||
"332111", # 59#
|
|
||||||
"314111", # 60#
|
|
||||||
"221411", # 61#
|
|
||||||
"431111", # 62#
|
|
||||||
"111224", # 63#
|
|
||||||
"111422", # 64#
|
|
||||||
"121124", # 65#
|
|
||||||
"121421", # 66#
|
|
||||||
"141122", # 67#
|
|
||||||
"141221", # 68#
|
|
||||||
"112214", # 69#
|
|
||||||
"112412", # 70#
|
|
||||||
"122114", # 71#
|
|
||||||
"122411", # 72#
|
|
||||||
"142112", # 73#
|
|
||||||
"142211", # 74#
|
|
||||||
"241211", # 75#
|
|
||||||
"221114", # 76#
|
|
||||||
"413111", # 77#
|
|
||||||
"241112", # 78#
|
|
||||||
"134111", # 79#
|
|
||||||
"111242", # 80#
|
|
||||||
"121142", # 81#
|
|
||||||
"121241", # 82#
|
|
||||||
"114212", # 83#
|
|
||||||
"124112", # 84#
|
|
||||||
"124211", # 85#
|
|
||||||
"411212", # 86#
|
|
||||||
"421112", # 87#
|
|
||||||
"421211", # 88#
|
|
||||||
"212141", # 89#
|
|
||||||
"214121", # 90#
|
|
||||||
"412121", # 91#
|
|
||||||
"111143", # 92#
|
|
||||||
"111341", # 93#
|
|
||||||
"131141", # 94#
|
|
||||||
"114113", # 95#
|
|
||||||
"114311", # 96#
|
|
||||||
"411113", # 97#
|
|
||||||
"411311", # 98#
|
|
||||||
"113141", # 99#
|
|
||||||
);
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the character index.
|
|
||||||
# @param char $char character.
|
|
||||||
# @return int character index or -1 in case of error.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetCharIndex($char)
|
|
||||||
for ($i=0;$i<100;$i++)
|
|
||||||
if (@mChars[$i] == $char)
|
|
||||||
return $i;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return -1;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the bar size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @param char $char Character.
|
|
||||||
# @return int barcode size.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetBarSize($xres, $char)
|
|
||||||
switch ($char)
|
|
||||||
case '1'
|
|
||||||
$cVal = BCD_C128_BAR_1;
|
|
||||||
|
|
||||||
case '2'
|
|
||||||
$cVal = BCD_C128_BAR_2;
|
|
||||||
|
|
||||||
case '3'
|
|
||||||
$cVal = BCD_C128_BAR_3;
|
|
||||||
|
|
||||||
case '4'
|
|
||||||
$cVal = BCD_C128_BAR_4;
|
|
||||||
|
|
||||||
default
|
|
||||||
$cVal = 0;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return $cVal# $xres;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns barcode size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return barcode size.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetSize($xres)
|
|
||||||
$len = @mValue.length;
|
|
||||||
|
|
||||||
if ($len == 0) {
|
|
||||||
@mError = "Null value";
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
$ret = 0;
|
|
||||||
|
|
||||||
for ($i=0;$i<$len;$i++)
|
|
||||||
if ((@mValue[$i][0] < 48) || (@mValue[$i][0] > 57))
|
|
||||||
@mError = "Code-128C is numeric only";
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if (($len%2) != 0)
|
|
||||||
@mError = "The length of barcode value must be even. You must pad the number with zeros.";
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
|
|
||||||
for ($i=0;$i<$len;$i+=2)
|
|
||||||
$id = GetCharIndex(@mValue[$i].@mValue[$i+1]);
|
|
||||||
$cset = @mCharSet[$id];
|
|
||||||
$ret += GetBarSize($xres, $cset[0]);
|
|
||||||
$ret += GetBarSize($xres, $cset[1]);
|
|
||||||
$ret += GetBarSize($xres, $cset[2]);
|
|
||||||
$ret += GetBarSize($xres, $cset[3]);
|
|
||||||
$ret += GetBarSize($xres, $cset[4]);
|
|
||||||
$ret += GetBarSize($xres, $cset[5]);
|
|
||||||
end
|
|
||||||
# length of Check character#
|
|
||||||
$cset = GetCheckCharValue();
|
|
||||||
$CheckSize = 0;
|
|
||||||
for ($i=0;$i<6;$i++)
|
|
||||||
$CheckSize += GetBarSize($cset[$i], $xres);
|
|
||||||
end
|
|
||||||
|
|
||||||
$StartSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres;
|
|
||||||
$StopSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + 2*BCD_C128_BAR_3*$xres;
|
|
||||||
return $StartSize + $ret + $CheckSize + $StopSize;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the check-char value.
|
|
||||||
# @return string.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetCheckCharValue()
|
|
||||||
$len = @mValue.length;
|
|
||||||
$sum = 105; # 'C' type;
|
|
||||||
$m = 0;
|
|
||||||
for ($i=0;$i<$len;$i+=2)
|
|
||||||
$m += 1;
|
|
||||||
$sum += GetCharIndex(@mValue[$i].@mValue[$i+1])# $m;
|
|
||||||
end
|
|
||||||
$check = $sum % 103;
|
|
||||||
return @mCharSet[$check];
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the start code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawStart($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
# Start code is '211232'#
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('3', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('3', $xres);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the stop code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawStop($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
# Stop code is '2331112'#
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
$DrawPos += GetBarSize('3', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('3', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('3', $xres);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
$DrawPos += GetBarSize('1', $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize('2', $xres);
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the check-char code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawCheckChar($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
$cset = GetCheckCharValue();
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[0], $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize($cset[0], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[1], $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[2], $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize($cset[2], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[3], $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[4], $xres) , $ySize);
|
|
||||||
$DrawPos += GetBarSize($cset[4], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[5], $xres);
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the barcode object.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return bool true in case of success.
|
|
||||||
#
|
|
||||||
def DrawObject($xres)
|
|
||||||
$len = @mValue.length;
|
|
||||||
if (($size = GetSize($xres))==0)
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
|
|
||||||
if (@mStyle & BCS_ALIGN_CENTER) $sPos = (integer)((@mWidth - $size ) / 2);
|
|
||||||
elsif (@mStyle & BCS_ALIGN_RIGHT) $sPos = @mWidth - $size;
|
|
||||||
else $sPos = 0;
|
|
||||||
|
|
||||||
# Total height of bar code -Bars only-#
|
|
||||||
if (@mStyle & BCS_DRAW_TEXT) $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - GetFontHeight(@mFont);
|
|
||||||
else $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
|
|
||||||
|
|
||||||
# Draw text#
|
|
||||||
if (@mStyle & BCS_DRAW_TEXT)
|
|
||||||
if (@mStyle & BCS_STRETCH_TEXT)
|
|
||||||
for ($i=0;$i<$len;$i++)
|
|
||||||
@DrawChar(@mFont, $sPos+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres)+($size/$len)*$i,
|
|
||||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue[$i]);
|
|
||||||
else# Center#
|
|
||||||
$text_width = GetFontWidth(@mFont) * @mValue.length;
|
|
||||||
@DrawText(@mFont, $sPos+(($size-$text_width)/2)+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres),
|
|
||||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
$cPos = 0;
|
|
||||||
$DrawPos = @DrawStart($sPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
|
||||||
do {
|
|
||||||
$c = GetCharIndex(@mValue[$cPos].@mValue[$cPos+1]);
|
|
||||||
$cset = @mCharSet[$c];
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[0], $xres) , $ysize);
|
|
||||||
$DrawPos += GetBarSize($cset[0], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[1], $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[2], $xres) , $ysize);
|
|
||||||
$DrawPos += GetBarSize($cset[2], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[3], $xres);
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[4], $xres) , $ysize);
|
|
||||||
$DrawPos += GetBarSize($cset[4], $xres);
|
|
||||||
$DrawPos += GetBarSize($cset[5], $xres);
|
|
||||||
$cPos += 2;
|
|
||||||
end while ($cPos<$len);
|
|
||||||
$DrawPos = @DrawCheckChar($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
|
||||||
$DrawPos = @DrawStop($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
|
||||||
return true;
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
#============================================================+
|
|
||||||
# END OF FILE
|
|
||||||
#============================================================+
|
|
||||||
|
|
||||||
-281
@@ -1,281 +0,0 @@
|
|||||||
|
|
||||||
#============================================================+
|
|
||||||
# File name : c39object.rb
|
|
||||||
# Begin : 2002-07-31
|
|
||||||
# Last Update : 2004-12-29
|
|
||||||
# Author : Karim Mribti [barcode@mribti.com]
|
|
||||||
# : Nicola Asuni [info@tecnick.com]
|
|
||||||
# Version : 0.0.8a 2001-04-01 (original code)
|
|
||||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
|
||||||
# http://www.gnu.org/copyleft/lesser.txt
|
|
||||||
# Source Code : http://www.mribti.com/barcode/
|
|
||||||
#
|
|
||||||
# Description : Code 39 Barcode Render Class for PHP using
|
|
||||||
# the GD graphics library.
|
|
||||||
# Code 39 is an alphanumeric bar code that can
|
|
||||||
# encode decimal number, case alphabet and some
|
|
||||||
# special symbols.
|
|
||||||
#
|
|
||||||
# NOTE:
|
|
||||||
# This version contains changes by Nicola Asuni:
|
|
||||||
# - porting to Ruby
|
|
||||||
# - code style and formatting
|
|
||||||
# - automatic php documentation in PhpDocumentor Style
|
|
||||||
# (www.phpdoc.org)
|
|
||||||
# - minor bug fixing
|
|
||||||
#============================================================+
|
|
||||||
|
|
||||||
#
|
|
||||||
# Code 39 Barcode Render Class.<br>
|
|
||||||
# Code 39 is an alphanumeric bar code that can encode decimal number, case alphabet and some special symbols.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Code 39 Barcode Render Class.<br>
|
|
||||||
# Code 39 is an alphanumeric bar code that can encode decimal number, case alphabet and some special symbols.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
class C39Object extends BarcodeObject {
|
|
||||||
|
|
||||||
#
|
|
||||||
# Class Constructor.
|
|
||||||
# @param int $Width Image width in pixels.
|
|
||||||
# @param int $Height Image height in pixels.
|
|
||||||
# @param int $Style Barcode style.
|
|
||||||
# @param int $Value value to print on barcode.
|
|
||||||
#
|
|
||||||
def __construct($Width, $Height, $Style, $Value)
|
|
||||||
parent::__construct($Width, $Height, $Style);
|
|
||||||
@mValue = $Value;
|
|
||||||
@mChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-.#$/+%";
|
|
||||||
@mCharSet = array (
|
|
||||||
# 0 # "000110100",
|
|
||||||
# 1 # "100100001",
|
|
||||||
# 2 # "001100001",
|
|
||||||
# 3 # "101100000",
|
|
||||||
# 4 # "000110001",
|
|
||||||
# 5 # "100110000",
|
|
||||||
# 6 # "001110000",
|
|
||||||
# 7 # "000100101",
|
|
||||||
# 8 # "100100100",
|
|
||||||
# 9 # "001100100",
|
|
||||||
# A # "100001001",
|
|
||||||
# B # "001001001",
|
|
||||||
# C # "101001000",
|
|
||||||
# D # "000011001",
|
|
||||||
# E # "100011000",
|
|
||||||
# F # "001011000",
|
|
||||||
# G # "000001101",
|
|
||||||
# H # "100001100",
|
|
||||||
# I # "001001100",
|
|
||||||
# J # "000011100",
|
|
||||||
# K # "100000011",
|
|
||||||
# L # "001000011",
|
|
||||||
# M # "101000010",
|
|
||||||
# N # "000010011",
|
|
||||||
# O # "100010010",
|
|
||||||
# P # "001010010",
|
|
||||||
# Q # "000000111",
|
|
||||||
# R # "100000110",
|
|
||||||
# S # "001000110",
|
|
||||||
# T # "000010110",
|
|
||||||
# U # "110000001",
|
|
||||||
# V # "011000001",
|
|
||||||
# W # "111000000",
|
|
||||||
# X # "010010001",
|
|
||||||
# Y # "110010000",
|
|
||||||
# Z # "011010000",
|
|
||||||
# - # "010000101",
|
|
||||||
# . # "110000100",
|
|
||||||
# SP# "011000100",
|
|
||||||
/*# # "010010100",
|
|
||||||
# $ # "010101000",
|
|
||||||
# / # "010100010",
|
|
||||||
# + # "010001010",
|
|
||||||
# % # "000101010"
|
|
||||||
);
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns the character index.
|
|
||||||
# @param char $char character.
|
|
||||||
# @return int character index or -1 in case of error.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetCharIndex($char)
|
|
||||||
for ($i=0;$i<44;$i++)
|
|
||||||
if (@mChars[$i] == $char)
|
|
||||||
return $i;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return -1;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns barcode size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return barcode size.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetSize($xres)
|
|
||||||
$len = @mValue.length;
|
|
||||||
|
|
||||||
if ($len == 0) {
|
|
||||||
@mError = "Null value";
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
|
|
||||||
for ($i=0;$i<$len;$i++)
|
|
||||||
if (GetCharIndex(@mValue[$i]) == -1 || @mValue[$i] == '*')
|
|
||||||
# The asterisk is only used as a start and stop code#
|
|
||||||
@mError = "C39 not include the char '".@mValue[$i]."'";
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# Start, Stop is 010010100 == '*' #
|
|
||||||
$StartSize = BCD_C39_NARROW_BAR# $xres# 6 + BCD_C39_WIDE_BAR# $xres# 3;
|
|
||||||
$StopSize = BCD_C39_NARROW_BAR# $xres# 6 + BCD_C39_WIDE_BAR# $xres# 3;
|
|
||||||
$CharSize = BCD_C39_NARROW_BAR# $xres# 6 + BCD_C39_WIDE_BAR# $xres# 3; # Same for all chars#
|
|
||||||
|
|
||||||
return $CharSize# $len + $StartSize + $StopSize + # Space between chars# BCD_C39_NARROW_BAR# $xres# ($len-1);
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the start code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawStart($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
# Start code is '*'#
|
|
||||||
$narrow = BCD_C39_NARROW_BAR# $xres;
|
|
||||||
$wide = BCD_C39_WIDE_BAR# $xres;
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, $narrow , $ySize);
|
|
||||||
$DrawPos += $narrow;
|
|
||||||
$DrawPos += $wide;
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, $narrow , $ySize);
|
|
||||||
$DrawPos += $narrow;
|
|
||||||
$DrawPos += $narrow;
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, $wide , $ySize);
|
|
||||||
$DrawPos += $wide;
|
|
||||||
$DrawPos += $narrow;
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, $wide , $ySize);
|
|
||||||
$DrawPos += $wide;
|
|
||||||
$DrawPos += $narrow;
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, $narrow, $ySize);
|
|
||||||
$DrawPos += $narrow;
|
|
||||||
$DrawPos += $narrow; # Space between chars#
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the stop code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawStop($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
# Stop code is '*'#
|
|
||||||
$narrow = BCD_C39_NARROW_BAR# $xres;
|
|
||||||
$wide = BCD_C39_WIDE_BAR# $xres;
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, $narrow , $ySize);
|
|
||||||
$DrawPos += $narrow;
|
|
||||||
$DrawPos += $wide;
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, $narrow , $ySize);
|
|
||||||
$DrawPos += $narrow;
|
|
||||||
$DrawPos += $narrow;
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, $wide , $ySize);
|
|
||||||
$DrawPos += $wide;
|
|
||||||
$DrawPos += $narrow;
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, $wide , $ySize);
|
|
||||||
$DrawPos += $wide;
|
|
||||||
$DrawPos += $narrow;
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, $narrow, $ySize);
|
|
||||||
$DrawPos += $narrow;
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the barcode object.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return bool true in case of success.
|
|
||||||
#
|
|
||||||
def DrawObject($xres)
|
|
||||||
$len = @mValue.length;
|
|
||||||
|
|
||||||
$narrow = BCD_C39_NARROW_BAR# $xres;
|
|
||||||
$wide = BCD_C39_WIDE_BAR# $xres;
|
|
||||||
|
|
||||||
if (($size = GetSize($xres))==0)
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
|
|
||||||
$cPos = 0;
|
|
||||||
if (@mStyle & BCS_ALIGN_CENTER) $sPos = (integer)((@mWidth - $size ) / 2);
|
|
||||||
elsif (@mStyle & BCS_ALIGN_RIGHT) $sPos = @mWidth - $size;
|
|
||||||
else $sPos = 0;
|
|
||||||
|
|
||||||
# Total height of bar code -Bars only-#
|
|
||||||
if (@mStyle & BCS_DRAW_TEXT) $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - GetFontHeight(@mFont);
|
|
||||||
else $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
|
|
||||||
|
|
||||||
# Draw text#
|
|
||||||
if (@mStyle & BCS_DRAW_TEXT)
|
|
||||||
if (@mStyle & BCS_STRETCH_TEXT)
|
|
||||||
for ($i=0;$i<$len;$i++)
|
|
||||||
@DrawChar(@mFont, $sPos+($narrow*6+$wide*3)+($size/$len)*$i,
|
|
||||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue[$i]);
|
|
||||||
else# Center#
|
|
||||||
$text_width = GetFontWidth(@mFont)# @mValue.length;
|
|
||||||
@DrawText(@mFont, $sPos+(($size-$text_width)/2)+($narrow*6+$wide*3),
|
|
||||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
$DrawPos = @DrawStart($sPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
|
||||||
do {
|
|
||||||
$c = GetCharIndex(@mValue[$cPos]);
|
|
||||||
$cset = @mCharSet[$c];
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[0] == '0') ? $narrow : $wide , $ysize);
|
|
||||||
$DrawPos += ($cset[0] == '0') ? $narrow : $wide;
|
|
||||||
$DrawPos += ($cset[1] == '0') ? $narrow : $wide;
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[2] == '0') ? $narrow : $wide , $ysize);
|
|
||||||
$DrawPos += ($cset[2] == '0') ? $narrow : $wide;
|
|
||||||
$DrawPos += ($cset[3] == '0') ? $narrow : $wide;
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[4] == '0') ? $narrow : $wide , $ysize);
|
|
||||||
$DrawPos += ($cset[4] == '0') ? $narrow : $wide;
|
|
||||||
$DrawPos += ($cset[5] == '0') ? $narrow : $wide;
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[6] == '0') ? $narrow : $wide , $ysize);
|
|
||||||
$DrawPos += ($cset[6] == '0') ? $narrow : $wide;
|
|
||||||
$DrawPos += ($cset[7] == '0') ? $narrow : $wide;
|
|
||||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[8] == '0') ? $narrow : $wide , $ysize);
|
|
||||||
$DrawPos += ($cset[8] == '0') ? $narrow : $wide;
|
|
||||||
$DrawPos += $narrow; # Space between chars#
|
|
||||||
$cPos += 1;
|
|
||||||
end while ($cPos<$len);
|
|
||||||
$DrawPos = @DrawStop($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
|
||||||
return true;
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
#============================================================+
|
|
||||||
# END OF FILE
|
|
||||||
#============================================================+
|
|
||||||
-216
@@ -1,216 +0,0 @@
|
|||||||
|
|
||||||
#============================================================+
|
|
||||||
# File name : i25aobject.rb
|
|
||||||
# Begin : 2002-07-31
|
|
||||||
# Last Update : 2004-12-29
|
|
||||||
# Author : Karim Mribti [barcode@mribti.com]
|
|
||||||
# : Nicola Asuni [info@tecnick.com]
|
|
||||||
# Version : 0.0.8a 2001-04-01 (original code)
|
|
||||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
|
||||||
# http://www.gnu.org/copyleft/lesser.txt
|
|
||||||
# Source Code : http://www.mribti.com/barcode/
|
|
||||||
#
|
|
||||||
# Description : I25 Barcode Render Class for PHP using
|
|
||||||
# the GD graphics library.
|
|
||||||
# Interleaved 2 of 5 is a numeric only bar code
|
|
||||||
# with a optional check number.
|
|
||||||
#
|
|
||||||
# NOTE:
|
|
||||||
# This version contains changes by Nicola Asuni:
|
|
||||||
# - porting to Ruby
|
|
||||||
# - code style and formatting
|
|
||||||
# - automatic php documentation in PhpDocumentor Style
|
|
||||||
# (www.phpdoc.org)
|
|
||||||
# - minor bug fixing
|
|
||||||
#============================================================+
|
|
||||||
|
|
||||||
#
|
|
||||||
# I25 Barcode Render Class for PHP using the GD graphics library.<br<
|
|
||||||
# Interleaved 2 of 5 is a numeric only bar code with a optional check number.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# I25 Barcode Render Class for PHP using the GD graphics library.<br<
|
|
||||||
# Interleaved 2 of 5 is a numeric only bar code with a optional check number.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
class I25Object extends BarcodeObject {
|
|
||||||
|
|
||||||
#
|
|
||||||
# Class Constructor.
|
|
||||||
# @param int $Width Image width in pixels.
|
|
||||||
# @param int $Height Image height in pixels.
|
|
||||||
# @param int $Style Barcode style.
|
|
||||||
# @param int $Value value to print on barcode.
|
|
||||||
#
|
|
||||||
def __construct($Width, $Height, $Style, $Value)
|
|
||||||
parent::__construct($Width, $Height, $Style);
|
|
||||||
@mValue = $Value;
|
|
||||||
@mCharSet = array (
|
|
||||||
# 0# "00110",
|
|
||||||
# 1# "10001",
|
|
||||||
# 2# "01001",
|
|
||||||
# 3# "11000",
|
|
||||||
# 4# "00101",
|
|
||||||
# 5# "10100",
|
|
||||||
# 6# "01100",
|
|
||||||
# 7# "00011",
|
|
||||||
# 8# "10010",
|
|
||||||
# 9# "01010"
|
|
||||||
);
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Returns barcode size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return barcode size.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def GetSize($xres)
|
|
||||||
$len = @mValue.length;
|
|
||||||
|
|
||||||
if ($len == 0) {
|
|
||||||
@mError = "Null value";
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
|
|
||||||
for ($i=0;$i<$len;$i++)
|
|
||||||
if ((@mValue[$i][0] < 48) || (@mValue[$i][0] > 57))
|
|
||||||
@mError = "I25 is numeric only";
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if (($len%2) != 0)
|
|
||||||
@mError = "The length of barcode value must be even";
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
$StartSize = BCD_I25_NARROW_BAR# 4 # $xres;
|
|
||||||
$StopSize = BCD_I25_WIDE_BAR# $xres + 2# BCD_I25_NARROW_BAR# $xres;
|
|
||||||
$cPos = 0;
|
|
||||||
$sPos = 0;
|
|
||||||
do {
|
|
||||||
$c1 = @mValue[$cPos];
|
|
||||||
$c2 = @mValue[$cPos+1];
|
|
||||||
$cset1 = @mCharSet[$c1];
|
|
||||||
$cset2 = @mCharSet[$c2];
|
|
||||||
|
|
||||||
for ($i=0;$i<5;$i++)
|
|
||||||
$type1 = ($cset1[$i]==0) ? (BCD_I25_NARROW_BAR # $xres) : (BCD_I25_WIDE_BAR# $xres);
|
|
||||||
$type2 = ($cset2[$i]==0) ? (BCD_I25_NARROW_BAR # $xres) : (BCD_I25_WIDE_BAR# $xres);
|
|
||||||
$sPos += ($type1 + $type2);
|
|
||||||
end
|
|
||||||
$cPos+=2;
|
|
||||||
end while ($cPos<$len);
|
|
||||||
|
|
||||||
return $sPos + $StartSize + $StopSize;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the start code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawStart($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
# Start code is "0000"#
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, BCD_I25_NARROW_BAR # $xres , $ySize);
|
|
||||||
$DrawPos += BCD_I25_NARROW_BAR # $xres;
|
|
||||||
$DrawPos += BCD_I25_NARROW_BAR # $xres;
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, BCD_I25_NARROW_BAR # $xres , $ySize);
|
|
||||||
$DrawPos += BCD_I25_NARROW_BAR # $xres;
|
|
||||||
$DrawPos += BCD_I25_NARROW_BAR # $xres;
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the stop code.
|
|
||||||
# @param int $DrawPos Drawing position.
|
|
||||||
# @param int $yPos Vertical position.
|
|
||||||
# @param int $ySize Vertical size.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return int drawing position.
|
|
||||||
# @access private
|
|
||||||
#
|
|
||||||
def DrawStop($DrawPos, $yPos, $ySize, $xres)
|
|
||||||
# Stop code is "100"#
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, BCD_I25_WIDE_BAR# $xres , $ySize);
|
|
||||||
$DrawPos += BCD_I25_WIDE_BAR # $xres;
|
|
||||||
$DrawPos += BCD_I25_NARROW_BAR # $xres;
|
|
||||||
@DrawSingleBar($DrawPos, $yPos, BCD_I25_NARROW_BAR # $xres , $ySize);
|
|
||||||
$DrawPos += BCD_I25_NARROW_BAR # $xres;
|
|
||||||
return $DrawPos;
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
# Draws the barcode object.
|
|
||||||
# @param int $xres Horizontal resolution.
|
|
||||||
# @return bool true in case of success.
|
|
||||||
#
|
|
||||||
def DrawObject($xres)
|
|
||||||
$len = @mValue.length;
|
|
||||||
|
|
||||||
if (($size = GetSize($xres))==0)
|
|
||||||
return false;
|
|
||||||
end
|
|
||||||
|
|
||||||
$cPos = 0;
|
|
||||||
|
|
||||||
if (@mStyle & BCS_DRAW_TEXT) $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - GetFontHeight(@mFont);
|
|
||||||
else $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
|
|
||||||
|
|
||||||
if (@mStyle & BCS_ALIGN_CENTER) $sPos = (integer)((@mWidth - $size ) / 2);
|
|
||||||
elsif (@mStyle & BCS_ALIGN_RIGHT) $sPos = @mWidth - $size;
|
|
||||||
else $sPos = 0;
|
|
||||||
|
|
||||||
if (@mStyle & BCS_DRAW_TEXT)
|
|
||||||
if (@mStyle & BCS_STRETCH_TEXT)
|
|
||||||
# Stretch#
|
|
||||||
for ($i=0;$i<$len;$i++)
|
|
||||||
@DrawChar(@mFont, $sPos+BCD_I25_NARROW_BAR*4*$xres+($size/$len)*$i,
|
|
||||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET , @mValue[$i]);
|
|
||||||
end
|
|
||||||
endelse# Center#
|
|
||||||
$text_width = GetFontWidth(@mFont) * @mValue.length;
|
|
||||||
@DrawText(@mFont, $sPos+(($size-$text_width)/2)+(BCD_I25_NARROW_BAR*4*$xres),
|
|
||||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue);
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
$sPos = @DrawStart($sPos, BCD_DEFAULT_MAR_Y1, $ysize, $xres);
|
|
||||||
do {
|
|
||||||
$c1 = @mValue[$cPos];
|
|
||||||
$c2 = @mValue[$cPos+1];
|
|
||||||
$cset1 = @mCharSet[$c1];
|
|
||||||
$cset2 = @mCharSet[$c2];
|
|
||||||
|
|
||||||
for ($i=0;$i<5;$i++)
|
|
||||||
$type1 = ($cset1[$i]==0) ? (BCD_I25_NARROW_BAR# $xres) : (BCD_I25_WIDE_BAR# $xres);
|
|
||||||
$type2 = ($cset2[$i]==0) ? (BCD_I25_NARROW_BAR# $xres) : (BCD_I25_WIDE_BAR# $xres);
|
|
||||||
@DrawSingleBar($sPos, BCD_DEFAULT_MAR_Y1, $type1 , $ysize);
|
|
||||||
$sPos += ($type1 + $type2);
|
|
||||||
end
|
|
||||||
$cPos+=2;
|
|
||||||
end while ($cPos<$len);
|
|
||||||
$sPos = @DrawStop($sPos, BCD_DEFAULT_MAR_Y1, $ysize, $xres);
|
|
||||||
return true;
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
#============================================================+
|
|
||||||
# END OF FILE
|
|
||||||
#============================================================+
|
|
||||||
-87
@@ -1,87 +0,0 @@
|
|||||||
|
|
||||||
#============================================================+
|
|
||||||
# File name : image.rb
|
|
||||||
# Begin : 2002-07-31
|
|
||||||
# Last Update : 2005-01-08
|
|
||||||
# Author : Karim Mribti [barcode@mribti.com]
|
|
||||||
# : Nicola Asuni [info@tecnick.com]
|
|
||||||
# Version : 0.0.8a 2001-04-01 (original code)
|
|
||||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
|
||||||
# http://www.gnu.org/copyleft/lesser.txt
|
|
||||||
# Source Code : http://www.mribti.com/barcode/
|
|
||||||
#
|
|
||||||
# Description : Barcode Image Rendering.
|
|
||||||
#
|
|
||||||
# NOTE:
|
|
||||||
# This version contains changes by Nicola Asuni:
|
|
||||||
# - porting to Ruby
|
|
||||||
# - code style and formatting
|
|
||||||
# - automatic php documentation in PhpDocumentor Style
|
|
||||||
# (www.phpdoc.org)
|
|
||||||
# - minor bug fixing
|
|
||||||
#============================================================+
|
|
||||||
|
|
||||||
#
|
|
||||||
# Barcode Image Rendering.
|
|
||||||
# @author Karim Mribti, Nicola Asuni
|
|
||||||
# @name BarcodeObject
|
|
||||||
# @package com.tecnick.tcpdf
|
|
||||||
# @@version 0.0.8a 2001-04-01 (original code)
|
|
||||||
# @since 2001-03-25
|
|
||||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
require("../../shared/barcode/barcode.rb");
|
|
||||||
require("../../shared/barcode/i25object.rb");
|
|
||||||
require("../../shared/barcode/c39object.rb");
|
|
||||||
require("../../shared/barcode/c128aobject.rb");
|
|
||||||
require("../../shared/barcode/c128bobject.rb");
|
|
||||||
require("../../shared/barcode/c128cobject.rb");
|
|
||||||
|
|
||||||
if (!$_REQUEST['style'].nil?) $_REQUEST['style'] = BCD_DEFAULT_STYLE;
|
|
||||||
if (!$_REQUEST['width'].nil?) $_REQUEST['width'] = BCD_DEFAULT_WIDTH;
|
|
||||||
if (!$_REQUEST['height'].nil?) $_REQUEST['height'] = BCD_DEFAULT_HEIGHT;
|
|
||||||
if (!$_REQUEST['xres'].nil?) $_REQUEST['xres'] = BCD_DEFAULT_XRES;
|
|
||||||
if (!$_REQUEST['font'].nil?) $_REQUEST['font'] = BCD_DEFAULT_FONT;
|
|
||||||
if (!$_REQUEST['type'].nil?) $_REQUEST['type'] = "C39";
|
|
||||||
if (!$_REQUEST['code'].nil?) $_REQUEST['code'] = "";
|
|
||||||
|
|
||||||
switch ($_REQUEST['type'].upcase)
|
|
||||||
case "I25"
|
|
||||||
$obj = new I25Object($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
|
|
||||||
break;
|
|
||||||
end
|
|
||||||
case "C128A"
|
|
||||||
$obj = new C128AObject($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
|
|
||||||
break;
|
|
||||||
end
|
|
||||||
case "C128B"
|
|
||||||
$obj = new C128BObject($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
|
|
||||||
break;
|
|
||||||
end
|
|
||||||
case "C128C"
|
|
||||||
$obj = new C128CObject($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
|
|
||||||
break;
|
|
||||||
end
|
|
||||||
case "C39":
|
|
||||||
default
|
|
||||||
$obj = new C39Object($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
|
|
||||||
break;
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($obj)
|
|
||||||
$obj->SetFont($_REQUEST['font']);
|
|
||||||
$obj->DrawObject($_REQUEST['xres']);
|
|
||||||
$obj->FlushObject();
|
|
||||||
$obj->DestroyObject();
|
|
||||||
unset($obj); # clean#
|
|
||||||
}
|
|
||||||
|
|
||||||
#============================================================+
|
|
||||||
# END OF FILE
|
|
||||||
#============================================================+
|
|
||||||
-504
@@ -1,504 +0,0 @@
|
|||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
|
||||||
Version 2.1, February 1999
|
|
||||||
|
|
||||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
|
||||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
[This is the first released version of the Lesser GPL. It also counts
|
|
||||||
as the successor of the GNU Library Public License, version 2, hence
|
|
||||||
the version number 2.1.]
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
|
||||||
Licenses are intended to guarantee your freedom to share and change
|
|
||||||
free software--to make sure the software is free for all its users.
|
|
||||||
|
|
||||||
This license, the Lesser General Public License, applies to some
|
|
||||||
specially designated software packages--typically libraries--of the
|
|
||||||
Free Software Foundation and other authors who decide to use it. You
|
|
||||||
can use it too, but we suggest you first think carefully about whether
|
|
||||||
this license or the ordinary General Public License is the better
|
|
||||||
strategy to use in any particular case, based on the explanations below.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom of use,
|
|
||||||
not price. Our General Public Licenses are designed to make sure that
|
|
||||||
you have the freedom to distribute copies of free software (and charge
|
|
||||||
for this service if you wish); that you receive source code or can get
|
|
||||||
it if you want it; that you can change the software and use pieces of
|
|
||||||
it in new free programs; and that you are informed that you can do
|
|
||||||
these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to make restrictions that forbid
|
|
||||||
distributors to deny you these rights or to ask you to surrender these
|
|
||||||
rights. These restrictions translate to certain responsibilities for
|
|
||||||
you if you distribute copies of the library or if you modify it.
|
|
||||||
|
|
||||||
For example, if you distribute copies of the library, whether gratis
|
|
||||||
or for a fee, you must give the recipients all the rights that we gave
|
|
||||||
you. You must make sure that they, too, receive or can get the source
|
|
||||||
code. If you link other code with the library, you must provide
|
|
||||||
complete object files to the recipients, so that they can relink them
|
|
||||||
with the library after making changes to the library and recompiling
|
|
||||||
it. And you must show them these terms so they know their rights.
|
|
||||||
|
|
||||||
We protect your rights with a two-step method: (1) we copyright the
|
|
||||||
library, and (2) we offer you this license, which gives you legal
|
|
||||||
permission to copy, distribute and/or modify the library.
|
|
||||||
|
|
||||||
To protect each distributor, we want to make it very clear that
|
|
||||||
there is no warranty for the free library. Also, if the library is
|
|
||||||
modified by someone else and passed on, the recipients should know
|
|
||||||
that what they have is not the original version, so that the original
|
|
||||||
author's reputation will not be affected by problems that might be
|
|
||||||
introduced by others.
|
|
||||||
|
|
||||||
Finally, software patents pose a constant threat to the existence of
|
|
||||||
any free program. We wish to make sure that a company cannot
|
|
||||||
effectively restrict the users of a free program by obtaining a
|
|
||||||
restrictive license from a patent holder. Therefore, we insist that
|
|
||||||
any patent license obtained for a version of the library must be
|
|
||||||
consistent with the full freedom of use specified in this license.
|
|
||||||
|
|
||||||
Most GNU software, including some libraries, is covered by the
|
|
||||||
ordinary GNU General Public License. This license, the GNU Lesser
|
|
||||||
General Public License, applies to certain designated libraries, and
|
|
||||||
is quite different from the ordinary General Public License. We use
|
|
||||||
this license for certain libraries in order to permit linking those
|
|
||||||
libraries into non-free programs.
|
|
||||||
|
|
||||||
When a program is linked with a library, whether statically or using
|
|
||||||
a shared library, the combination of the two is legally speaking a
|
|
||||||
combined work, a derivative of the original library. The ordinary
|
|
||||||
General Public License therefore permits such linking only if the
|
|
||||||
entire combination fits its criteria of freedom. The Lesser General
|
|
||||||
Public License permits more lax criteria for linking other code with
|
|
||||||
the library.
|
|
||||||
|
|
||||||
We call this license the "Lesser" General Public License because it
|
|
||||||
does Less to protect the user's freedom than the ordinary General
|
|
||||||
Public License. It also provides other free software developers Less
|
|
||||||
of an advantage over competing non-free programs. These disadvantages
|
|
||||||
are the reason we use the ordinary General Public License for many
|
|
||||||
libraries. However, the Lesser license provides advantages in certain
|
|
||||||
special circumstances.
|
|
||||||
|
|
||||||
For example, on rare occasions, there may be a special need to
|
|
||||||
encourage the widest possible use of a certain library, so that it becomes
|
|
||||||
a de-facto standard. To achieve this, non-free programs must be
|
|
||||||
allowed to use the library. A more frequent case is that a free
|
|
||||||
library does the same job as widely used non-free libraries. In this
|
|
||||||
case, there is little to gain by limiting the free library to free
|
|
||||||
software only, so we use the Lesser General Public License.
|
|
||||||
|
|
||||||
In other cases, permission to use a particular library in non-free
|
|
||||||
programs enables a greater number of people to use a large body of
|
|
||||||
free software. For example, permission to use the GNU C Library in
|
|
||||||
non-free programs enables many more people to use the whole GNU
|
|
||||||
operating system, as well as its variant, the GNU/Linux operating
|
|
||||||
system.
|
|
||||||
|
|
||||||
Although the Lesser General Public License is Less protective of the
|
|
||||||
users' freedom, it does ensure that the user of a program that is
|
|
||||||
linked with the Library has the freedom and the wherewithal to run
|
|
||||||
that program using a modified version of the Library.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow. Pay close attention to the difference between a
|
|
||||||
"work based on the library" and a "work that uses the library". The
|
|
||||||
former contains code derived from the library, whereas the latter must
|
|
||||||
be combined with the library in order to run.
|
|
||||||
|
|
||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
||||||
|
|
||||||
0. This License Agreement applies to any software library or other
|
|
||||||
program which contains a notice placed by the copyright holder or
|
|
||||||
other authorized party saying it may be distributed under the terms of
|
|
||||||
this Lesser General Public License (also called "this License").
|
|
||||||
Each licensee is addressed as "you".
|
|
||||||
|
|
||||||
A "library" means a collection of software functions and/or data
|
|
||||||
prepared so as to be conveniently linked with application programs
|
|
||||||
(which use some of those functions and data) to form executables.
|
|
||||||
|
|
||||||
The "Library", below, refers to any such software library or work
|
|
||||||
which has been distributed under these terms. A "work based on the
|
|
||||||
Library" means either the Library or any derivative work under
|
|
||||||
copyright law: that is to say, a work containing the Library or a
|
|
||||||
portion of it, either verbatim or with modifications and/or translated
|
|
||||||
straightforwardly into another language. (Hereinafter, translation is
|
|
||||||
included without limitation in the term "modification".)
|
|
||||||
|
|
||||||
"Source code" for a work means the preferred form of the work for
|
|
||||||
making modifications to it. For a library, complete source code means
|
|
||||||
all the source code for all modules it contains, plus any associated
|
|
||||||
interface definition files, plus the scripts used to control compilation
|
|
||||||
and installation of the library.
|
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
|
||||||
covered by this License; they are outside its scope. The act of
|
|
||||||
running a program using the Library is not restricted, and output from
|
|
||||||
such a program is covered only if its contents constitute a work based
|
|
||||||
on the Library (independent of the use of the Library in a tool for
|
|
||||||
writing it). Whether that is true depends on what the Library does
|
|
||||||
and what the program that uses the Library does.
|
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Library's
|
|
||||||
complete source code as you receive it, in any medium, provided that
|
|
||||||
you conspicuously and appropriately publish on each copy an
|
|
||||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
|
||||||
all the notices that refer to this License and to the absence of any
|
|
||||||
warranty; and distribute a copy of this License along with the
|
|
||||||
Library.
|
|
||||||
|
|
||||||
You may charge a fee for the physical act of transferring a copy,
|
|
||||||
and you may at your option offer warranty protection in exchange for a
|
|
||||||
fee.
|
|
||||||
|
|
||||||
2. You may modify your copy or copies of the Library or any portion
|
|
||||||
of it, thus forming a work based on the Library, and copy and
|
|
||||||
distribute such modifications or work under the terms of Section 1
|
|
||||||
above, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) The modified work must itself be a software library.
|
|
||||||
|
|
||||||
b) You must cause the files modified to carry prominent notices
|
|
||||||
stating that you changed the files and the date of any change.
|
|
||||||
|
|
||||||
c) You must cause the whole of the work to be licensed at no
|
|
||||||
charge to all third parties under the terms of this License.
|
|
||||||
|
|
||||||
d) If a facility in the modified Library refers to a function or a
|
|
||||||
table of data to be supplied by an application program that uses
|
|
||||||
the facility, other than as an argument passed when the facility
|
|
||||||
is invoked, then you must make a good faith effort to ensure that,
|
|
||||||
in the event an application does not supply such function or
|
|
||||||
table, the facility still operates, and performs whatever part of
|
|
||||||
its purpose remains meaningful.
|
|
||||||
|
|
||||||
(For example, a function in a library to compute square roots has
|
|
||||||
a purpose that is entirely well-defined independent of the
|
|
||||||
application. Therefore, Subsection 2d requires that any
|
|
||||||
application-supplied function or table used by this function must
|
|
||||||
be optional: if the application does not supply it, the square
|
|
||||||
root function must still compute square roots.)
|
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
|
||||||
identifiable sections of that work are not derived from the Library,
|
|
||||||
and can be reasonably considered independent and separate works in
|
|
||||||
themselves, then this License, and its terms, do not apply to those
|
|
||||||
sections when you distribute them as separate works. But when you
|
|
||||||
distribute the same sections as part of a whole which is a work based
|
|
||||||
on the Library, the distribution of the whole must be on the terms of
|
|
||||||
this License, whose permissions for other licensees extend to the
|
|
||||||
entire whole, and thus to each and every part regardless of who wrote
|
|
||||||
it.
|
|
||||||
|
|
||||||
Thus, it is not the intent of this section to claim rights or contest
|
|
||||||
your rights to work written entirely by you; rather, the intent is to
|
|
||||||
exercise the right to control the distribution of derivative or
|
|
||||||
collective works based on the Library.
|
|
||||||
|
|
||||||
In addition, mere aggregation of another work not based on the Library
|
|
||||||
with the Library (or with a work based on the Library) on a volume of
|
|
||||||
a storage or distribution medium does not bring the other work under
|
|
||||||
the scope of this License.
|
|
||||||
|
|
||||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
|
||||||
License instead of this License to a given copy of the Library. To do
|
|
||||||
this, you must alter all the notices that refer to this License, so
|
|
||||||
that they refer to the ordinary GNU General Public License, version 2,
|
|
||||||
instead of to this License. (If a newer version than version 2 of the
|
|
||||||
ordinary GNU General Public License has appeared, then you can specify
|
|
||||||
that version instead if you wish.) Do not make any other change in
|
|
||||||
these notices.
|
|
||||||
|
|
||||||
Once this change is made in a given copy, it is irreversible for
|
|
||||||
that copy, so the ordinary GNU General Public License applies to all
|
|
||||||
subsequent copies and derivative works made from that copy.
|
|
||||||
|
|
||||||
This option is useful when you wish to copy part of the code of
|
|
||||||
the Library into a program that is not a library.
|
|
||||||
|
|
||||||
4. You may copy and distribute the Library (or a portion or
|
|
||||||
derivative of it, under Section 2) in object code or executable form
|
|
||||||
under the terms of Sections 1 and 2 above provided that you accompany
|
|
||||||
it with the complete corresponding machine-readable source code, which
|
|
||||||
must be distributed under the terms of Sections 1 and 2 above on a
|
|
||||||
medium customarily used for software interchange.
|
|
||||||
|
|
||||||
If distribution of object code is made by offering access to copy
|
|
||||||
from a designated place, then offering equivalent access to copy the
|
|
||||||
source code from the same place satisfies the requirement to
|
|
||||||
distribute the source code, even though third parties are not
|
|
||||||
compelled to copy the source along with the object code.
|
|
||||||
|
|
||||||
5. A program that contains no derivative of any portion of the
|
|
||||||
Library, but is designed to work with the Library by being compiled or
|
|
||||||
linked with it, is called a "work that uses the Library". Such a
|
|
||||||
work, in isolation, is not a derivative work of the Library, and
|
|
||||||
therefore falls outside the scope of this License.
|
|
||||||
|
|
||||||
However, linking a "work that uses the Library" with the Library
|
|
||||||
creates an executable that is a derivative of the Library (because it
|
|
||||||
contains portions of the Library), rather than a "work that uses the
|
|
||||||
library". The executable is therefore covered by this License.
|
|
||||||
Section 6 states terms for distribution of such executables.
|
|
||||||
|
|
||||||
When a "work that uses the Library" uses material from a header file
|
|
||||||
that is part of the Library, the object code for the work may be a
|
|
||||||
derivative work of the Library even though the source code is not.
|
|
||||||
Whether this is true is especially significant if the work can be
|
|
||||||
linked without the Library, or if the work is itself a library. The
|
|
||||||
threshold for this to be true is not precisely defined by law.
|
|
||||||
|
|
||||||
If such an object file uses only numerical parameters, data
|
|
||||||
structure layouts and accessors, and small macros and small inline
|
|
||||||
functions (ten lines or less in length), then the use of the object
|
|
||||||
file is unrestricted, regardless of whether it is legally a derivative
|
|
||||||
work. (Executables containing this object code plus portions of the
|
|
||||||
Library will still fall under Section 6.)
|
|
||||||
|
|
||||||
Otherwise, if the work is a derivative of the Library, you may
|
|
||||||
distribute the object code for the work under the terms of Section 6.
|
|
||||||
Any executables containing that work also fall under Section 6,
|
|
||||||
whether or not they are linked directly with the Library itself.
|
|
||||||
|
|
||||||
6. As an exception to the Sections above, you may also combine or
|
|
||||||
link a "work that uses the Library" with the Library to produce a
|
|
||||||
work containing portions of the Library, and distribute that work
|
|
||||||
under terms of your choice, provided that the terms permit
|
|
||||||
modification of the work for the customer's own use and reverse
|
|
||||||
engineering for debugging such modifications.
|
|
||||||
|
|
||||||
You must give prominent notice with each copy of the work that the
|
|
||||||
Library is used in it and that the Library and its use are covered by
|
|
||||||
this License. You must supply a copy of this License. If the work
|
|
||||||
during execution displays copyright notices, you must include the
|
|
||||||
copyright notice for the Library among them, as well as a reference
|
|
||||||
directing the user to the copy of this License. Also, you must do one
|
|
||||||
of these things:
|
|
||||||
|
|
||||||
a) Accompany the work with the complete corresponding
|
|
||||||
machine-readable source code for the Library including whatever
|
|
||||||
changes were used in the work (which must be distributed under
|
|
||||||
Sections 1 and 2 above); and, if the work is an executable linked
|
|
||||||
with the Library, with the complete machine-readable "work that
|
|
||||||
uses the Library", as object code and/or source code, so that the
|
|
||||||
user can modify the Library and then relink to produce a modified
|
|
||||||
executable containing the modified Library. (It is understood
|
|
||||||
that the user who changes the contents of definitions files in the
|
|
||||||
Library will not necessarily be able to recompile the application
|
|
||||||
to use the modified definitions.)
|
|
||||||
|
|
||||||
b) Use a suitable shared library mechanism for linking with the
|
|
||||||
Library. A suitable mechanism is one that (1) uses at run time a
|
|
||||||
copy of the library already present on the user's computer system,
|
|
||||||
rather than copying library functions into the executable, and (2)
|
|
||||||
will operate properly with a modified version of the library, if
|
|
||||||
the user installs one, as long as the modified version is
|
|
||||||
interface-compatible with the version that the work was made with.
|
|
||||||
|
|
||||||
c) Accompany the work with a written offer, valid for at
|
|
||||||
least three years, to give the same user the materials
|
|
||||||
specified in Subsection 6a, above, for a charge no more
|
|
||||||
than the cost of performing this distribution.
|
|
||||||
|
|
||||||
d) If distribution of the work is made by offering access to copy
|
|
||||||
from a designated place, offer equivalent access to copy the above
|
|
||||||
specified materials from the same place.
|
|
||||||
|
|
||||||
e) Verify that the user has already received a copy of these
|
|
||||||
materials or that you have already sent this user a copy.
|
|
||||||
|
|
||||||
For an executable, the required form of the "work that uses the
|
|
||||||
Library" must include any data and utility programs needed for
|
|
||||||
reproducing the executable from it. However, as a special exception,
|
|
||||||
the materials to be distributed need not include anything that is
|
|
||||||
normally distributed (in either source or binary form) with the major
|
|
||||||
components (compiler, kernel, and so on) of the operating system on
|
|
||||||
which the executable runs, unless that component itself accompanies
|
|
||||||
the executable.
|
|
||||||
|
|
||||||
It may happen that this requirement contradicts the license
|
|
||||||
restrictions of other proprietary libraries that do not normally
|
|
||||||
accompany the operating system. Such a contradiction means you cannot
|
|
||||||
use both them and the Library together in an executable that you
|
|
||||||
distribute.
|
|
||||||
|
|
||||||
7. You may place library facilities that are a work based on the
|
|
||||||
Library side-by-side in a single library together with other library
|
|
||||||
facilities not covered by this License, and distribute such a combined
|
|
||||||
library, provided that the separate distribution of the work based on
|
|
||||||
the Library and of the other library facilities is otherwise
|
|
||||||
permitted, and provided that you do these two things:
|
|
||||||
|
|
||||||
a) Accompany the combined library with a copy of the same work
|
|
||||||
based on the Library, uncombined with any other library
|
|
||||||
facilities. This must be distributed under the terms of the
|
|
||||||
Sections above.
|
|
||||||
|
|
||||||
b) Give prominent notice with the combined library of the fact
|
|
||||||
that part of it is a work based on the Library, and explaining
|
|
||||||
where to find the accompanying uncombined form of the same work.
|
|
||||||
|
|
||||||
8. You may not copy, modify, sublicense, link with, or distribute
|
|
||||||
the Library except as expressly provided under this License. Any
|
|
||||||
attempt otherwise to copy, modify, sublicense, link with, or
|
|
||||||
distribute the Library is void, and will automatically terminate your
|
|
||||||
rights under this License. However, parties who have received copies,
|
|
||||||
or rights, from you under this License will not have their licenses
|
|
||||||
terminated so long as such parties remain in full compliance.
|
|
||||||
|
|
||||||
9. You are not required to accept this License, since you have not
|
|
||||||
signed it. However, nothing else grants you permission to modify or
|
|
||||||
distribute the Library or its derivative works. These actions are
|
|
||||||
prohibited by law if you do not accept this License. Therefore, by
|
|
||||||
modifying or distributing the Library (or any work based on the
|
|
||||||
Library), you indicate your acceptance of this License to do so, and
|
|
||||||
all its terms and conditions for copying, distributing or modifying
|
|
||||||
the Library or works based on it.
|
|
||||||
|
|
||||||
10. Each time you redistribute the Library (or any work based on the
|
|
||||||
Library), the recipient automatically receives a license from the
|
|
||||||
original licensor to copy, distribute, link with or modify the Library
|
|
||||||
subject to these terms and conditions. You may not impose any further
|
|
||||||
restrictions on the recipients' exercise of the rights granted herein.
|
|
||||||
You are not responsible for enforcing compliance by third parties with
|
|
||||||
this License.
|
|
||||||
|
|
||||||
11. If, as a consequence of a court judgment or allegation of patent
|
|
||||||
infringement or for any other reason (not limited to patent issues),
|
|
||||||
conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot
|
|
||||||
distribute so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you
|
|
||||||
may not distribute the Library at all. For example, if a patent
|
|
||||||
license would not permit royalty-free redistribution of the Library by
|
|
||||||
all those who receive copies directly or indirectly through you, then
|
|
||||||
the only way you could satisfy both it and this License would be to
|
|
||||||
refrain entirely from distribution of the Library.
|
|
||||||
|
|
||||||
If any portion of this section is held invalid or unenforceable under any
|
|
||||||
particular circumstance, the balance of the section is intended to apply,
|
|
||||||
and the section as a whole is intended to apply in other circumstances.
|
|
||||||
|
|
||||||
It is not the purpose of this section to induce you to infringe any
|
|
||||||
patents or other property right claims or to contest validity of any
|
|
||||||
such claims; this section has the sole purpose of protecting the
|
|
||||||
integrity of the free software distribution system which is
|
|
||||||
implemented by public license practices. Many people have made
|
|
||||||
generous contributions to the wide range of software distributed
|
|
||||||
through that system in reliance on consistent application of that
|
|
||||||
system; it is up to the author/donor to decide if he or she is willing
|
|
||||||
to distribute software through any other system and a licensee cannot
|
|
||||||
impose that choice.
|
|
||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
|
||||||
be a consequence of the rest of this License.
|
|
||||||
|
|
||||||
12. If the distribution and/or use of the Library is restricted in
|
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
|
||||||
original copyright holder who places the Library under this License may add
|
|
||||||
an explicit geographical distribution limitation excluding those countries,
|
|
||||||
so that distribution is permitted only in or among countries not thus
|
|
||||||
excluded. In such case, this License incorporates the limitation as if
|
|
||||||
written in the body of this License.
|
|
||||||
|
|
||||||
13. The Free Software Foundation may publish revised and/or new
|
|
||||||
versions of the Lesser General Public License from time to time.
|
|
||||||
Such new versions will be similar in spirit to the present version,
|
|
||||||
but may differ in detail to address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the Library
|
|
||||||
specifies a version number of this License which applies to it and
|
|
||||||
"any later version", you have the option of following the terms and
|
|
||||||
conditions either of that version or of any later version published by
|
|
||||||
the Free Software Foundation. If the Library does not specify a
|
|
||||||
license version number, you may choose any version ever published by
|
|
||||||
the Free Software Foundation.
|
|
||||||
|
|
||||||
14. If you wish to incorporate parts of the Library into other free
|
|
||||||
programs whose distribution conditions are incompatible with these,
|
|
||||||
write to the author to ask for permission. For software which is
|
|
||||||
copyrighted by the Free Software Foundation, write to the Free
|
|
||||||
Software Foundation; we sometimes make exceptions for this. Our
|
|
||||||
decision will be guided by the two goals of preserving the free status
|
|
||||||
of all derivatives of our free software and of promoting the sharing
|
|
||||||
and reuse of software generally.
|
|
||||||
|
|
||||||
NO WARRANTY
|
|
||||||
|
|
||||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
|
||||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
|
||||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
|
||||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
|
||||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
|
||||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
|
||||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
|
||||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
|
||||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
|
||||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
|
||||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
|
||||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
|
||||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
|
||||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
|
||||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
|
||||||
DAMAGES.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Libraries
|
|
||||||
|
|
||||||
If you develop a new library, and you want it to be of the greatest
|
|
||||||
possible use to the public, we recommend making it free software that
|
|
||||||
everyone can redistribute and change. You can do so by permitting
|
|
||||||
redistribution under these terms (or, alternatively, under the terms of the
|
|
||||||
ordinary General Public License).
|
|
||||||
|
|
||||||
To apply these terms, attach the following notices to the library. It is
|
|
||||||
safest to attach them to the start of each source file to most effectively
|
|
||||||
convey the exclusion of warranty; and each file should have at least the
|
|
||||||
"copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the library's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2.1 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with this library; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or your
|
|
||||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
|
||||||
necessary. Here is a sample; alter the names:
|
|
||||||
|
|
||||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
|
||||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
|
||||||
|
|
||||||
<signature of Ty Coon>, 1 April 1990
|
|
||||||
Ty Coon, President of Vice
|
|
||||||
|
|
||||||
That's all there is to it!
|
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
@@ -1,112 +0,0 @@
|
|||||||
TCPDFFontDescriptor.define('DejaVuSans-ExtraLight') do |font|
|
|
||||||
font[:type]='TrueTypeUnicode';
|
|
||||||
font[:name]='DejaVuSans-ExtraLight';
|
|
||||||
font[:desc]={'Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>32,'FontBBox'=>'[-733 -339 1659 1114]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>600}
|
|
||||||
font[:up]=-42;
|
|
||||||
font[:ut]=44;
|
|
||||||
font[:cw]={
|
|
||||||
0=>600, 32=>318, 33=>401, 34=>460, 35=>838, 36=>636, 37=>950, 38=>780, 39=>275, 40=>390, 41=>390, 42=>500, 43=>838, 44=>318, 45=>361, 46=>318,
|
|
||||||
47=>337, 48=>636, 49=>636, 50=>636, 51=>636, 52=>636, 53=>636, 54=>636, 55=>636, 56=>636, 57=>636, 58=>337, 59=>337, 60=>838, 61=>838, 62=>838,
|
|
||||||
63=>531, 64=>1000, 65=>684, 66=>655, 67=>698, 68=>770, 69=>632, 70=>575, 71=>775, 72=>752, 73=>295, 74=>295, 75=>656, 76=>557, 77=>863, 78=>748,
|
|
||||||
79=>787, 80=>603, 81=>787, 82=>695, 83=>635, 84=>611, 85=>732, 86=>684, 87=>989, 88=>685, 89=>611, 90=>685, 91=>390, 92=>337, 93=>390, 94=>838,
|
|
||||||
95=>500, 96=>500, 97=>613, 98=>635, 99=>550, 100=>635, 101=>615, 102=>352, 103=>600, 104=>634, 105=>278, 106=>278, 107=>579, 108=>278, 109=>974, 110=>634,
|
|
||||||
111=>612, 112=>635, 113=>635, 114=>411, 115=>521, 116=>392, 117=>634, 118=>592, 119=>818, 120=>592, 121=>592, 122=>525, 123=>636, 124=>337, 125=>636, 126=>838,
|
|
||||||
8364=>636, 1027=>557, 8218=>318, 402=>352, 8222=>518, 8230=>1000, 8224=>500, 8225=>500, 710=>500, 8240=>1342, 352=>635, 8249=>400, 338=>1070, 1036=>656, 381=>685, 1039=>752,
|
|
||||||
8216=>318, 8217=>318, 8220=>518, 8221=>518, 8211=>500, 8212=>1000, 732=>500, 353=>521, 8250=>400, 339=>1023, 1116=>604, 382=>525, 376=>611, 160=>318, 161=>401, 162=>636,
|
|
||||||
163=>636, 164=>636, 165=>636, 166=>337, 167=>500, 168=>500, 169=>1000, 170=>471, 171=>612, 172=>838, 173=>361, 174=>1000, 175=>500, 176=>500, 177=>838, 178=>401,
|
|
||||||
179=>401, 180=>483, 181=>636, 182=>636, 183=>318, 184=>500, 185=>401, 186=>471, 187=>612, 188=>969, 189=>969, 190=>969, 191=>536, 192=>684, 193=>684, 194=>684,
|
|
||||||
195=>684, 196=>684, 197=>684, 198=>974, 199=>698, 200=>632, 201=>632, 202=>632, 203=>632, 204=>295, 205=>295, 206=>295, 207=>295, 208=>775, 209=>748, 210=>787,
|
|
||||||
211=>787, 212=>787, 213=>787, 214=>787, 215=>838, 216=>787, 217=>732, 218=>732, 219=>732, 220=>732, 221=>611, 222=>605, 223=>676, 224=>613, 225=>613, 226=>613,
|
|
||||||
227=>613, 228=>613, 229=>613, 230=>982, 231=>550, 232=>615, 233=>615, 234=>615, 235=>615, 236=>278, 237=>278, 238=>278, 239=>278, 240=>612, 241=>634, 242=>612,
|
|
||||||
243=>612, 244=>612, 245=>612, 246=>612, 247=>838, 248=>612, 249=>634, 250=>634, 251=>634, 252=>634, 253=>592, 254=>635, 255=>592, 256=>684, 257=>613, 258=>684,
|
|
||||||
259=>613, 260=>684, 261=>613, 262=>698, 263=>550, 264=>698, 265=>550, 266=>698, 267=>550, 268=>698, 269=>550, 270=>770, 271=>635, 272=>775, 273=>635, 274=>632,
|
|
||||||
275=>615, 276=>632, 277=>615, 278=>632, 279=>615, 280=>632, 281=>615, 282=>632, 283=>615, 284=>775, 285=>600, 286=>775, 287=>600, 288=>775, 289=>600, 290=>775,
|
|
||||||
291=>600, 292=>752, 293=>634, 294=>916, 295=>695, 296=>295, 297=>278, 298=>295, 299=>278, 300=>295, 301=>278, 302=>295, 303=>278, 304=>295, 305=>278, 306=>590,
|
|
||||||
307=>556, 308=>295, 309=>278, 310=>656, 311=>579, 312=>579, 313=>557, 314=>293, 315=>557, 316=>278, 317=>557, 318=>375, 319=>557, 320=>342, 321=>562, 322=>284,
|
|
||||||
323=>748, 324=>634, 325=>748, 326=>634, 327=>748, 328=>634, 329=>813, 330=>757, 331=>634, 332=>787, 333=>612, 334=>787, 335=>612, 336=>787, 337=>612, 340=>695,
|
|
||||||
341=>411, 342=>695, 343=>411, 344=>695, 345=>411, 346=>635, 347=>521, 348=>635, 349=>521, 350=>635, 351=>521, 354=>611, 355=>392, 356=>611, 357=>392, 358=>611,
|
|
||||||
359=>392, 360=>732, 361=>634, 362=>732, 363=>634, 364=>732, 365=>634, 366=>732, 367=>634, 368=>732, 369=>634, 370=>732, 371=>634, 372=>989, 373=>818, 374=>611,
|
|
||||||
375=>592, 377=>685, 378=>525, 379=>685, 380=>525, 383=>352, 384=>635, 385=>735, 386=>686, 387=>635, 390=>698, 391=>698, 392=>550, 393=>775, 394=>824, 395=>686,
|
|
||||||
396=>635, 397=>612, 398=>632, 399=>787, 400=>585, 401=>575, 403=>775, 404=>685, 405=>965, 406=>354, 407=>295, 408=>690, 409=>526, 410=>278, 413=>748, 414=>634,
|
|
||||||
415=>787, 416=>934, 417=>757, 420=>652, 421=>635, 423=>635, 424=>521, 425=>632, 427=>392, 428=>611, 429=>392, 430=>611, 431=>879, 432=>779, 433=>764, 434=>721,
|
|
||||||
435=>696, 436=>805, 437=>685, 438=>525, 448=>295, 449=>492, 450=>459, 451=>295, 452=>1422, 453=>1299, 454=>1154, 455=>835, 456=>787, 457=>457, 458=>931, 459=>924,
|
|
||||||
460=>797, 461=>684, 462=>613, 463=>295, 464=>278, 465=>787, 466=>612, 467=>732, 468=>634, 469=>732, 470=>634, 471=>732, 472=>634, 473=>732, 474=>634, 475=>732,
|
|
||||||
476=>634, 477=>615, 478=>684, 479=>613, 480=>684, 481=>613, 482=>974, 483=>982, 486=>775, 487=>600, 488=>656, 489=>579, 490=>787, 491=>612, 492=>787, 493=>612,
|
|
||||||
496=>278, 497=>1422, 498=>1299, 499=>1154, 500=>775, 501=>600, 504=>748, 505=>634, 506=>684, 507=>613, 508=>974, 509=>982, 510=>787, 511=>612, 512=>684, 513=>613,
|
|
||||||
514=>684, 515=>613, 516=>632, 517=>615, 518=>632, 519=>615, 520=>295, 521=>278, 522=>295, 523=>278, 524=>787, 525=>612, 526=>787, 527=>612, 528=>695, 529=>411,
|
|
||||||
530=>695, 531=>411, 532=>732, 533=>634, 534=>732, 535=>634, 536=>635, 537=>521, 538=>611, 539=>392, 542=>752, 543=>634, 550=>684, 551=>613, 552=>632, 553=>615,
|
|
||||||
554=>787, 555=>612, 556=>787, 557=>612, 558=>787, 559=>612, 560=>787, 561=>612, 562=>611, 563=>592, 567=>278, 568=>1032, 569=>1032, 581=>684, 592=>614, 593=>635,
|
|
||||||
594=>635, 595=>635, 596=>550, 598=>635, 599=>727, 600=>615, 601=>615, 603=>541, 604=>541, 607=>326, 608=>637, 609=>635, 611=>685, 613=>634, 616=>372, 617=>387,
|
|
||||||
623=>974, 624=>974, 628=>634, 629=>612, 640=>602, 641=>602, 649=>634, 650=>618, 651=>598, 652=>592, 653=>818, 654=>592, 665=>580, 668=>661, 670=>667, 671=>583,
|
|
||||||
675=>1014, 678=>824, 682=>641, 683=>654, 699=>318, 700=>318, 702=>307, 711=>500, 713=>500, 714=>483, 715=>500, 717=>500, 718=>500, 719=>483, 728=>500, 729=>500,
|
|
||||||
730=>500, 731=>500, 733=>500, 755=>500, 759=>500, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0,
|
|
||||||
779=>0, 780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 795=>0, 803=>0, 804=>0,
|
|
||||||
805=>0, 806=>0, 807=>0, 808=>0, 812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0,
|
|
||||||
824=>0, 831=>0, 847=>0, 856=>0, 860=>0, 861=>0, 865=>0, 884=>278, 885=>278, 890=>361, 891=>549, 892=>550, 893=>549, 894=>337, 900=>483, 901=>500,
|
|
||||||
902=>692, 903=>318, 904=>746, 905=>871, 906=>408, 908=>813, 910=>825, 911=>826, 912=>387, 913=>684, 914=>655, 915=>557, 916=>684, 917=>632, 918=>685, 919=>752,
|
|
||||||
920=>787, 921=>295, 922=>656, 923=>684, 924=>863, 925=>748, 926=>632, 927=>787, 928=>752, 929=>603, 931=>632, 932=>611, 933=>611, 934=>787, 935=>685, 936=>787,
|
|
||||||
937=>764, 938=>295, 939=>611, 940=>659, 941=>541, 942=>654, 943=>387, 944=>579, 945=>659, 946=>638, 947=>592, 948=>612, 949=>541, 950=>544, 951=>634, 952=>612,
|
|
||||||
953=>387, 954=>604, 955=>592, 956=>636, 957=>559, 958=>558, 959=>612, 960=>602, 961=>635, 962=>587, 963=>634, 964=>602, 965=>579, 966=>660, 967=>592, 968=>660,
|
|
||||||
969=>837, 970=>387, 971=>579, 972=>612, 973=>579, 974=>837, 988=>575, 1010=>550, 1011=>278, 1012=>787, 1013=>615, 1014=>615, 1015=>605, 1016=>635, 1017=>698, 1021=>698,
|
|
||||||
1022=>698, 1023=>698, 1024=>632, 1025=>632, 1026=>786, 1028=>698, 1029=>635, 1030=>295, 1031=>295, 1032=>295, 1033=>1094, 1034=>1045, 1035=>786, 1037=>748, 1038=>609, 1040=>684,
|
|
||||||
1041=>686, 1042=>655, 1043=>557, 1044=>776, 1045=>632, 1046=>863, 1047=>636, 1048=>748, 1049=>748, 1050=>656, 1051=>752, 1052=>863, 1053=>752, 1054=>787, 1055=>752, 1056=>603,
|
|
||||||
1057=>698, 1058=>611, 1059=>609, 1060=>787, 1061=>685, 1062=>776, 1063=>686, 1064=>1003, 1065=>1025, 1066=>833, 1067=>882, 1068=>686, 1069=>698, 1070=>1031, 1071=>695, 1072=>613,
|
|
||||||
1073=>612, 1074=>586, 1075=>491, 1076=>672, 1077=>615, 1078=>733, 1079=>541, 1080=>657, 1081=>657, 1082=>604, 1083=>639, 1084=>754, 1085=>661, 1086=>612, 1087=>660, 1088=>635,
|
|
||||||
1089=>550, 1090=>529, 1091=>592, 1092=>917, 1093=>592, 1094=>681, 1095=>591, 1096=>873, 1097=>893, 1098=>703, 1099=>765, 1100=>589, 1101=>549, 1102=>813, 1103=>602, 1104=>615,
|
|
||||||
1105=>615, 1106=>644, 1107=>491, 1108=>549, 1109=>521, 1110=>278, 1111=>278, 1112=>278, 1113=>898, 1114=>892, 1115=>637, 1117=>657, 1118=>592, 1119=>662, 1121=>837, 1124=>942,
|
|
||||||
1125=>749, 1136=>787, 1137=>660, 1138=>787, 1168=>557, 1169=>491, 1176=>636, 1177=>541, 1188=>1014, 1189=>868, 1194=>698, 1195=>550, 1198=>611, 1199=>592, 1204=>934, 1205=>809,
|
|
||||||
1210=>686, 1211=>634, 1216=>278, 1217=>863, 1218=>733, 1232=>684, 1233=>613, 1234=>684, 1235=>613, 1236=>974, 1237=>982, 1238=>632, 1239=>615, 1240=>787, 1241=>615, 1242=>787,
|
|
||||||
1243=>615, 1244=>863, 1245=>733, 1246=>636, 1247=>541, 1250=>748, 1251=>657, 1252=>748, 1253=>657, 1254=>787, 1255=>612, 1256=>787, 1257=>612, 1258=>787, 1259=>612, 1260=>698,
|
|
||||||
1261=>549, 1262=>609, 1263=>592, 1264=>609, 1265=>592, 1266=>609, 1267=>592, 1268=>686, 1269=>591, 1272=>882, 1273=>765, 1352=>732, 1357=>732, 1359=>635, 1363=>787, 1365=>787,
|
|
||||||
1370=>318, 1373=>392, 1377=>974, 1387=>634, 1389=>1002, 1391=>634, 1392=>634, 1397=>278, 1400=>634, 1402=>974, 1405=>634, 1407=>1002, 1408=>634, 1409=>600, 1411=>1002, 1413=>612,
|
|
||||||
1417=>337, 1652=>292, 7426=>982, 7428=>550, 7433=>278, 7435=>604, 7437=>754, 7438=>650, 7439=>612, 7440=>550, 7441=>684, 7442=>684, 7443=>684, 7444=>1023, 7446=>612, 7447=>612,
|
|
||||||
7456=>592, 7457=>818, 7458=>525, 7462=>525, 7463=>592, 7464=>654, 7543=>635, 7680=>684, 7681=>613, 7682=>655, 7683=>635, 7684=>655, 7685=>635, 7686=>655, 7687=>635, 7688=>698,
|
|
||||||
7689=>550, 7690=>770, 7691=>635, 7692=>770, 7693=>635, 7694=>770, 7695=>635, 7696=>770, 7697=>635, 7698=>770, 7699=>635, 7700=>632, 7701=>615, 7702=>632, 7703=>615, 7704=>632,
|
|
||||||
7705=>615, 7706=>632, 7707=>615, 7708=>632, 7709=>615, 7710=>575, 7711=>352, 7712=>775, 7713=>600, 7714=>752, 7715=>634, 7716=>752, 7717=>634, 7718=>752, 7719=>634, 7720=>752,
|
|
||||||
7721=>634, 7722=>752, 7723=>634, 7724=>295, 7725=>278, 7726=>295, 7727=>278, 7728=>656, 7729=>579, 7730=>656, 7731=>579, 7732=>656, 7733=>579, 7734=>557, 7735=>278, 7736=>557,
|
|
||||||
7737=>278, 7738=>557, 7739=>278, 7740=>557, 7741=>278, 7742=>863, 7743=>974, 7744=>863, 7745=>974, 7746=>863, 7747=>974, 7748=>748, 7749=>634, 7750=>748, 7751=>634, 7752=>748,
|
|
||||||
7753=>634, 7754=>748, 7755=>634, 7756=>787, 7757=>612, 7758=>787, 7759=>612, 7760=>787, 7761=>612, 7762=>787, 7763=>612, 7764=>603, 7765=>635, 7766=>603, 7767=>635, 7768=>695,
|
|
||||||
7769=>411, 7770=>695, 7771=>411, 7772=>695, 7773=>411, 7774=>695, 7775=>411, 7776=>635, 7777=>521, 7778=>635, 7779=>521, 7780=>635, 7781=>521, 7782=>635, 7783=>521, 7784=>635,
|
|
||||||
7785=>521, 7786=>611, 7787=>392, 7788=>611, 7789=>392, 7790=>611, 7791=>392, 7792=>611, 7793=>392, 7794=>732, 7795=>634, 7796=>732, 7797=>634, 7798=>732, 7799=>634, 7800=>732,
|
|
||||||
7801=>634, 7802=>732, 7803=>634, 7804=>684, 7805=>592, 7806=>684, 7807=>592, 7808=>989, 7809=>818, 7810=>989, 7811=>818, 7812=>989, 7813=>818, 7814=>989, 7815=>818, 7816=>989,
|
|
||||||
7817=>818, 7818=>685, 7819=>592, 7820=>685, 7821=>592, 7822=>611, 7823=>592, 7824=>685, 7825=>525, 7826=>685, 7827=>525, 7828=>685, 7829=>525, 7830=>634, 7831=>392, 7832=>818,
|
|
||||||
7833=>592, 7834=>613, 7835=>352, 7840=>684, 7841=>613, 7842=>684, 7843=>613, 7844=>684, 7845=>613, 7846=>684, 7847=>613, 7848=>684, 7849=>613, 7850=>684, 7851=>613, 7852=>684,
|
|
||||||
7853=>613, 7854=>684, 7855=>613, 7856=>684, 7857=>613, 7858=>684, 7859=>613, 7860=>684, 7861=>613, 7862=>684, 7863=>613, 7864=>632, 7865=>615, 7866=>632, 7867=>615, 7868=>632,
|
|
||||||
7869=>615, 7870=>632, 7871=>615, 7872=>632, 7873=>615, 7874=>632, 7875=>615, 7876=>632, 7877=>615, 7878=>632, 7879=>615, 7880=>295, 7881=>278, 7882=>295, 7883=>278, 7884=>787,
|
|
||||||
7885=>612, 7886=>787, 7887=>612, 7888=>787, 7889=>612, 7890=>787, 7891=>612, 7892=>787, 7893=>612, 7894=>787, 7895=>612, 7896=>787, 7897=>612, 7898=>934, 7899=>757, 7900=>934,
|
|
||||||
7901=>757, 7902=>934, 7903=>757, 7904=>934, 7905=>757, 7906=>934, 7907=>757, 7908=>732, 7909=>634, 7910=>732, 7911=>634, 7912=>879, 7913=>779, 7914=>879, 7915=>779, 7916=>879,
|
|
||||||
7917=>779, 7918=>879, 7919=>779, 7920=>879, 7921=>779, 7922=>611, 7923=>592, 7924=>611, 7925=>592, 7926=>611, 7927=>592, 7928=>611, 7929=>592, 7936=>659, 7937=>659, 7938=>659,
|
|
||||||
7939=>659, 7940=>659, 7941=>659, 7942=>659, 7943=>659, 7944=>684, 7945=>684, 7946=>877, 7947=>877, 7948=>769, 7949=>801, 7950=>708, 7951=>743, 7952=>541, 7953=>541, 7954=>541,
|
|
||||||
7955=>541, 7956=>541, 7957=>541, 7960=>711, 7961=>711, 7962=>966, 7963=>975, 7964=>898, 7965=>928, 7968=>634, 7969=>634, 7970=>634, 7971=>634, 7972=>634, 7973=>634, 7974=>634,
|
|
||||||
7975=>634, 7976=>837, 7977=>835, 7978=>1086, 7979=>1089, 7980=>1027, 7981=>1051, 7982=>934, 7983=>947, 7984=>338, 7985=>338, 7986=>338, 7987=>338, 7988=>338, 7989=>338, 7990=>338,
|
|
||||||
7991=>338, 7992=>380, 7993=>374, 7994=>635, 7995=>635, 7996=>570, 7997=>600, 7998=>489, 7999=>493, 8000=>612, 8001=>612, 8002=>612, 8003=>612, 8004=>612, 8005=>612, 8008=>804,
|
|
||||||
8009=>848, 8010=>1095, 8011=>1100, 8012=>938, 8013=>970, 8016=>579, 8017=>579, 8018=>579, 8019=>579, 8020=>579, 8021=>579, 8022=>579, 8023=>579, 8025=>784, 8027=>998, 8029=>1012,
|
|
||||||
8031=>897, 8032=>837, 8033=>837, 8034=>837, 8035=>837, 8036=>837, 8037=>837, 8038=>837, 8039=>837, 8040=>802, 8041=>843, 8042=>1089, 8043=>1095, 8044=>946, 8045=>972, 8046=>921,
|
|
||||||
8047=>952, 8048=>659, 8049=>659, 8050=>541, 8051=>548, 8052=>634, 8053=>654, 8054=>338, 8055=>338, 8056=>612, 8057=>612, 8058=>579, 8059=>579, 8060=>837, 8061=>837, 8064=>659,
|
|
||||||
8065=>659, 8066=>659, 8067=>659, 8068=>659, 8069=>659, 8070=>659, 8071=>659, 8072=>684, 8073=>684, 8074=>877, 8075=>877, 8076=>769, 8077=>801, 8078=>708, 8079=>743, 8080=>634,
|
|
||||||
8081=>634, 8082=>634, 8083=>634, 8084=>634, 8085=>634, 8086=>634, 8087=>634, 8088=>837, 8089=>835, 8090=>1086, 8091=>1089, 8092=>1027, 8093=>1051, 8094=>934, 8095=>947, 8096=>837,
|
|
||||||
8097=>837, 8098=>837, 8099=>837, 8100=>837, 8101=>837, 8102=>837, 8103=>837, 8104=>802, 8105=>843, 8106=>1089, 8107=>1095, 8108=>946, 8109=>972, 8110=>921, 8111=>952, 8112=>659,
|
|
||||||
8113=>659, 8114=>659, 8115=>659, 8116=>659, 8118=>659, 8119=>659, 8120=>684, 8121=>684, 8122=>716, 8123=>692, 8124=>684, 8125=>500, 8126=>500, 8127=>500, 8128=>500, 8129=>500,
|
|
||||||
8130=>634, 8131=>634, 8132=>654, 8134=>634, 8135=>634, 8136=>805, 8137=>746, 8138=>931, 8139=>871, 8140=>752, 8141=>500, 8142=>500, 8143=>500, 8144=>338, 8145=>338, 8146=>338,
|
|
||||||
8147=>338, 8150=>338, 8151=>338, 8152=>295, 8153=>295, 8154=>475, 8155=>408, 8157=>500, 8158=>500, 8159=>500, 8160=>579, 8161=>579, 8162=>579, 8163=>579, 8164=>635, 8165=>635,
|
|
||||||
8166=>579, 8167=>579, 8168=>611, 8169=>611, 8170=>845, 8171=>825, 8172=>685, 8173=>500, 8174=>500, 8175=>500, 8178=>837, 8179=>837, 8180=>837, 8182=>837, 8183=>837, 8184=>941,
|
|
||||||
8185=>813, 8186=>922, 8187=>826, 8188=>764, 8189=>500, 8190=>500, 8192=>500, 8193=>1000, 8194=>500, 8195=>1000, 8196=>330, 8197=>250, 8198=>167, 8199=>636, 8200=>318, 8201=>200,
|
|
||||||
8202=>100, 8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>361, 8209=>361, 8210=>636, 8213=>1000, 8214=>500, 8215=>500, 8219=>318, 8223=>518, 8228=>334, 8229=>667,
|
|
||||||
8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>200, 8241=>1735, 8251=>838, 8252=>485, 8253=>531, 8254=>500, 8255=>804, 8256=>804, 8258=>1000, 8259=>500, 8260=>167,
|
|
||||||
8261=>390, 8262=>390, 8263=>922, 8264=>733, 8265=>733, 8267=>636, 8268=>500, 8269=>500, 8270=>500, 8271=>337, 8272=>804, 8273=>500, 8274=>450, 8275=>838, 8276=>804, 8287=>222,
|
|
||||||
8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>401, 8305=>179, 8308=>401, 8320=>401, 8321=>401, 8322=>401,
|
|
||||||
8323=>401, 8324=>401, 8363=>636, 8369=>635, 8451=>1123, 8457=>952, 8470=>1165, 8471=>1000, 8486=>764, 8487=>764, 8490=>656, 8491=>684, 8494=>854, 8498=>575, 8500=>462, 8523=>780,
|
|
||||||
8531=>969, 8532=>969, 8543=>568, 8544=>295, 8545=>492, 8546=>689, 8547=>923, 8548=>684, 8549=>922, 8550=>1120, 8551=>1317, 8552=>917, 8553=>685, 8554=>933, 8555=>1131, 8556=>557,
|
|
||||||
8557=>698, 8558=>770, 8559=>863, 8560=>278, 8561=>458, 8562=>637, 8563=>812, 8564=>592, 8565=>811, 8566=>991, 8567=>1170, 8568=>819, 8569=>592, 8570=>822, 8571=>1002, 8572=>278,
|
|
||||||
8573=>550, 8574=>635, 8575=>974, 8576=>1285, 8579=>698, 8580=>549, 8592=>838, 8593=>838, 8594=>838, 8595=>838, 8596=>838, 8597=>838, 8598=>838, 8599=>838, 8600=>838, 8601=>838,
|
|
||||||
8644=>838, 8645=>838, 8646=>838, 8647=>838, 8648=>838, 8649=>838, 8650=>838, 8704=>684, 8707=>632, 8710=>684, 8711=>684, 8722=>838, 8725=>167, 8726=>637, 8727=>626, 8728=>626,
|
|
||||||
8756=>636, 8757=>636, 8758=>260, 8759=>636, 8764=>636, 9134=>521, 9167=>945, 10731=>494, 57344=>684, 57345=>684, 57346=>684, 57347=>684, 57348=>684, 57349=>684, 57351=>684, 57352=>684,
|
|
||||||
57353=>684, 57354=>684, 57355=>684, 57356=>684, 57357=>684, 57358=>684, 57359=>684, 57360=>684, 57361=>684, 57362=>684, 57363=>684, 57364=>684, 64256=>689, 64257=>630, 64258=>630, 64259=>967,
|
|
||||||
64260=>967, 64297=>838, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0, 65029=>0, 65030=>0, 65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0, 65037=>0,
|
|
||||||
65038=>0, 65039=>0, 65533=>1025}
|
|
||||||
font[:enc]='';
|
|
||||||
font[:diff]='';
|
|
||||||
font[:file]='DejaVuSans-ExtraLight.z';
|
|
||||||
font[:ctg]='DejaVuSans-ExtraLight.ctg.z';
|
|
||||||
font[:originalsize]=132684;
|
|
||||||
end
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,287 +0,0 @@
|
|||||||
TCPDFFontDescriptor.define('DejaVuSansCondensed') do |font|
|
|
||||||
font[:type]='TrueTypeUnicode';
|
|
||||||
font[:name]='DejaVuSansCondensed';
|
|
||||||
font[:desc]={'Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>32,'FontBBox'=>'[-918 -356 1513 font[:1068]]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>540};
|
|
||||||
font[:up]=-42;
|
|
||||||
font[:ut]=44;
|
|
||||||
font[:cw]={
|
|
||||||
0=>540, 32=>286, 33=>360, 34=>414, 35=>754, 36=>572, 37=>855, 38=>702, 39=>247, 40=>351, 41=>351, 42=>450, 43=>754, 44=>286, 45=>325, 46=>286,
|
|
||||||
47=>303, 48=>572, 49=>572, 50=>572, 51=>572, 52=>572, 53=>572, 54=>572, 55=>572, 56=>572, 57=>572, 58=>303, 59=>303, 60=>754, 61=>754, 62=>754,
|
|
||||||
63=>478, 64=>900, 65=>615, 66=>617, 67=>628, 68=>693, 69=>568, 70=>518, 71=>697, 72=>677, 73=>265, 74=>265, 75=>590, 76=>501, 77=>776, 78=>673,
|
|
||||||
79=>708, 80=>542, 81=>708, 82=>625, 83=>571, 84=>549, 85=>659, 86=>615, 87=>890, 88=>616, 89=>549, 90=>616, 91=>351, 92=>303, 93=>351, 94=>754,
|
|
||||||
95=>450, 96=>450, 97=>551, 98=>571, 99=>495, 100=>571, 101=>554, 102=>316, 103=>571, 104=>570, 105=>250, 106=>250, 107=>521, 108=>250, 109=>876, 110=>570,
|
|
||||||
111=>550, 112=>571, 113=>571, 114=>370, 115=>469, 116=>353, 117=>570, 118=>532, 119=>736, 120=>532, 121=>532, 122=>472, 123=>572, 124=>303, 125=>572, 126=>754,
|
|
||||||
8364=>572, 1027=>549, 8218=>286, 402=>316, 8222=>466, 8230=>900, 8224=>450, 8225=>450, 710=>450, 8240=>1208, 352=>571, 8249=>360, 338=>962, 1036=>639, 381=>616, 1039=>677,
|
|
||||||
8216=>286, 8217=>286, 8220=>466, 8221=>466, 8226=>531, 8211=>450, 8212=>900, 732=>450, 8482=>900, 353=>469, 8250=>360, 339=>920, 1116=>543, 382=>472, 376=>549, 160=>286,
|
|
||||||
161=>360, 162=>572, 163=>572, 164=>572, 165=>572, 166=>303, 167=>450, 168=>450, 169=>900, 170=>424, 171=>550, 172=>754, 173=>325, 174=>900, 175=>450, 176=>450,
|
|
||||||
177=>754, 178=>360, 179=>360, 180=>450, 181=>572, 182=>572, 183=>286, 184=>450, 185=>360, 186=>424, 187=>550, 188=>872, 189=>872, 190=>872, 191=>478, 192=>615,
|
|
||||||
193=>615, 194=>615, 195=>615, 196=>615, 197=>615, 198=>876, 199=>628, 200=>568, 201=>568, 202=>568, 203=>568, 204=>265, 205=>265, 206=>265, 207=>265, 208=>697,
|
|
||||||
209=>673, 210=>708, 211=>708, 212=>708, 213=>708, 214=>708, 215=>754, 216=>708, 217=>659, 218=>659, 219=>659, 220=>659, 221=>549, 222=>544, 223=>567, 224=>551,
|
|
||||||
225=>551, 226=>551, 227=>551, 228=>551, 229=>551, 230=>883, 231=>495, 232=>554, 233=>554, 234=>554, 235=>554, 236=>250, 237=>250, 238=>250, 239=>250, 240=>550,
|
|
||||||
241=>570, 242=>550, 243=>550, 244=>550, 245=>550, 246=>550, 247=>754, 248=>550, 249=>570, 250=>570, 251=>570, 252=>570, 253=>532, 254=>571, 255=>532, 256=>615,
|
|
||||||
257=>551, 258=>615, 259=>551, 260=>615, 261=>551, 262=>628, 263=>495, 264=>628, 265=>495, 266=>628, 267=>495, 268=>628, 269=>495, 270=>693, 271=>571, 272=>697,
|
|
||||||
273=>571, 274=>568, 275=>554, 276=>568, 277=>554, 278=>568, 279=>554, 280=>568, 281=>554, 282=>568, 283=>554, 284=>697, 285=>571, 286=>697, 287=>571, 288=>697,
|
|
||||||
289=>571, 290=>697, 291=>571, 292=>677, 293=>570, 294=>824, 295=>625, 296=>265, 297=>250, 298=>265, 299=>250, 300=>265, 301=>250, 302=>265, 303=>250, 304=>265,
|
|
||||||
305=>250, 306=>531, 307=>500, 308=>265, 309=>250, 310=>590, 311=>521, 312=>521, 313=>501, 314=>264, 315=>501, 316=>250, 317=>501, 318=>337, 319=>501, 320=>308,
|
|
||||||
321=>505, 322=>255, 323=>673, 324=>570, 325=>673, 326=>570, 327=>673, 328=>570, 329=>732, 330=>673, 331=>570, 332=>708, 333=>550, 334=>708, 335=>550, 336=>708,
|
|
||||||
337=>550, 340=>625, 341=>370, 342=>625, 343=>370, 344=>625, 345=>370, 346=>571, 347=>469, 348=>571, 349=>469, 350=>571, 351=>469, 354=>549, 355=>353, 356=>549,
|
|
||||||
357=>353, 358=>549, 359=>353, 360=>659, 361=>570, 362=>659, 363=>570, 364=>659, 365=>570, 366=>659, 367=>570, 368=>659, 369=>570, 370=>659, 371=>570, 372=>890,
|
|
||||||
373=>736, 374=>549, 375=>532, 377=>616, 378=>472, 379=>616, 380=>472, 383=>316, 384=>571, 385=>661, 386=>617, 387=>571, 388=>617, 389=>571, 390=>633, 391=>628,
|
|
||||||
392=>495, 393=>697, 394=>737, 395=>617, 396=>571, 397=>550, 398=>568, 399=>708, 400=>553, 401=>518, 403=>697, 404=>618, 405=>885, 406=>318, 407=>265, 408=>671,
|
|
||||||
409=>521, 410=>250, 411=>532, 412=>876, 413=>673, 414=>570, 415=>708, 416=>822, 417=>550, 418=>854, 419=>683, 420=>586, 421=>571, 422=>625, 423=>571, 424=>469,
|
|
||||||
425=>568, 426=>302, 427=>353, 428=>549, 429=>353, 430=>549, 431=>772, 432=>570, 433=>688, 434=>648, 435=>669, 436=>656, 437=>616, 438=>472, 439=>599, 440=>599,
|
|
||||||
441=>520, 442=>472, 443=>572, 444=>599, 445=>520, 446=>459, 447=>571, 448=>265, 449=>443, 450=>413, 451=>266, 452=>1279, 453=>1169, 454=>1039, 455=>751, 456=>708,
|
|
||||||
457=>411, 458=>838, 459=>831, 460=>717, 461=>615, 462=>551, 463=>265, 464=>250, 465=>708, 466=>550, 467=>659, 468=>570, 469=>659, 470=>570, 471=>659, 472=>570,
|
|
||||||
473=>659, 474=>570, 475=>659, 476=>570, 477=>554, 478=>615, 479=>551, 480=>615, 481=>551, 482=>876, 483=>883, 484=>697, 485=>571, 486=>697, 487=>571, 488=>590,
|
|
||||||
489=>521, 490=>708, 491=>550, 492=>708, 493=>550, 494=>599, 495=>520, 496=>250, 497=>1279, 498=>1169, 499=>1039, 500=>697, 501=>571, 502=>1001, 503=>614, 504=>673,
|
|
||||||
505=>570, 506=>615, 507=>551, 508=>876, 509=>883, 510=>708, 511=>550, 512=>615, 513=>551, 514=>615, 515=>551, 516=>568, 517=>554, 518=>568, 519=>554, 520=>265,
|
|
||||||
521=>250, 522=>265, 523=>250, 524=>708, 525=>550, 526=>708, 527=>550, 528=>625, 529=>370, 530=>625, 531=>370, 532=>659, 533=>570, 534=>659, 535=>570, 536=>571,
|
|
||||||
537=>469, 538=>549, 539=>353, 540=>564, 541=>469, 542=>677, 543=>570, 544=>662, 545=>754, 546=>628, 547=>549, 548=>616, 549=>472, 550=>615, 551=>551, 552=>568,
|
|
||||||
553=>554, 554=>708, 555=>550, 556=>708, 557=>550, 558=>708, 559=>550, 560=>708, 561=>550, 562=>549, 563=>532, 564=>427, 565=>758, 566=>429, 567=>250, 568=>898,
|
|
||||||
569=>898, 570=>615, 571=>628, 572=>495, 573=>501, 574=>549, 575=>469, 576=>472, 577=>542, 578=>431, 579=>617, 580=>659, 581=>615, 582=>568, 583=>554, 584=>265,
|
|
||||||
585=>250, 586=>703, 587=>571, 588=>625, 589=>370, 590=>549, 591=>532, 592=>540, 593=>571, 594=>571, 595=>571, 596=>494, 597=>495, 598=>571, 599=>626, 600=>554,
|
|
||||||
601=>554, 602=>737, 603=>486, 604=>479, 605=>698, 606=>598, 607=>250, 608=>626, 609=>571, 610=>566, 611=>536, 612=>536, 613=>570, 614=>570, 615=>570, 616=>250,
|
|
||||||
617=>304, 618=>334, 619=>356, 620=>438, 621=>250, 622=>635, 623=>876, 624=>876, 625=>876, 626=>581, 627=>578, 628=>570, 629=>550, 630=>772, 631=>655, 632=>593,
|
|
||||||
633=>373, 634=>373, 635=>372, 636=>370, 637=>369, 638=>393, 639=>477, 640=>543, 641=>543, 642=>469, 643=>302, 644=>302, 645=>415, 646=>302, 647=>353, 648=>353,
|
|
||||||
649=>570, 650=>556, 651=>538, 652=>532, 653=>736, 654=>532, 655=>549, 656=>472, 657=>472, 658=>520, 659=>520, 660=>459, 661=>459, 662=>459, 663=>459, 664=>708,
|
|
||||||
665=>521, 666=>598, 667=>637, 668=>588, 669=>263, 670=>600, 671=>456, 672=>654, 673=>459, 674=>459, 675=>913, 676=>952, 677=>911, 678=>742, 679=>549, 680=>700,
|
|
||||||
681=>763, 682=>576, 683=>589, 684=>463, 685=>463, 686=>513, 687=>597, 688=>364, 689=>359, 690=>157, 691=>233, 692=>266, 693=>266, 694=>341, 695=>463, 696=>335,
|
|
||||||
697=>250, 698=>414, 699=>286, 700=>286, 701=>286, 702=>276, 703=>276, 704=>333, 705=>333, 706=>450, 707=>450, 708=>450, 709=>450, 711=>450, 712=>247, 713=>450,
|
|
||||||
714=>450, 715=>450, 716=>247, 717=>450, 718=>450, 719=>450, 720=>303, 721=>303, 722=>276, 723=>276, 724=>450, 725=>450, 726=>371, 727=>450, 728=>450, 729=>450,
|
|
||||||
730=>450, 731=>450, 733=>450, 734=>284, 735=>450, 736=>383, 737=>149, 738=>335, 739=>399, 740=>333, 741=>444, 742=>444, 743=>444, 744=>444, 745=>444, 748=>450,
|
|
||||||
749=>450, 750=>450, 755=>450, 759=>450, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0, 779=>0,
|
|
||||||
780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 792=>0, 793=>0, 794=>0, 795=>0,
|
|
||||||
796=>0, 797=>0, 798=>0, 799=>0, 800=>0, 801=>0, 802=>0, 803=>0, 804=>0, 805=>0, 806=>0, 807=>0, 808=>0, 809=>0, 810=>0, 811=>0,
|
|
||||||
812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0, 824=>0, 825=>0, 826=>0, 827=>0,
|
|
||||||
828=>0, 829=>0, 830=>0, 831=>0, 832=>0, 833=>0, 834=>0, 835=>0, 836=>0, 837=>0, 838=>0, 839=>0, 840=>0, 841=>0, 842=>0, 843=>0,
|
|
||||||
844=>0, 845=>0, 846=>0, 847=>0, 849=>0, 850=>0, 851=>0, 855=>0, 856=>0, 860=>0, 861=>0, 862=>0, 863=>0, 864=>0, 865=>0, 866=>0,
|
|
||||||
884=>250, 885=>250, 890=>450, 891=>494, 892=>495, 893=>494, 894=>303, 900=>450, 901=>450, 902=>623, 903=>286, 904=>671, 905=>784, 906=>367, 908=>731, 910=>742,
|
|
||||||
911=>743, 912=>304, 913=>615, 914=>617, 915=>501, 916=>615, 917=>568, 918=>616, 919=>677, 920=>708, 921=>265, 922=>590, 923=>615, 924=>776, 925=>673, 926=>568,
|
|
||||||
927=>708, 928=>677, 929=>542, 931=>568, 932=>549, 933=>549, 934=>708, 935=>616, 936=>708, 937=>688, 938=>265, 939=>549, 940=>593, 941=>493, 942=>589, 943=>304,
|
|
||||||
944=>521, 945=>593, 946=>574, 947=>532, 948=>550, 949=>486, 950=>489, 951=>570, 952=>550, 953=>304, 954=>530, 955=>532, 956=>572, 957=>502, 958=>501, 959=>550,
|
|
||||||
960=>542, 961=>571, 962=>528, 963=>570, 964=>542, 965=>521, 966=>593, 967=>520, 968=>593, 969=>753, 970=>304, 971=>521, 972=>550, 973=>521, 974=>753, 976=>553,
|
|
||||||
977=>557, 978=>628, 979=>758, 980=>628, 981=>593, 982=>753, 983=>597, 984=>708, 985=>550, 986=>583, 987=>528, 988=>518, 989=>413, 990=>593, 991=>593, 992=>778,
|
|
||||||
993=>564, 994=>840, 995=>753, 996=>682, 997=>593, 998=>712, 999=>553, 1000=>618, 1001=>546, 1002=>690, 1003=>563, 1004=>629, 1005=>550, 1006=>549, 1007=>482, 1008=>597,
|
|
||||||
1009=>571, 1010=>495, 1011=>250, 1012=>708, 1013=>554, 1014=>554, 1015=>544, 1016=>571, 1017=>628, 1018=>776, 1019=>585, 1020=>571, 1021=>633, 1022=>628, 1023=>633, 1024=>568,
|
|
||||||
1025=>568, 1026=>708, 1028=>628, 1029=>571, 1030=>265, 1031=>265, 1032=>265, 1033=>984, 1034=>940, 1035=>708, 1037=>673, 1038=>548, 1040=>615, 1041=>617, 1042=>617, 1043=>549,
|
|
||||||
1044=>703, 1045=>568, 1046=>969, 1047=>577, 1048=>673, 1049=>673, 1050=>639, 1051=>677, 1052=>776, 1053=>677, 1054=>708, 1055=>677, 1056=>542, 1057=>628, 1058=>549, 1059=>548,
|
|
||||||
1060=>774, 1061=>616, 1062=>699, 1063=>617, 1064=>962, 1065=>984, 1066=>749, 1067=>794, 1068=>617, 1069=>628, 1070=>971, 1071=>625, 1072=>551, 1073=>555, 1074=>530, 1075=>473,
|
|
||||||
1076=>622, 1077=>554, 1078=>811, 1079=>479, 1080=>584, 1081=>584, 1082=>543, 1083=>575, 1084=>679, 1085=>588, 1086=>550, 1087=>588, 1088=>571, 1089=>495, 1090=>524, 1091=>532,
|
|
||||||
1092=>769, 1093=>532, 1094=>612, 1095=>532, 1096=>823, 1097=>848, 1098=>636, 1099=>710, 1100=>530, 1101=>494, 1102=>757, 1103=>541, 1104=>554, 1105=>554, 1106=>563, 1107=>473,
|
|
||||||
1108=>494, 1109=>469, 1110=>250, 1111=>250, 1112=>250, 1113=>812, 1114=>809, 1115=>586, 1117=>584, 1118=>532, 1119=>588, 1120=>840, 1121=>753, 1122=>693, 1123=>604, 1124=>848,
|
|
||||||
1125=>674, 1126=>791, 1127=>705, 1128=>1043, 1129=>901, 1130=>708, 1131=>550, 1132=>924, 1133=>742, 1134=>572, 1135=>486, 1136=>771, 1137=>789, 1138=>708, 1139=>533, 1140=>703,
|
|
||||||
1141=>598, 1142=>703, 1143=>598, 1144=>893, 1145=>813, 1146=>857, 1147=>682, 1148=>1062, 1149=>925, 1150=>840, 1151=>753, 1152=>628, 1153=>495, 1154=>452, 1155=>0, 1156=>0,
|
|
||||||
1157=>0, 1158=>0, 1160=>376, 1161=>376, 1162=>695, 1163=>609, 1164=>617, 1165=>530, 1166=>542, 1167=>571, 1168=>549, 1169=>473, 1170=>607, 1171=>500, 1172=>562, 1173=>477,
|
|
||||||
1174=>969, 1175=>811, 1176=>577, 1177=>479, 1178=>639, 1179=>543, 1180=>639, 1181=>543, 1182=>639, 1183=>543, 1184=>771, 1185=>748, 1186=>677, 1187=>594, 1188=>913, 1189=>789,
|
|
||||||
1190=>973, 1191=>824, 1192=>716, 1193=>586, 1194=>628, 1195=>495, 1196=>549, 1197=>476, 1198=>549, 1199=>532, 1200=>549, 1201=>532, 1202=>616, 1203=>532, 1204=>840, 1205=>726,
|
|
||||||
1206=>617, 1207=>532, 1208=>617, 1209=>532, 1210=>617, 1211=>570, 1212=>847, 1213=>655, 1214=>847, 1215=>655, 1216=>265, 1217=>969, 1218=>811, 1219=>590, 1220=>543, 1221=>698,
|
|
||||||
1222=>603, 1223=>677, 1224=>594, 1225=>699, 1226=>612, 1227=>617, 1228=>532, 1229=>799, 1230=>697, 1231=>250, 1232=>615, 1233=>551, 1234=>615, 1235=>551, 1236=>876, 1237=>883,
|
|
||||||
1238=>568, 1239=>554, 1240=>708, 1241=>554, 1242=>708, 1243=>554, 1244=>969, 1245=>811, 1246=>577, 1247=>479, 1248=>599, 1249=>520, 1250=>673, 1251=>584, 1252=>673, 1253=>584,
|
|
||||||
1254=>708, 1255=>550, 1256=>708, 1257=>550, 1258=>708, 1259=>550, 1260=>628, 1261=>494, 1262=>548, 1263=>532, 1264=>548, 1265=>532, 1266=>548, 1267=>532, 1268=>617, 1269=>532,
|
|
||||||
1270=>501, 1271=>442, 1272=>794, 1273=>710, 1274=>607, 1275=>500, 1276=>616, 1277=>532, 1278=>616, 1279=>532, 1280=>617, 1281=>530, 1282=>905, 1283=>807, 1284=>877, 1285=>782,
|
|
||||||
1286=>611, 1287=>529, 1288=>964, 1289=>861, 1290=>965, 1291=>870, 1292=>697, 1293=>593, 1294=>695, 1295=>640, 1296=>553, 1297=>486, 1298=>677, 1299=>575, 1329=>780, 1330=>659,
|
|
||||||
1331=>794, 1332=>794, 1333=>659, 1334=>579, 1335=>613, 1336=>659, 1337=>765, 1338=>794, 1339=>659, 1340=>501, 1341=>741, 1342=>888, 1343=>659, 1344=>636, 1345=>579, 1346=>794,
|
|
||||||
1347=>699, 1348=>794, 1349=>659, 1350=>756, 1351=>659, 1352=>659, 1353=>659, 1354=>711, 1355=>579, 1356=>794, 1357=>659, 1358=>794, 1359=>571, 1360=>659, 1361=>659, 1362=>719,
|
|
||||||
1363=>774, 1364=>711, 1365=>708, 1366=>571, 1369=>276, 1370=>286, 1371=>450, 1372=>450, 1373=>352, 1374=>474, 1375=>450, 1377=>876, 1378=>570, 1379=>686, 1380=>690, 1381=>570,
|
|
||||||
1382=>627, 1383=>479, 1384=>570, 1385=>630, 1386=>627, 1387=>570, 1388=>363, 1389=>804, 1390=>576, 1391=>570, 1392=>570, 1393=>571, 1394=>631, 1395=>570, 1396=>593, 1397=>250,
|
|
||||||
1398=>684, 1399=>464, 1400=>570, 1401=>407, 1402=>876, 1403=>464, 1404=>691, 1405=>570, 1406=>626, 1407=>876, 1408=>570, 1409=>571, 1410=>451, 1411=>876, 1412=>583, 1413=>550,
|
|
||||||
1414=>566, 1415=>686, 1417=>303, 1418=>390, 1456=>0, 1457=>0, 1458=>0, 1459=>0, 1460=>0, 1461=>0, 1462=>0, 1463=>0, 1464=>0, 1465=>0, 1467=>0, 1468=>0,
|
|
||||||
1469=>0, 1471=>0, 1472=>265, 1473=>0, 1474=>0, 1475=>265, 1478=>410, 1479=>0, 1488=>566, 1489=>547, 1490=>403, 1491=>534, 1492=>576, 1493=>245, 1494=>380, 1495=>576,
|
|
||||||
1496=>583, 1497=>245, 1498=>532, 1499=>500, 1500=>539, 1501=>576, 1502=>593, 1503=>245, 1504=>397, 1505=>629, 1506=>572, 1507=>576, 1508=>543, 1509=>468, 1510=>523, 1511=>596,
|
|
||||||
1512=>532, 1513=>727, 1514=>591, 1520=>423, 1521=>409, 1522=>423, 1548=>290, 1557=>0, 1563=>286, 1567=>478, 1569=>423, 1570=>250, 1571=>250, 1572=>435, 1573=>250, 1574=>704,
|
|
||||||
1575=>250, 1576=>847, 1577=>471, 1578=>847, 1579=>847, 1580=>581, 1581=>581, 1582=>581, 1583=>400, 1584=>400, 1585=>435, 1586=>435, 1587=>1099, 1588=>1099, 1589=>1088, 1590=>1088,
|
|
||||||
1591=>832, 1592=>832, 1593=>537, 1594=>537, 1600=>264, 1601=>933, 1602=>698, 1603=>742, 1604=>654, 1605=>557, 1606=>661, 1607=>471, 1608=>435, 1609=>704, 1610=>704, 1611=>0,
|
|
||||||
1612=>0, 1613=>0, 1614=>0, 1615=>0, 1616=>0, 1617=>0, 1618=>0, 1619=>0, 1620=>0, 1621=>0, 1626=>450, 1632=>483, 1633=>483, 1634=>483, 1635=>483, 1636=>483,
|
|
||||||
1637=>483, 1638=>483, 1639=>483, 1640=>483, 1641=>483, 1642=>483, 1643=>292, 1644=>286, 1645=>490, 1646=>847, 1647=>698, 1652=>263, 1657=>847, 1658=>847, 1659=>847, 1660=>847,
|
|
||||||
1661=>847, 1662=>847, 1663=>847, 1664=>847, 1665=>581, 1666=>581, 1667=>581, 1668=>581, 1669=>581, 1670=>581, 1671=>581, 1681=>435, 1682=>435, 1685=>549, 1688=>435, 1697=>933,
|
|
||||||
1700=>933, 1702=>933, 1705=>805, 1711=>805, 1717=>654, 1722=>661, 1727=>581, 1734=>435, 1740=>704, 1742=>704, 1749=>471, 1776=>483, 1777=>483, 1778=>483, 1779=>483, 1780=>483,
|
|
||||||
1781=>483, 1782=>483, 1783=>483, 1784=>483, 1785=>483, 3647=>586, 3713=>603, 3714=>615, 3716=>619, 3719=>434, 3720=>565, 3722=>615, 3725=>619, 3732=>602, 3733=>577, 3734=>580,
|
|
||||||
3735=>589, 3737=>593, 3738=>563, 3739=>563, 3740=>670, 3741=>690, 3742=>618, 3743=>618, 3745=>631, 3746=>619, 3747=>615, 3749=>584, 3751=>569, 3754=>633, 3755=>737, 3757=>569,
|
|
||||||
3758=>615, 3759=>708, 3760=>569, 3761=>0, 3762=>485, 3763=>485, 3764=>0, 3765=>0, 3766=>0, 3767=>0, 3768=>0, 3769=>0, 3771=>0, 3772=>0, 3773=>597, 3776=>337,
|
|
||||||
3777=>591, 3778=>414, 3779=>492, 3780=>442, 3782=>606, 3784=>0, 3785=>0, 3786=>0, 3787=>0, 3788=>0, 3789=>0, 3804=>925, 3805=>925, 5121=>615, 5122=>615, 5123=>615,
|
|
||||||
5124=>615, 5125=>692, 5126=>692, 5127=>692, 5129=>692, 5130=>692, 5131=>692, 5132=>751, 5133=>751, 5134=>751, 5135=>751, 5136=>751, 5137=>751, 5138=>870, 5139=>906, 5140=>870,
|
|
||||||
5141=>906, 5142=>692, 5143=>870, 5144=>906, 5145=>870, 5146=>906, 5147=>692, 5149=>230, 5150=>488, 5151=>381, 5152=>381, 5153=>350, 5154=>350, 5155=>354, 5156=>350, 5157=>419,
|
|
||||||
5158=>347, 5159=>230, 5160=>350, 5161=>350, 5162=>350, 5163=>980, 5164=>817, 5165=>857, 5166=>1005, 5167=>615, 5168=>615, 5169=>615, 5170=>615, 5171=>656, 5172=>656, 5173=>656,
|
|
||||||
5175=>656, 5176=>656, 5177=>656, 5178=>751, 5179=>751, 5180=>751, 5181=>751, 5182=>751, 5183=>751, 5184=>870, 5185=>906, 5186=>870, 5187=>906, 5188=>870, 5189=>906, 5190=>870,
|
|
||||||
5191=>906, 5192=>656, 5193=>457, 5194=>172, 5196=>659, 5197=>659, 5198=>659, 5199=>659, 5200=>657, 5201=>657, 5202=>657, 5204=>657, 5205=>657, 5206=>657, 5207=>829, 5208=>800,
|
|
||||||
5209=>829, 5210=>800, 5211=>829, 5212=>800, 5213=>835, 5214=>810, 5215=>835, 5216=>810, 5217=>853, 5218=>810, 5219=>853, 5220=>810, 5221=>853, 5222=>457, 5223=>790, 5224=>790,
|
|
||||||
5225=>779, 5226=>801, 5227=>565, 5228=>565, 5229=>565, 5230=>565, 5231=>565, 5232=>625, 5233=>565, 5234=>565, 5235=>565, 5236=>773, 5237=>693, 5238=>733, 5239=>734, 5240=>733,
|
|
||||||
5241=>734, 5242=>773, 5243=>693, 5244=>773, 5245=>693, 5246=>733, 5247=>734, 5248=>733, 5249=>734, 5250=>733, 5251=>366, 5252=>366, 5253=>675, 5254=>697, 5255=>675, 5256=>697,
|
|
||||||
5257=>565, 5258=>565, 5259=>565, 5260=>565, 5261=>565, 5262=>565, 5263=>565, 5264=>565, 5265=>565, 5266=>773, 5267=>693, 5268=>733, 5269=>734, 5270=>733, 5271=>734, 5272=>773,
|
|
||||||
5273=>693, 5274=>773, 5275=>693, 5276=>733, 5277=>734, 5278=>733, 5279=>734, 5280=>733, 5281=>391, 5282=>391, 5283=>549, 5284=>501, 5285=>501, 5286=>501, 5287=>549, 5288=>470,
|
|
||||||
5289=>549, 5290=>501, 5291=>501, 5292=>674, 5293=>691, 5294=>671, 5295=>687, 5296=>671, 5297=>687, 5298=>674, 5299=>691, 5300=>674, 5301=>691, 5302=>671, 5303=>687, 5304=>671,
|
|
||||||
5305=>687, 5306=>671, 5307=>347, 5308=>457, 5309=>347, 5312=>766, 5313=>766, 5314=>766, 5315=>740, 5316=>766, 5317=>766, 5318=>766, 5319=>766, 5320=>766, 5321=>962, 5322=>931,
|
|
||||||
5323=>953, 5324=>766, 5325=>953, 5326=>766, 5327=>766, 5328=>540, 5329=>407, 5330=>540, 5331=>766, 5332=>766, 5333=>766, 5334=>766, 5335=>766, 5336=>766, 5337=>766, 5338=>766,
|
|
||||||
5339=>766, 5340=>962, 5341=>931, 5342=>953, 5343=>927, 5344=>953, 5345=>927, 5346=>962, 5347=>931, 5348=>962, 5349=>931, 5350=>975, 5351=>927, 5352=>975, 5353=>927, 5354=>540,
|
|
||||||
5356=>656, 5357=>542, 5358=>542, 5359=>542, 5360=>542, 5361=>542, 5362=>595, 5363=>542, 5364=>542, 5365=>542, 5366=>751, 5367=>678, 5368=>712, 5369=>694, 5370=>712, 5371=>694,
|
|
||||||
5372=>751, 5373=>678, 5374=>751, 5375=>678, 5376=>712, 5377=>694, 5378=>712, 5379=>694, 5380=>712, 5381=>376, 5382=>378, 5383=>376, 5392=>641, 5393=>641, 5394=>641, 5395=>802,
|
|
||||||
5396=>802, 5397=>802, 5398=>802, 5399=>818, 5400=>785, 5401=>818, 5402=>785, 5403=>818, 5404=>785, 5405=>1026, 5406=>989, 5407=>1026, 5408=>989, 5409=>1026, 5410=>989, 5411=>1026,
|
|
||||||
5412=>989, 5413=>576, 5414=>564, 5415=>564, 5416=>564, 5417=>564, 5418=>564, 5419=>601, 5420=>564, 5421=>564, 5422=>564, 5423=>760, 5424=>703, 5425=>734, 5426=>736, 5427=>734,
|
|
||||||
5428=>736, 5429=>760, 5430=>703, 5431=>760, 5432=>703, 5433=>734, 5434=>736, 5435=>734, 5436=>736, 5437=>734, 5438=>376, 5440=>350, 5441=>436, 5442=>824, 5443=>824, 5444=>824,
|
|
||||||
5445=>824, 5446=>824, 5447=>824, 5448=>542, 5449=>542, 5450=>542, 5451=>542, 5452=>542, 5453=>542, 5454=>751, 5455=>678, 5456=>376, 5458=>656, 5459=>615, 5460=>615, 5461=>615,
|
|
||||||
5462=>615, 5463=>653, 5464=>653, 5465=>653, 5466=>653, 5467=>831, 5468=>906, 5469=>457, 5470=>659, 5471=>659, 5472=>659, 5473=>659, 5474=>659, 5475=>659, 5476=>657, 5477=>657,
|
|
||||||
5478=>657, 5479=>657, 5480=>853, 5481=>810, 5482=>457, 5492=>747, 5493=>747, 5494=>747, 5495=>747, 5496=>747, 5497=>747, 5498=>747, 5499=>507, 5500=>677, 5501=>436, 5502=>942,
|
|
||||||
5503=>942, 5504=>942, 5505=>942, 5506=>942, 5507=>942, 5508=>942, 5509=>743, 5514=>747, 5515=>747, 5516=>747, 5517=>747, 5518=>1133, 5519=>1133, 5520=>1133, 5521=>901, 5522=>901,
|
|
||||||
5523=>1133, 5524=>1133, 5525=>629, 5526=>965, 5536=>766, 5537=>766, 5538=>766, 5539=>766, 5540=>766, 5541=>766, 5542=>540, 5543=>579, 5544=>579, 5545=>579, 5546=>579, 5547=>579,
|
|
||||||
5548=>579, 5549=>579, 5550=>376, 5551=>565, 5598=>693, 5601=>690, 5702=>421, 5703=>421, 5742=>399, 5743=>942, 5744=>1178, 5745=>1469, 5746=>1469, 5747=>1237, 5748=>1237, 5749=>1469,
|
|
||||||
5750=>1469, 7424=>532, 7425=>646, 7426=>883, 7427=>527, 7428=>495, 7429=>544, 7430=>544, 7431=>441, 7432=>486, 7433=>250, 7434=>355, 7435=>521, 7436=>524, 7437=>679, 7438=>584,
|
|
||||||
7439=>550, 7440=>495, 7441=>615, 7442=>615, 7443=>615, 7444=>920, 7446=>550, 7447=>550, 7448=>472, 7449=>541, 7450=>541, 7451=>524, 7452=>517, 7453=>663, 7454=>853, 7455=>574,
|
|
||||||
7456=>532, 7457=>736, 7458=>472, 7459=>473, 7462=>524, 7463=>532, 7464=>507, 7465=>472, 7466=>531, 7467=>575, 7468=>387, 7469=>552, 7470=>389, 7472=>436, 7473=>358, 7474=>358,
|
|
||||||
7475=>439, 7476=>426, 7477=>167, 7478=>167, 7479=>372, 7480=>315, 7481=>489, 7482=>424, 7483=>424, 7484=>446, 7485=>396, 7486=>342, 7487=>394, 7488=>346, 7489=>415, 7490=>560,
|
|
||||||
7491=>352, 7492=>352, 7493=>365, 7494=>583, 7495=>385, 7496=>365, 7497=>375, 7498=>375, 7499=>324, 7500=>323, 7501=>365, 7502=>161, 7503=>383, 7504=>561, 7505=>368, 7506=>372,
|
|
||||||
7507=>333, 7508=>372, 7509=>372, 7510=>385, 7511=>265, 7512=>364, 7513=>422, 7514=>561, 7515=>375, 7517=>361, 7518=>335, 7519=>347, 7520=>374, 7521=>327, 7522=>161, 7523=>233,
|
|
||||||
7524=>364, 7525=>375, 7526=>361, 7527=>335, 7528=>347, 7529=>374, 7530=>327, 7543=>571, 7544=>426, 7547=>334, 7557=>250, 7579=>365, 7580=>333, 7581=>333, 7582=>372, 7583=>324,
|
|
||||||
7584=>267, 7585=>209, 7586=>365, 7587=>364, 7588=>235, 7589=>224, 7590=>234, 7591=>235, 7592=>211, 7593=>224, 7594=>211, 7595=>338, 7596=>561, 7597=>561, 7598=>369, 7599=>431,
|
|
||||||
7600=>368, 7601=>372, 7602=>372, 7603=>324, 7604=>258, 7605=>265, 7606=>457, 7607=>376, 7608=>325, 7609=>365, 7610=>375, 7611=>330, 7612=>393, 7613=>330, 7614=>353, 7615=>372,
|
|
||||||
7620=>0, 7621=>0, 7622=>0, 7623=>0, 7624=>0, 7625=>0, 7680=>615, 7681=>551, 7682=>617, 7683=>571, 7684=>617, 7685=>571, 7686=>617, 7687=>571, 7688=>628, 7689=>495,
|
|
||||||
7690=>693, 7691=>571, 7692=>693, 7693=>571, 7694=>693, 7695=>571, 7696=>693, 7697=>571, 7698=>693, 7699=>571, 7700=>568, 7701=>554, 7702=>568, 7703=>554, 7704=>568, 7705=>554,
|
|
||||||
7706=>568, 7707=>554, 7708=>568, 7709=>554, 7710=>518, 7711=>316, 7712=>697, 7713=>571, 7714=>677, 7715=>570, 7716=>677, 7717=>570, 7718=>677, 7719=>570, 7720=>677, 7721=>570,
|
|
||||||
7722=>677, 7723=>570, 7724=>265, 7725=>250, 7726=>265, 7727=>250, 7728=>590, 7729=>521, 7730=>590, 7731=>521, 7732=>590, 7733=>521, 7734=>501, 7735=>250, 7736=>501, 7737=>250,
|
|
||||||
7738=>501, 7739=>250, 7740=>501, 7741=>250, 7742=>776, 7743=>876, 7744=>776, 7745=>876, 7746=>776, 7747=>876, 7748=>673, 7749=>570, 7750=>673, 7751=>570, 7752=>673, 7753=>570,
|
|
||||||
7754=>673, 7755=>570, 7756=>708, 7757=>550, 7758=>708, 7759=>550, 7760=>708, 7761=>550, 7762=>708, 7763=>550, 7764=>542, 7765=>571, 7766=>542, 7767=>571, 7768=>625, 7769=>370,
|
|
||||||
7770=>625, 7771=>370, 7772=>625, 7773=>370, 7774=>625, 7775=>370, 7776=>571, 7777=>469, 7778=>571, 7779=>469, 7780=>571, 7781=>469, 7782=>571, 7783=>469, 7784=>571, 7785=>469,
|
|
||||||
7786=>549, 7787=>353, 7788=>549, 7789=>353, 7790=>549, 7791=>353, 7792=>549, 7793=>353, 7794=>659, 7795=>570, 7796=>659, 7797=>570, 7798=>659, 7799=>570, 7800=>659, 7801=>570,
|
|
||||||
7802=>659, 7803=>570, 7804=>615, 7805=>532, 7806=>615, 7807=>532, 7808=>890, 7809=>736, 7810=>890, 7811=>736, 7812=>890, 7813=>736, 7814=>890, 7815=>736, 7816=>890, 7817=>736,
|
|
||||||
7818=>616, 7819=>532, 7820=>616, 7821=>532, 7822=>549, 7823=>532, 7824=>616, 7825=>472, 7826=>616, 7827=>472, 7828=>616, 7829=>472, 7830=>570, 7831=>353, 7832=>736, 7833=>532,
|
|
||||||
7834=>551, 7835=>316, 7840=>615, 7841=>551, 7842=>615, 7843=>551, 7844=>615, 7845=>551, 7846=>615, 7847=>551, 7848=>615, 7849=>551, 7850=>615, 7851=>551, 7852=>615, 7853=>551,
|
|
||||||
7854=>615, 7855=>551, 7856=>615, 7857=>551, 7858=>615, 7859=>551, 7860=>615, 7861=>551, 7862=>615, 7863=>551, 7864=>568, 7865=>554, 7866=>568, 7867=>554, 7868=>568, 7869=>554,
|
|
||||||
7870=>568, 7871=>554, 7872=>568, 7873=>554, 7874=>568, 7875=>554, 7876=>568, 7877=>554, 7878=>568, 7879=>554, 7880=>265, 7881=>250, 7882=>265, 7883=>250, 7884=>708, 7885=>550,
|
|
||||||
7886=>708, 7887=>550, 7888=>708, 7889=>550, 7890=>708, 7891=>550, 7892=>708, 7893=>550, 7894=>708, 7895=>550, 7896=>708, 7897=>550, 7898=>822, 7899=>550, 7900=>822, 7901=>550,
|
|
||||||
7902=>822, 7903=>550, 7904=>822, 7905=>550, 7906=>822, 7907=>550, 7908=>659, 7909=>570, 7910=>659, 7911=>570, 7912=>772, 7913=>570, 7914=>772, 7915=>570, 7916=>772, 7917=>570,
|
|
||||||
7918=>772, 7919=>570, 7920=>772, 7921=>570, 7922=>549, 7923=>532, 7924=>549, 7925=>532, 7926=>549, 7927=>532, 7928=>549, 7929=>532, 7936=>593, 7937=>593, 7938=>593, 7939=>593,
|
|
||||||
7940=>593, 7941=>593, 7942=>593, 7943=>593, 7944=>615, 7945=>615, 7946=>790, 7947=>790, 7948=>692, 7949=>721, 7950=>637, 7951=>668, 7952=>486, 7953=>486, 7954=>486, 7955=>486,
|
|
||||||
7956=>486, 7957=>486, 7960=>640, 7961=>640, 7962=>869, 7963=>877, 7964=>809, 7965=>835, 7968=>570, 7969=>570, 7970=>570, 7971=>570, 7972=>570, 7973=>570, 7974=>570, 7975=>570,
|
|
||||||
7976=>753, 7977=>751, 7978=>977, 7979=>980, 7980=>924, 7981=>945, 7982=>840, 7983=>852, 7984=>304, 7985=>304, 7986=>304, 7987=>304, 7988=>304, 7989=>304, 7990=>304, 7991=>304,
|
|
||||||
7992=>342, 7993=>336, 7994=>571, 7995=>571, 7996=>513, 7997=>540, 7998=>440, 7999=>443, 8000=>550, 8001=>550, 8002=>550, 8003=>550, 8004=>550, 8005=>550, 8008=>724, 8009=>763,
|
|
||||||
8010=>985, 8011=>989, 8012=>844, 8013=>873, 8016=>521, 8017=>521, 8018=>521, 8019=>521, 8020=>521, 8021=>521, 8022=>521, 8023=>521, 8025=>705, 8027=>897, 8029=>911, 8031=>808,
|
|
||||||
8032=>753, 8033=>753, 8034=>753, 8035=>753, 8036=>753, 8037=>753, 8038=>753, 8039=>753, 8040=>722, 8041=>759, 8042=>980, 8043=>985, 8044=>851, 8045=>875, 8046=>829, 8047=>857,
|
|
||||||
8048=>593, 8049=>593, 8050=>486, 8051=>493, 8052=>570, 8053=>589, 8054=>304, 8055=>304, 8056=>550, 8057=>550, 8058=>521, 8059=>521, 8060=>753, 8061=>753, 8064=>593, 8065=>593,
|
|
||||||
8066=>593, 8067=>593, 8068=>593, 8069=>593, 8070=>593, 8071=>593, 8072=>615, 8073=>615, 8074=>790, 8075=>790, 8076=>692, 8077=>721, 8078=>637, 8079=>668, 8080=>570, 8081=>570,
|
|
||||||
8082=>570, 8083=>570, 8084=>570, 8085=>570, 8086=>570, 8087=>570, 8088=>753, 8089=>751, 8090=>977, 8091=>980, 8092=>924, 8093=>945, 8094=>840, 8095=>852, 8096=>753, 8097=>753,
|
|
||||||
8098=>753, 8099=>753, 8100=>753, 8101=>753, 8102=>753, 8103=>753, 8104=>722, 8105=>759, 8106=>980, 8107=>985, 8108=>851, 8109=>875, 8110=>829, 8111=>857, 8112=>593, 8113=>593,
|
|
||||||
8114=>593, 8115=>593, 8116=>593, 8118=>593, 8119=>593, 8120=>615, 8121=>615, 8122=>645, 8123=>623, 8124=>615, 8125=>450, 8126=>450, 8127=>450, 8128=>450, 8129=>450, 8130=>570,
|
|
||||||
8131=>570, 8132=>589, 8134=>570, 8135=>570, 8136=>724, 8137=>671, 8138=>837, 8139=>784, 8140=>677, 8141=>450, 8142=>450, 8143=>450, 8144=>304, 8145=>304, 8146=>304, 8147=>304,
|
|
||||||
8150=>304, 8151=>304, 8152=>265, 8153=>265, 8154=>427, 8155=>367, 8157=>450, 8158=>450, 8159=>450, 8160=>521, 8161=>521, 8162=>521, 8163=>521, 8164=>571, 8165=>571, 8166=>521,
|
|
||||||
8167=>521, 8168=>549, 8169=>549, 8170=>760, 8171=>742, 8172=>616, 8173=>450, 8174=>450, 8175=>450, 8178=>753, 8179=>753, 8180=>753, 8182=>753, 8183=>753, 8184=>847, 8185=>731,
|
|
||||||
8186=>830, 8187=>743, 8188=>688, 8189=>450, 8190=>450, 8192=>450, 8193=>900, 8194=>450, 8195=>900, 8196=>296, 8197=>225, 8198=>150, 8199=>572, 8200=>286, 8201=>180, 8202=>89,
|
|
||||||
8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>325, 8209=>325, 8210=>572, 8213=>900, 8214=>450, 8215=>450, 8219=>286, 8223=>466, 8227=>531, 8228=>301, 8229=>601,
|
|
||||||
8231=>286, 8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>180, 8241=>1562, 8242=>204, 8243=>336, 8244=>468, 8245=>204, 8246=>336, 8247=>468, 8248=>305, 8251=>754,
|
|
||||||
8252=>437, 8253=>478, 8254=>450, 8255=>723, 8256=>723, 8257=>225, 8258=>900, 8259=>450, 8260=>150, 8261=>351, 8262=>351, 8263=>830, 8264=>659, 8265=>659, 8266=>447, 8267=>572,
|
|
||||||
8268=>450, 8269=>450, 8270=>450, 8271=>303, 8272=>723, 8273=>450, 8274=>404, 8275=>754, 8276=>723, 8277=>754, 8278=>527, 8279=>597, 8280=>754, 8281=>754, 8282=>286, 8283=>717,
|
|
||||||
8284=>754, 8285=>286, 8286=>286, 8287=>200, 8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>360, 8305=>161,
|
|
||||||
8308=>360, 8309=>360, 8310=>360, 8311=>360, 8312=>360, 8313=>360, 8314=>475, 8315=>475, 8316=>475, 8317=>221, 8318=>221, 8319=>359, 8320=>360, 8321=>360, 8322=>360, 8323=>360,
|
|
||||||
8324=>360, 8325=>360, 8326=>360, 8327=>360, 8328=>360, 8329=>360, 8330=>475, 8331=>475, 8332=>475, 8333=>221, 8334=>221, 8336=>352, 8337=>375, 8338=>372, 8339=>399, 8340=>375,
|
|
||||||
8352=>789, 8353=>572, 8354=>572, 8355=>572, 8356=>572, 8357=>876, 8358=>673, 8359=>1145, 8360=>966, 8361=>890, 8362=>706, 8363=>572, 8365=>572, 8366=>572, 8367=>1145, 8368=>572,
|
|
||||||
8369=>572, 8370=>572, 8371=>572, 8372=>696, 8373=>577, 8400=>0, 8401=>0, 8406=>0, 8407=>0, 8448=>917, 8449=>917, 8450=>628, 8451=>1011, 8452=>578, 8453=>917, 8454=>960,
|
|
||||||
8455=>553, 8456=>628, 8457=>856, 8459=>889, 8460=>679, 8461=>765, 8462=>570, 8463=>570, 8464=>422, 8465=>627, 8466=>648, 8467=>372, 8468=>736, 8469=>721, 8470=>936, 8471=>900,
|
|
||||||
8472=>627, 8473=>631, 8474=>708, 8475=>718, 8476=>732, 8477=>713, 8478=>807, 8479=>615, 8480=>917, 8481=>967, 8483=>615, 8484=>670, 8485=>520, 8486=>688, 8487=>688, 8488=>554,
|
|
||||||
8489=>304, 8490=>590, 8491=>615, 8492=>708, 8493=>633, 8494=>769, 8495=>532, 8496=>545, 8497=>708, 8498=>518, 8499=>962, 8500=>416, 8501=>670, 8502=>606, 8503=>422, 8504=>583,
|
|
||||||
8505=>342, 8506=>833, 8507=>1074, 8508=>632, 8509=>655, 8510=>589, 8511=>764, 8512=>729, 8513=>697, 8514=>501, 8515=>501, 8516=>549, 8517=>737, 8518=>637, 8519=>554, 8520=>316,
|
|
||||||
8521=>316, 8523=>702, 8526=>474, 8531=>872, 8532=>872, 8533=>872, 8534=>872, 8535=>872, 8536=>872, 8537=>872, 8538=>872, 8539=>872, 8540=>872, 8541=>872, 8542=>872, 8543=>511,
|
|
||||||
8544=>265, 8545=>443, 8546=>620, 8547=>831, 8548=>615, 8549=>830, 8550=>1007, 8551=>1185, 8552=>826, 8553=>616, 8554=>839, 8555=>1018, 8556=>501, 8557=>628, 8558=>693, 8559=>776,
|
|
||||||
8560=>250, 8561=>412, 8562=>573, 8563=>730, 8564=>532, 8565=>729, 8566=>892, 8567=>1053, 8568=>737, 8569=>532, 8570=>740, 8571=>901, 8572=>250, 8573=>495, 8574=>571, 8575=>876,
|
|
||||||
8576=>1121, 8577=>693, 8578=>1121, 8579=>633, 8580=>494, 8592=>754, 8593=>754, 8594=>754, 8595=>754, 8596=>754, 8597=>754, 8598=>754, 8599=>754, 8600=>754, 8601=>754, 8602=>754,
|
|
||||||
8603=>754, 8604=>754, 8605=>754, 8606=>754, 8607=>754, 8608=>754, 8609=>754, 8610=>754, 8611=>754, 8612=>754, 8613=>754, 8614=>754, 8615=>754, 8616=>754, 8617=>754, 8618=>754,
|
|
||||||
8619=>754, 8620=>754, 8621=>754, 8622=>754, 8623=>754, 8624=>754, 8625=>754, 8626=>754, 8627=>754, 8628=>754, 8629=>754, 8630=>754, 8631=>754, 8632=>754, 8633=>754, 8634=>754,
|
|
||||||
8635=>754, 8636=>754, 8637=>754, 8638=>754, 8639=>754, 8640=>754, 8641=>754, 8642=>754, 8643=>754, 8644=>754, 8645=>754, 8646=>754, 8647=>754, 8648=>754, 8649=>754, 8650=>754,
|
|
||||||
8651=>754, 8652=>754, 8653=>754, 8654=>754, 8655=>754, 8656=>754, 8657=>754, 8658=>754, 8659=>754, 8660=>754, 8661=>754, 8662=>754, 8663=>754, 8664=>754, 8665=>754, 8666=>754,
|
|
||||||
8667=>754, 8668=>754, 8669=>754, 8670=>754, 8671=>754, 8672=>754, 8673=>754, 8674=>754, 8675=>754, 8676=>754, 8677=>754, 8678=>754, 8679=>754, 8680=>754, 8681=>754, 8682=>754,
|
|
||||||
8683=>754, 8684=>754, 8685=>754, 8686=>754, 8687=>754, 8688=>754, 8689=>754, 8690=>754, 8691=>754, 8692=>754, 8693=>754, 8694=>754, 8695=>754, 8696=>754, 8697=>754, 8698=>754,
|
|
||||||
8699=>754, 8700=>754, 8701=>754, 8702=>754, 8703=>754, 8704=>615, 8705=>572, 8706=>465, 8707=>568, 8708=>568, 8709=>784, 8710=>602, 8711=>602, 8712=>784, 8713=>784, 8714=>646,
|
|
||||||
8715=>784, 8716=>784, 8717=>646, 8718=>572, 8719=>681, 8720=>681, 8721=>606, 8722=>754, 8723=>754, 8724=>754, 8725=>150, 8726=>573, 8727=>754, 8728=>563, 8729=>286, 8730=>573,
|
|
||||||
8731=>573, 8732=>573, 8733=>609, 8734=>750, 8735=>754, 8736=>807, 8737=>807, 8738=>754, 8739=>450, 8740=>450, 8741=>450, 8742=>450, 8743=>659, 8744=>659, 8745=>659, 8746=>659,
|
|
||||||
8747=>469, 8748=>710, 8749=>951, 8750=>469, 8751=>710, 8752=>951, 8753=>469, 8754=>469, 8755=>469, 8756=>572, 8757=>572, 8758=>234, 8759=>572, 8760=>754, 8761=>754, 8762=>754,
|
|
||||||
8763=>754, 8764=>754, 8765=>754, 8766=>754, 8767=>754, 8768=>337, 8769=>754, 8770=>754, 8771=>754, 8772=>754, 8773=>754, 8774=>754, 8775=>754, 8776=>754, 8777=>754, 8778=>754,
|
|
||||||
8779=>754, 8780=>754, 8781=>754, 8782=>754, 8783=>754, 8784=>754, 8785=>754, 8786=>754, 8787=>754, 8788=>900, 8789=>900, 8790=>754, 8791=>754, 8792=>754, 8793=>754, 8794=>754,
|
|
||||||
8795=>754, 8796=>754, 8797=>754, 8798=>754, 8799=>754, 8800=>754, 8801=>754, 8802=>754, 8803=>754, 8804=>754, 8805=>754, 8806=>754, 8807=>754, 8808=>754, 8809=>754, 8810=>942,
|
|
||||||
8811=>942, 8812=>417, 8813=>754, 8814=>754, 8815=>754, 8816=>754, 8817=>754, 8818=>754, 8819=>754, 8820=>754, 8821=>754, 8822=>754, 8823=>754, 8824=>754, 8825=>754, 8826=>754,
|
|
||||||
8827=>754, 8828=>754, 8829=>754, 8830=>754, 8831=>754, 8832=>754, 8833=>754, 8834=>754, 8835=>754, 8836=>754, 8837=>754, 8838=>754, 8839=>754, 8840=>754, 8841=>754, 8842=>754,
|
|
||||||
8843=>754, 8844=>659, 8845=>659, 8846=>659, 8847=>754, 8848=>754, 8849=>754, 8850=>754, 8851=>649, 8852=>649, 8853=>754, 8854=>754, 8855=>754, 8856=>754, 8857=>754, 8858=>754,
|
|
||||||
8859=>754, 8860=>754, 8861=>754, 8862=>754, 8863=>754, 8864=>754, 8865=>754, 8866=>784, 8867=>784, 8868=>784, 8869=>784, 8870=>468, 8871=>468, 8872=>784, 8873=>784, 8874=>784,
|
|
||||||
8875=>784, 8876=>784, 8877=>784, 8878=>784, 8879=>784, 8882=>754, 8883=>754, 8884=>754, 8885=>754, 8886=>900, 8887=>900, 8888=>754, 8889=>754, 8890=>468, 8891=>659, 8892=>659,
|
|
||||||
8893=>659, 8896=>738, 8897=>738, 8898=>738, 8899=>738, 8900=>444, 8901=>286, 8902=>563, 8904=>900, 8905=>900, 8906=>900, 8907=>900, 8908=>900, 8909=>754, 8918=>754, 8919=>754,
|
|
||||||
8920=>1280, 8921=>1280, 8922=>754, 8923=>754, 8924=>754, 8925=>754, 8926=>754, 8927=>754, 8928=>754, 8929=>754, 8930=>754, 8931=>754, 8932=>754, 8933=>754, 8934=>754, 8935=>754,
|
|
||||||
8936=>754, 8937=>754, 8938=>754, 8939=>754, 8940=>754, 8941=>754, 8946=>900, 8947=>784, 8948=>646, 8949=>784, 8950=>784, 8951=>646, 8952=>784, 8953=>784, 8954=>900, 8955=>784,
|
|
||||||
8956=>646, 8957=>784, 8958=>646, 8959=>784, 8962=>571, 8966=>784, 8968=>351, 8969=>351, 8970=>351, 8971=>351, 8976=>754, 8977=>461, 8984=>900, 8985=>754, 8992=>469, 8993=>469,
|
|
||||||
8997=>900, 9000=>1299, 9085=>681, 9115=>450, 9116=>450, 9117=>450, 9118=>450, 9119=>450, 9120=>450, 9121=>450, 9122=>450, 9123=>450, 9124=>450, 9125=>450, 9126=>450, 9127=>675,
|
|
||||||
9128=>675, 9129=>675, 9130=>675, 9131=>675, 9132=>675, 9133=>675, 9134=>469, 9166=>754, 9167=>850, 9250=>571, 9251=>571, 9312=>807, 9313=>807, 9314=>807, 9315=>807, 9316=>807,
|
|
||||||
9317=>807, 9318=>807, 9319=>807, 9320=>807, 9321=>807, 9600=>692, 9601=>692, 9602=>692, 9603=>692, 9604=>692, 9605=>692, 9606=>692, 9607=>692, 9608=>692, 9609=>692, 9610=>692,
|
|
||||||
9611=>692, 9612=>692, 9613=>692, 9614=>692, 9615=>692, 9616=>692, 9617=>692, 9618=>692, 9619=>692, 9620=>692, 9621=>692, 9622=>692, 9623=>692, 9624=>692, 9625=>692, 9626=>692,
|
|
||||||
9627=>692, 9628=>692, 9629=>692, 9630=>692, 9631=>692, 9632=>850, 9633=>850, 9634=>850, 9635=>850, 9636=>850, 9637=>850, 9638=>850, 9639=>850, 9640=>850, 9641=>850, 9642=>610,
|
|
||||||
9643=>610, 9644=>850, 9645=>850, 9646=>495, 9647=>495, 9648=>692, 9649=>692, 9650=>692, 9651=>692, 9652=>452, 9653=>452, 9654=>692, 9655=>692, 9656=>452, 9657=>452, 9658=>692,
|
|
||||||
9659=>692, 9660=>692, 9661=>692, 9662=>452, 9663=>452, 9664=>692, 9665=>692, 9666=>452, 9667=>452, 9668=>692, 9669=>692, 9670=>692, 9671=>692, 9672=>692, 9673=>785, 9674=>444,
|
|
||||||
9675=>785, 9676=>785, 9677=>785, 9678=>785, 9679=>785, 9680=>785, 9681=>785, 9682=>785, 9683=>785, 9684=>785, 9685=>785, 9686=>474, 9687=>474, 9688=>712, 9689=>873, 9690=>873,
|
|
||||||
9691=>873, 9692=>348, 9693=>348, 9694=>348, 9695=>348, 9696=>785, 9697=>785, 9698=>692, 9699=>692, 9700=>692, 9701=>692, 9702=>531, 9703=>850, 9704=>850, 9705=>850, 9706=>850,
|
|
||||||
9707=>850, 9708=>692, 9709=>692, 9710=>692, 9711=>1007, 9712=>850, 9713=>850, 9714=>850, 9715=>850, 9716=>785, 9717=>785, 9718=>785, 9719=>785, 9720=>692, 9721=>692, 9722=>692,
|
|
||||||
9723=>747, 9724=>747, 9725=>659, 9726=>659, 9727=>692, 9728=>807, 9729=>900, 9730=>807, 9731=>807, 9732=>807, 9733=>807, 9734=>807, 9735=>515, 9736=>806, 9737=>807, 9738=>799,
|
|
||||||
9739=>799, 9740=>604, 9741=>911, 9742=>1121, 9743=>1125, 9744=>807, 9745=>807, 9746=>807, 9747=>479, 9748=>807, 9749=>807, 9750=>807, 9751=>807, 9752=>807, 9753=>807, 9754=>807,
|
|
||||||
9755=>807, 9756=>807, 9757=>548, 9758=>807, 9759=>548, 9760=>807, 9761=>807, 9762=>807, 9763=>807, 9764=>602, 9765=>671, 9766=>584, 9767=>705, 9768=>490, 9769=>807, 9770=>807,
|
|
||||||
9771=>807, 9772=>639, 9773=>807, 9774=>807, 9775=>807, 9776=>807, 9777=>807, 9778=>807, 9779=>807, 9780=>807, 9781=>807, 9782=>807, 9783=>807, 9784=>807, 9785=>807, 9786=>807,
|
|
||||||
9787=>807, 9788=>807, 9789=>807, 9790=>807, 9791=>552, 9792=>658, 9793=>658, 9794=>807, 9795=>807, 9796=>807, 9797=>807, 9798=>807, 9799=>807, 9800=>807, 9801=>807, 9802=>807,
|
|
||||||
9803=>807, 9804=>807, 9805=>807, 9806=>807, 9807=>807, 9808=>807, 9809=>807, 9810=>807, 9811=>807, 9812=>807, 9813=>807, 9814=>807, 9815=>807, 9816=>807, 9817=>807, 9818=>807,
|
|
||||||
9819=>807, 9820=>807, 9821=>807, 9822=>807, 9823=>807, 9824=>807, 9825=>807, 9826=>807, 9827=>807, 9828=>807, 9829=>807, 9830=>807, 9831=>807, 9832=>807, 9833=>424, 9834=>574,
|
|
||||||
9835=>807, 9836=>807, 9837=>424, 9838=>321, 9839=>435, 9840=>673, 9841=>689, 9842=>807, 9843=>807, 9844=>807, 9845=>807, 9846=>807, 9847=>807, 9848=>807, 9849=>807, 9850=>807,
|
|
||||||
9851=>807, 9852=>807, 9853=>807, 9854=>807, 9855=>807, 9856=>782, 9857=>782, 9858=>782, 9859=>782, 9860=>782, 9861=>782, 9862=>807, 9863=>807, 9864=>807, 9865=>807, 9866=>807,
|
|
||||||
9867=>807, 9868=>807, 9869=>807, 9870=>807, 9871=>807, 9872=>807, 9873=>807, 9874=>807, 9875=>807, 9876=>807, 9877=>487, 9878=>807, 9879=>807, 9880=>807, 9881=>807, 9882=>807,
|
|
||||||
9883=>807, 9884=>807, 9888=>807, 9889=>632, 9890=>754, 9891=>754, 9892=>754, 9893=>754, 9894=>754, 9895=>754, 9896=>754, 9897=>754, 9898=>754, 9899=>754, 9900=>754, 9901=>754,
|
|
||||||
9902=>754, 9903=>754, 9904=>759, 9905=>754, 9906=>658, 9985=>754, 9986=>754, 9987=>754, 9988=>754, 9990=>754, 9991=>754, 9992=>754, 9993=>754, 9996=>754, 9997=>754, 9998=>754,
|
|
||||||
9999=>754, 10000=>754, 10001=>754, 10002=>754, 10003=>754, 10004=>754, 10005=>754, 10006=>754, 10007=>754, 10008=>754, 10009=>754, 10010=>754, 10011=>754, 10012=>754, 10013=>754, 10014=>754,
|
|
||||||
10015=>754, 10016=>754, 10017=>754, 10018=>754, 10019=>754, 10020=>754, 10021=>754, 10022=>754, 10023=>754, 10025=>754, 10026=>754, 10027=>754, 10028=>754, 10029=>754, 10030=>754, 10031=>754,
|
|
||||||
10032=>754, 10033=>754, 10034=>754, 10035=>754, 10036=>754, 10037=>754, 10038=>754, 10039=>754, 10040=>754, 10041=>754, 10042=>754, 10043=>754, 10044=>754, 10045=>754, 10046=>754, 10047=>754,
|
|
||||||
10048=>754, 10049=>754, 10050=>754, 10051=>754, 10052=>754, 10053=>754, 10054=>754, 10055=>754, 10056=>754, 10057=>754, 10058=>754, 10059=>754, 10061=>807, 10063=>807, 10064=>807, 10065=>807,
|
|
||||||
10066=>807, 10070=>807, 10072=>754, 10073=>754, 10074=>754, 10075=>290, 10076=>290, 10077=>484, 10078=>484, 10081=>754, 10082=>754, 10083=>754, 10084=>754, 10085=>754, 10086=>754, 10087=>754,
|
|
||||||
10088=>754, 10089=>754, 10090=>754, 10091=>754, 10092=>754, 10093=>754, 10094=>754, 10095=>754, 10096=>754, 10097=>754, 10098=>754, 10099=>754, 10100=>754, 10101=>754, 10102=>807, 10103=>807,
|
|
||||||
10104=>807, 10105=>807, 10106=>807, 10107=>807, 10108=>807, 10109=>807, 10110=>807, 10111=>807, 10112=>754, 10113=>754, 10114=>754, 10115=>754, 10116=>754, 10117=>754, 10118=>754, 10119=>754,
|
|
||||||
10120=>754, 10121=>754, 10122=>754, 10123=>754, 10124=>754, 10125=>754, 10126=>754, 10127=>754, 10128=>754, 10129=>754, 10130=>754, 10131=>754, 10132=>754, 10136=>754, 10137=>754, 10138=>754,
|
|
||||||
10139=>754, 10140=>754, 10141=>754, 10142=>754, 10143=>754, 10144=>754, 10145=>754, 10146=>754, 10147=>754, 10148=>754, 10149=>754, 10150=>754, 10151=>754, 10152=>754, 10153=>754, 10154=>754,
|
|
||||||
10155=>754, 10156=>754, 10157=>754, 10158=>754, 10159=>754, 10161=>754, 10162=>754, 10163=>754, 10164=>754, 10165=>754, 10166=>754, 10167=>754, 10168=>754, 10169=>754, 10170=>754, 10171=>754,
|
|
||||||
10172=>754, 10173=>754, 10174=>754, 10208=>444, 10214=>445, 10215=>445, 10216=>351, 10217=>351, 10218=>500, 10219=>500, 10224=>754, 10225=>754, 10226=>754, 10227=>754, 10228=>1042, 10229=>1290,
|
|
||||||
10230=>1290, 10231=>1290, 10232=>1290, 10233=>1290, 10234=>1290, 10235=>1290, 10236=>1290, 10237=>1290, 10238=>1290, 10239=>1290, 10240=>659, 10241=>659, 10242=>659, 10243=>659, 10244=>659, 10245=>659,
|
|
||||||
10246=>659, 10247=>659, 10248=>659, 10249=>659, 10250=>659, 10251=>659, 10252=>659, 10253=>659, 10254=>659, 10255=>659, 10256=>659, 10257=>659, 10258=>659, 10259=>659, 10260=>659, 10261=>659,
|
|
||||||
10262=>659, 10263=>659, 10264=>659, 10265=>659, 10266=>659, 10267=>659, 10268=>659, 10269=>659, 10270=>659, 10271=>659, 10272=>659, 10273=>659, 10274=>659, 10275=>659, 10276=>659, 10277=>659,
|
|
||||||
10278=>659, 10279=>659, 10280=>659, 10281=>659, 10282=>659, 10283=>659, 10284=>659, 10285=>659, 10286=>659, 10287=>659, 10288=>659, 10289=>659, 10290=>659, 10291=>659, 10292=>659, 10293=>659,
|
|
||||||
10294=>659, 10295=>659, 10296=>659, 10297=>659, 10298=>659, 10299=>659, 10300=>659, 10301=>659, 10302=>659, 10303=>659, 10304=>659, 10305=>659, 10306=>659, 10307=>659, 10308=>659, 10309=>659,
|
|
||||||
10310=>659, 10311=>659, 10312=>659, 10313=>659, 10314=>659, 10315=>659, 10316=>659, 10317=>659, 10318=>659, 10319=>659, 10320=>659, 10321=>659, 10322=>659, 10323=>659, 10324=>659, 10325=>659,
|
|
||||||
10326=>659, 10327=>659, 10328=>659, 10329=>659, 10330=>659, 10331=>659, 10332=>659, 10333=>659, 10334=>659, 10335=>659, 10336=>659, 10337=>659, 10338=>659, 10339=>659, 10340=>659, 10341=>659,
|
|
||||||
10342=>659, 10343=>659, 10344=>659, 10345=>659, 10346=>659, 10347=>659, 10348=>659, 10349=>659, 10350=>659, 10351=>659, 10352=>659, 10353=>659, 10354=>659, 10355=>659, 10356=>659, 10357=>659,
|
|
||||||
10358=>659, 10359=>659, 10360=>659, 10361=>659, 10362=>659, 10363=>659, 10364=>659, 10365=>659, 10366=>659, 10367=>659, 10368=>659, 10369=>659, 10370=>659, 10371=>659, 10372=>659, 10373=>659,
|
|
||||||
10374=>659, 10375=>659, 10376=>659, 10377=>659, 10378=>659, 10379=>659, 10380=>659, 10381=>659, 10382=>659, 10383=>659, 10384=>659, 10385=>659, 10386=>659, 10387=>659, 10388=>659, 10389=>659,
|
|
||||||
10390=>659, 10391=>659, 10392=>659, 10393=>659, 10394=>659, 10395=>659, 10396=>659, 10397=>659, 10398=>659, 10399=>659, 10400=>659, 10401=>659, 10402=>659, 10403=>659, 10404=>659, 10405=>659,
|
|
||||||
10406=>659, 10407=>659, 10408=>659, 10409=>659, 10410=>659, 10411=>659, 10412=>659, 10413=>659, 10414=>659, 10415=>659, 10416=>659, 10417=>659, 10418=>659, 10419=>659, 10420=>659, 10421=>659,
|
|
||||||
10422=>659, 10423=>659, 10424=>659, 10425=>659, 10426=>659, 10427=>659, 10428=>659, 10429=>659, 10430=>659, 10431=>659, 10432=>659, 10433=>659, 10434=>659, 10435=>659, 10436=>659, 10437=>659,
|
|
||||||
10438=>659, 10439=>659, 10440=>659, 10441=>659, 10442=>659, 10443=>659, 10444=>659, 10445=>659, 10446=>659, 10447=>659, 10448=>659, 10449=>659, 10450=>659, 10451=>659, 10452=>659, 10453=>659,
|
|
||||||
10454=>659, 10455=>659, 10456=>659, 10457=>659, 10458=>659, 10459=>659, 10460=>659, 10461=>659, 10462=>659, 10463=>659, 10464=>659, 10465=>659, 10466=>659, 10467=>659, 10468=>659, 10469=>659,
|
|
||||||
10470=>659, 10471=>659, 10472=>659, 10473=>659, 10474=>659, 10475=>659, 10476=>659, 10477=>659, 10478=>659, 10479=>659, 10480=>659, 10481=>659, 10482=>659, 10483=>659, 10484=>659, 10485=>659,
|
|
||||||
10486=>659, 10487=>659, 10488=>659, 10489=>659, 10490=>659, 10491=>659, 10492=>659, 10493=>659, 10494=>659, 10495=>659, 10502=>754, 10503=>754, 10506=>754, 10507=>754, 10560=>615, 10561=>615,
|
|
||||||
10702=>754, 10703=>900, 10704=>900, 10705=>900, 10706=>900, 10707=>900, 10708=>900, 10709=>900, 10731=>444, 10752=>900, 10753=>900, 10754=>900, 10764=>1192, 10765=>469, 10766=>469, 10767=>469,
|
|
||||||
10768=>469, 10769=>469, 10770=>469, 10771=>469, 10772=>469, 10773=>469, 10774=>469, 10775=>469, 10776=>469, 10777=>469, 10778=>469, 10779=>469, 10780=>469, 10877=>754, 10878=>754, 10879=>754,
|
|
||||||
10880=>754, 10881=>754, 10882=>754, 10883=>754, 10884=>754, 10885=>754, 10886=>754, 10887=>754, 10888=>754, 10889=>754, 10890=>754, 10891=>754, 10892=>754, 10893=>754, 10894=>754, 10895=>754,
|
|
||||||
10896=>754, 10897=>754, 10898=>754, 10899=>754, 10900=>754, 10901=>754, 10902=>754, 10903=>754, 10904=>754, 10905=>754, 10906=>754, 10907=>754, 10908=>754, 10909=>754, 10910=>754, 10911=>754,
|
|
||||||
10912=>754, 10926=>754, 10927=>754, 10928=>754, 10929=>754, 10930=>754, 10931=>754, 10932=>754, 10933=>754, 10934=>754, 10935=>754, 10936=>754, 10937=>754, 10938=>754, 11001=>754, 11002=>754,
|
|
||||||
11008=>754, 11009=>754, 11010=>754, 11011=>754, 11012=>754, 11013=>754, 11014=>754, 11015=>754, 11016=>754, 11017=>754, 11018=>754, 11019=>754, 11020=>754, 11021=>754, 11022=>752, 11023=>752,
|
|
||||||
11024=>752, 11025=>752, 11026=>850, 11027=>850, 11028=>850, 11029=>850, 11030=>692, 11031=>692, 11032=>692, 11033=>692, 11034=>850, 11040=>782, 11041=>786, 11042=>786, 11043=>786, 11360=>501,
|
|
||||||
11361=>250, 11362=>501, 11363=>542, 11364=>625, 11365=>551, 11366=>353, 11367=>677, 11368=>570, 11369=>590, 11370=>521, 11371=>616, 11372=>472, 11380=>532, 11381=>589, 11382=>511, 11383=>593,
|
|
||||||
61440=>879, 61441=>879, 61960=>703, 62047=>532, 63173=>550, 64256=>620, 64257=>567, 64258=>567, 64259=>870, 64260=>870, 64261=>617, 64262=>774, 64275=>1081, 64276=>1081, 64277=>1076, 64278=>1067,
|
|
||||||
64279=>1376, 64285=>266, 64287=>444, 64288=>572, 64297=>754, 64298=>719, 64299=>719, 64300=>719, 64301=>719, 64302=>597, 64303=>597, 64304=>597, 64305=>589, 64306=>408, 64307=>546, 64308=>621,
|
|
||||||
64309=>302, 64310=>393, 64312=>615, 64313=>302, 64314=>577, 64315=>599, 64316=>571, 64318=>663, 64320=>410, 64321=>694, 64323=>586, 64324=>599, 64326=>575, 64327=>619, 64328=>577, 64329=>719,
|
|
||||||
64330=>653, 64331=>245, 64332=>589, 64333=>599, 64334=>599, 64338=>847, 64339=>883, 64340=>250, 64341=>271, 64342=>847, 64343=>883, 64344=>250, 64345=>271, 64346=>847, 64347=>883, 64348=>250,
|
|
||||||
64349=>271, 64350=>847, 64351=>883, 64352=>250, 64353=>271, 64354=>847, 64355=>883, 64356=>250, 64357=>271, 64358=>847, 64359=>883, 64360=>250, 64361=>271, 64362=>933, 64363=>932, 64364=>430,
|
|
||||||
64365=>455, 64366=>933, 64367=>932, 64368=>430, 64369=>455, 64370=>581, 64371=>581, 64372=>556, 64373=>581, 64374=>581, 64375=>581, 64376=>556, 64377=>581, 64378=>581, 64379=>581, 64380=>556,
|
|
||||||
64381=>581, 64382=>581, 64383=>581, 64384=>556, 64385=>581, 64394=>435, 64395=>497, 64396=>435, 64397=>497, 64398=>805, 64399=>805, 64400=>428, 64401=>497, 64402=>805, 64403=>805, 64404=>428,
|
|
||||||
64405=>497, 64414=>661, 64415=>685, 64473=>435, 64474=>465, 64488=>250, 64489=>271, 64508=>704, 64509=>750, 64510=>250, 64511=>271, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0,
|
|
||||||
65029=>0, 65030=>0, 65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0, 65037=>0, 65038=>0, 65039=>0, 65136=>264, 65137=>264, 65138=>264, 65139=>235, 65140=>264,
|
|
||||||
65142=>264, 65143=>264, 65144=>264, 65145=>264, 65146=>264, 65147=>264, 65148=>264, 65149=>264, 65150=>264, 65151=>264, 65152=>423, 65153=>250, 65154=>274, 65155=>250, 65156=>274, 65157=>435,
|
|
||||||
65158=>465, 65159=>250, 65160=>274, 65161=>704, 65162=>750, 65163=>250, 65164=>271, 65165=>250, 65166=>274, 65167=>847, 65168=>883, 65169=>250, 65170=>271, 65171=>471, 65172=>482, 65173=>847,
|
|
||||||
65174=>883, 65175=>250, 65176=>271, 65177=>847, 65178=>883, 65179=>250, 65180=>271, 65181=>581, 65182=>581, 65183=>556, 65184=>581, 65185=>581, 65186=>581, 65187=>556, 65188=>581, 65189=>581,
|
|
||||||
65190=>581, 65191=>556, 65192=>581, 65193=>400, 65194=>472, 65195=>400, 65196=>472, 65197=>435, 65198=>497, 65199=>435, 65200=>497, 65201=>1099, 65202=>1147, 65203=>754, 65204=>803, 65205=>1099,
|
|
||||||
65206=>1147, 65207=>754, 65208=>803, 65209=>1088, 65210=>1103, 65211=>764, 65212=>780, 65213=>1088, 65214=>1103, 65215=>764, 65216=>780, 65217=>832, 65218=>854, 65219=>716, 65220=>738, 65221=>832,
|
|
||||||
65222=>854, 65223=>716, 65224=>738, 65225=>537, 65226=>479, 65227=>537, 65228=>434, 65229=>537, 65230=>479, 65231=>470, 65232=>434, 65233=>933, 65234=>932, 65235=>430, 65236=>455, 65237=>698,
|
|
||||||
65238=>750, 65239=>430, 65240=>455, 65241=>742, 65242=>758, 65243=>428, 65244=>497, 65245=>654, 65246=>681, 65247=>274, 65248=>298, 65249=>557, 65250=>599, 65251=>482, 65252=>520, 65253=>661,
|
|
||||||
65254=>685, 65255=>250, 65256=>271, 65257=>471, 65258=>482, 65259=>475, 65260=>415, 65261=>435, 65262=>465, 65263=>704, 65264=>750, 65265=>704, 65266=>750, 65267=>250, 65268=>271, 65269=>513,
|
|
||||||
65270=>537, 65271=>513, 65272=>537, 65273=>513, 65274=>537, 65275=>513, 65276=>537, 65279=>0, 65533=>923};
|
|
||||||
font[:enc]='';
|
|
||||||
font[:diff]='';
|
|
||||||
font[:file]='DejaVuSansCondensed.z';
|
|
||||||
font[:ctg]='DejaVuSansCondensed.ctg.z';
|
|
||||||
font[:originalsize]=463772;
|
|
||||||
end
|
|
||||||
Binary file not shown.
@@ -1,287 +0,0 @@
|
|||||||
TCPDFFontDescriptor.define('DejaVuSansCondensedb') do |font|
|
|
||||||
font[:type]='TrueTypeUnicode';
|
|
||||||
font[:name]='DejaVuSansCondensed-Bold';
|
|
||||||
font[:desc]={'Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>32,'FontBBox'=>'[-962 -388 1777 1123]','ItalicAngle'=>0,'StemV'=>120,'MissingWidth'=>540};
|
|
||||||
font[:up]=-42;
|
|
||||||
font[:ut]=44;
|
|
||||||
font[:cw]={
|
|
||||||
0=>540, 32=>313, 33=>410, 34=>469, 35=>754, 36=>626, 37=>901, 38=>785, 39=>275, 40=>411, 41=>411, 42=>470, 43=>754, 44=>342, 45=>374, 46=>342,
|
|
||||||
47=>329, 48=>626, 49=>626, 50=>626, 51=>626, 52=>626, 53=>626, 54=>626, 55=>626, 56=>626, 57=>626, 58=>360, 59=>360, 60=>754, 61=>754, 62=>754,
|
|
||||||
63=>522, 64=>900, 65=>696, 66=>686, 67=>660, 68=>747, 69=>615, 70=>615, 71=>738, 72=>753, 73=>334, 74=>334, 75=>697, 76=>573, 77=>896, 78=>753,
|
|
||||||
79=>765, 80=>659, 81=>765, 82=>693, 83=>648, 84=>614, 85=>730, 86=>696, 87=>993, 88=>694, 89=>651, 90=>652, 91=>411, 92=>329, 93=>411, 94=>754,
|
|
||||||
95=>450, 96=>450, 97=>607, 98=>644, 99=>533, 100=>644, 101=>610, 102=>391, 103=>644, 104=>641, 105=>308, 106=>308, 107=>598, 108=>308, 109=>938, 110=>641,
|
|
||||||
111=>618, 112=>644, 113=>644, 114=>444, 115=>536, 116=>430, 117=>641, 118=>586, 119=>831, 120=>580, 121=>586, 122=>523, 123=>641, 124=>329, 125=>641, 126=>754,
|
|
||||||
8364=>626, 1027=>573, 8218=>342, 402=>391, 8222=>591, 8230=>900, 8224=>450, 8225=>450, 710=>450, 8240=>1296, 352=>648, 8249=>371, 338=>1050, 1036=>735, 381=>652, 1039=>753,
|
|
||||||
8216=>342, 8217=>342, 8220=>591, 8221=>591, 8226=>575, 8211=>450, 8212=>900, 732=>450, 8482=>900, 353=>536, 8250=>371, 339=>984, 1116=>611, 382=>523, 376=>651, 160=>313,
|
|
||||||
161=>410, 162=>626, 163=>626, 164=>572, 165=>626, 166=>329, 167=>450, 168=>450, 169=>900, 170=>507, 171=>581, 172=>754, 173=>374, 174=>900, 175=>450, 176=>450,
|
|
||||||
177=>754, 178=>394, 179=>394, 180=>450, 181=>662, 182=>572, 183=>342, 184=>450, 185=>394, 186=>507, 187=>581, 188=>932, 189=>932, 190=>932, 191=>522, 192=>696,
|
|
||||||
193=>696, 194=>696, 195=>696, 196=>696, 197=>696, 198=>976, 199=>660, 200=>615, 201=>615, 202=>615, 203=>615, 204=>334, 205=>334, 206=>334, 207=>334, 208=>754,
|
|
||||||
209=>753, 210=>765, 211=>765, 212=>765, 213=>765, 214=>765, 215=>754, 216=>765, 217=>730, 218=>730, 219=>730, 220=>730, 221=>651, 222=>664, 223=>647, 224=>607,
|
|
||||||
225=>607, 226=>607, 227=>607, 228=>607, 229=>607, 230=>943, 231=>533, 232=>610, 233=>610, 234=>610, 235=>610, 236=>308, 237=>308, 238=>308, 239=>308, 240=>618,
|
|
||||||
241=>641, 242=>618, 243=>618, 244=>618, 245=>618, 246=>618, 247=>754, 248=>618, 249=>641, 250=>641, 251=>641, 252=>641, 253=>586, 254=>644, 255=>586, 256=>696,
|
|
||||||
257=>607, 258=>696, 259=>607, 260=>696, 261=>607, 262=>660, 263=>533, 264=>660, 265=>533, 266=>660, 267=>533, 268=>660, 269=>533, 270=>747, 271=>644, 272=>754,
|
|
||||||
273=>644, 274=>615, 275=>610, 276=>615, 277=>610, 278=>615, 279=>610, 280=>615, 281=>610, 282=>615, 283=>610, 284=>738, 285=>644, 286=>738, 287=>644, 288=>738,
|
|
||||||
289=>644, 290=>738, 291=>644, 292=>753, 293=>641, 294=>876, 295=>711, 296=>334, 297=>308, 298=>334, 299=>308, 300=>334, 301=>308, 302=>334, 303=>308, 304=>334,
|
|
||||||
305=>308, 306=>669, 307=>617, 308=>334, 309=>308, 310=>697, 311=>598, 312=>598, 313=>573, 314=>308, 315=>573, 316=>308, 317=>573, 318=>431, 319=>573, 320=>501,
|
|
||||||
321=>578, 322=>334, 323=>753, 324=>641, 325=>753, 326=>641, 327=>753, 328=>641, 329=>884, 330=>753, 331=>641, 332=>765, 333=>618, 334=>765, 335=>618, 336=>765,
|
|
||||||
337=>618, 340=>693, 341=>444, 342=>693, 343=>444, 344=>693, 345=>444, 346=>648, 347=>536, 348=>648, 349=>536, 350=>648, 351=>536, 354=>614, 355=>430, 356=>614,
|
|
||||||
357=>430, 358=>614, 359=>430, 360=>730, 361=>641, 362=>730, 363=>641, 364=>730, 365=>641, 366=>730, 367=>641, 368=>730, 369=>641, 370=>730, 371=>641, 372=>993,
|
|
||||||
373=>831, 374=>651, 375=>586, 377=>652, 378=>523, 379=>652, 380=>523, 383=>391, 384=>644, 385=>729, 386=>686, 387=>644, 388=>686, 389=>644, 390=>660, 391=>660,
|
|
||||||
392=>533, 393=>754, 394=>791, 395=>681, 396=>644, 397=>619, 398=>615, 399=>764, 400=>626, 401=>615, 403=>738, 404=>713, 405=>940, 406=>392, 407=>350, 408=>697,
|
|
||||||
409=>598, 410=>324, 411=>532, 412=>938, 413=>753, 414=>641, 415=>765, 416=>786, 417=>618, 418=>1002, 419=>866, 420=>703, 421=>644, 422=>693, 423=>648, 424=>536,
|
|
||||||
425=>615, 426=>497, 427=>430, 428=>636, 429=>430, 430=>614, 431=>751, 432=>641, 433=>692, 434=>732, 435=>717, 436=>700, 437=>652, 438=>523, 439=>695, 440=>695,
|
|
||||||
441=>576, 442=>523, 443=>626, 444=>695, 445=>576, 446=>515, 447=>644, 448=>334, 449=>593, 450=>489, 451=>334, 452=>1399, 453=>1271, 454=>1168, 455=>908, 456=>882,
|
|
||||||
457=>617, 458=>1088, 459=>1062, 460=>949, 461=>696, 462=>607, 463=>334, 464=>308, 465=>765, 466=>618, 467=>730, 468=>641, 469=>730, 470=>641, 471=>730, 472=>641,
|
|
||||||
473=>730, 474=>641, 475=>730, 476=>641, 477=>610, 478=>696, 479=>607, 480=>696, 481=>607, 482=>976, 483=>943, 484=>738, 485=>644, 486=>738, 487=>644, 488=>697,
|
|
||||||
489=>598, 490=>765, 491=>618, 492=>765, 493=>618, 494=>695, 495=>523, 496=>308, 497=>1399, 498=>1271, 499=>1168, 500=>738, 501=>644, 502=>1160, 503=>708, 504=>753,
|
|
||||||
505=>641, 506=>696, 507=>607, 508=>976, 509=>943, 510=>765, 511=>618, 512=>696, 513=>607, 514=>696, 515=>607, 516=>615, 517=>610, 518=>615, 519=>610, 520=>334,
|
|
||||||
521=>308, 522=>334, 523=>308, 524=>765, 525=>618, 526=>765, 527=>618, 528=>693, 529=>444, 530=>693, 531=>444, 532=>730, 533=>641, 534=>730, 535=>641, 536=>648,
|
|
||||||
537=>536, 538=>614, 539=>430, 540=>621, 541=>546, 542=>753, 543=>641, 544=>753, 545=>778, 546=>728, 547=>593, 548=>652, 549=>523, 550=>696, 551=>607, 552=>615,
|
|
||||||
553=>610, 554=>765, 555=>618, 556=>765, 557=>618, 558=>765, 559=>618, 560=>765, 561=>618, 562=>651, 563=>586, 564=>442, 565=>780, 566=>460, 567=>308, 568=>979,
|
|
||||||
569=>979, 570=>696, 571=>660, 572=>533, 573=>573, 574=>614, 575=>536, 576=>523, 577=>703, 578=>553, 579=>686, 580=>730, 581=>696, 582=>615, 583=>610, 584=>334,
|
|
||||||
585=>308, 586=>774, 587=>712, 588=>693, 589=>444, 590=>651, 591=>586, 592=>607, 593=>644, 594=>644, 595=>644, 596=>533, 597=>533, 598=>645, 599=>712, 600=>610,
|
|
||||||
601=>610, 602=>788, 603=>501, 604=>490, 605=>733, 606=>658, 607=>308, 608=>712, 609=>644, 610=>564, 611=>661, 612=>571, 613=>641, 614=>641, 615=>641, 616=>491,
|
|
||||||
617=>396, 618=>491, 619=>502, 620=>624, 621=>308, 622=>757, 623=>938, 624=>938, 625=>938, 626=>641, 627=>713, 628=>578, 629=>618, 630=>817, 631=>613, 632=>716,
|
|
||||||
633=>484, 634=>484, 635=>584, 636=>444, 637=>444, 638=>536, 639=>536, 640=>578, 641=>578, 642=>536, 643=>374, 644=>391, 645=>544, 646=>497, 647=>430, 648=>430,
|
|
||||||
649=>828, 650=>692, 651=>603, 652=>586, 653=>831, 654=>586, 655=>651, 656=>624, 657=>615, 658=>576, 659=>576, 660=>515, 661=>515, 662=>515, 663=>515, 664=>765,
|
|
||||||
665=>569, 666=>658, 667=>616, 668=>622, 669=>308, 670=>659, 671=>485, 672=>712, 673=>515, 674=>515, 675=>1040, 676=>1093, 677=>1039, 678=>876, 679=>691, 680=>836,
|
|
||||||
681=>923, 682=>712, 683=>702, 684=>532, 685=>374, 686=>609, 687=>710, 688=>410, 689=>410, 690=>197, 691=>284, 692=>284, 693=>284, 694=>369, 695=>532, 696=>375,
|
|
||||||
697=>271, 698=>469, 699=>342, 700=>342, 701=>342, 702=>330, 703=>330, 704=>293, 705=>293, 706=>450, 707=>450, 708=>450, 709=>450, 711=>450, 712=>275, 713=>450,
|
|
||||||
714=>450, 715=>450, 716=>275, 717=>450, 718=>450, 719=>450, 720=>303, 721=>303, 722=>330, 723=>330, 724=>450, 725=>450, 726=>450, 727=>450, 728=>450, 729=>450,
|
|
||||||
730=>450, 731=>450, 733=>450, 734=>315, 735=>450, 736=>370, 737=>197, 738=>343, 739=>371, 740=>293, 741=>450, 742=>450, 743=>450, 744=>450, 745=>450, 748=>450,
|
|
||||||
749=>450, 750=>450, 755=>450, 759=>450, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0, 779=>0,
|
|
||||||
780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 792=>0, 793=>0, 794=>0, 795=>0,
|
|
||||||
796=>0, 797=>0, 798=>0, 799=>0, 800=>0, 801=>0, 802=>0, 803=>0, 804=>0, 805=>0, 806=>0, 807=>0, 808=>0, 809=>0, 810=>0, 811=>0,
|
|
||||||
812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0, 824=>0, 825=>0, 826=>0, 827=>0,
|
|
||||||
828=>0, 829=>0, 830=>0, 831=>0, 832=>0, 833=>0, 834=>0, 835=>0, 836=>0, 837=>0, 838=>0, 839=>0, 840=>0, 841=>0, 842=>0, 843=>0,
|
|
||||||
844=>0, 845=>0, 846=>0, 847=>0, 849=>0, 850=>0, 851=>0, 855=>0, 856=>0, 860=>0, 861=>0, 862=>0, 863=>0, 864=>0, 865=>0, 866=>0,
|
|
||||||
884=>271, 885=>271, 890=>450, 891=>533, 892=>495, 893=>494, 894=>303, 900=>397, 901=>450, 902=>717, 903=>342, 904=>761, 905=>908, 906=>507, 908=>801, 910=>882,
|
|
||||||
911=>804, 912=>351, 913=>696, 914=>686, 915=>573, 916=>696, 917=>615, 918=>652, 919=>753, 920=>765, 921=>334, 922=>697, 923=>696, 924=>896, 925=>753, 926=>568,
|
|
||||||
927=>765, 928=>753, 929=>659, 931=>615, 932=>614, 933=>651, 934=>765, 935=>694, 936=>765, 937=>765, 938=>334, 939=>651, 940=>618, 941=>501, 942=>641, 943=>351,
|
|
||||||
944=>607, 945=>618, 946=>644, 947=>613, 948=>618, 949=>501, 950=>532, 951=>641, 952=>618, 953=>351, 954=>639, 955=>569, 956=>662, 957=>613, 958=>532, 959=>618,
|
|
||||||
960=>712, 961=>644, 962=>533, 963=>701, 964=>574, 965=>607, 966=>704, 967=>580, 968=>714, 969=>782, 970=>351, 971=>607, 972=>618, 973=>607, 974=>782, 976=>585,
|
|
||||||
977=>594, 978=>671, 979=>883, 980=>671, 981=>716, 982=>782, 983=>669, 984=>765, 985=>618, 986=>660, 987=>533, 988=>615, 989=>444, 990=>632, 991=>593, 992=>827,
|
|
||||||
993=>564, 994=>983, 995=>753, 996=>749, 997=>644, 998=>835, 999=>669, 1000=>660, 1001=>585, 1002=>709, 1003=>604, 1004=>677, 1005=>644, 1006=>614, 1007=>531, 1008=>669,
|
|
||||||
1009=>644, 1010=>533, 1011=>308, 1012=>765, 1013=>580, 1014=>580, 1015=>664, 1016=>644, 1017=>660, 1018=>896, 1019=>659, 1020=>644, 1021=>628, 1022=>660, 1023=>628, 1024=>615,
|
|
||||||
1025=>615, 1026=>791, 1028=>660, 1029=>648, 1030=>334, 1031=>334, 1032=>334, 1033=>1039, 1034=>1017, 1035=>791, 1037=>753, 1038=>694, 1040=>696, 1041=>686, 1042=>686, 1043=>573,
|
|
||||||
1044=>801, 1045=>615, 1046=>1102, 1047=>639, 1048=>753, 1049=>753, 1050=>735, 1051=>747, 1052=>896, 1053=>753, 1054=>765, 1055=>753, 1056=>659, 1057=>660, 1058=>614, 1059=>694,
|
|
||||||
1060=>892, 1061=>694, 1062=>835, 1063=>727, 1064=>1112, 1065=>1193, 1066=>845, 1067=>932, 1068=>686, 1069=>660, 1070=>1056, 1071=>693, 1072=>607, 1073=>628, 1074=>569, 1075=>470,
|
|
||||||
1076=>727, 1077=>610, 1078=>896, 1079=>523, 1080=>630, 1081=>630, 1082=>611, 1083=>659, 1084=>735, 1085=>622, 1086=>618, 1087=>622, 1088=>644, 1089=>533, 1090=>521, 1091=>586,
|
|
||||||
1092=>893, 1093=>580, 1094=>667, 1095=>618, 1096=>956, 1097=>995, 1098=>676, 1099=>813, 1100=>569, 1101=>533, 1102=>875, 1103=>578, 1104=>610, 1105=>610, 1106=>642, 1107=>470,
|
|
||||||
1108=>533, 1109=>536, 1110=>308, 1111=>308, 1112=>308, 1113=>892, 1114=>860, 1115=>661, 1117=>630, 1118=>586, 1119=>622, 1120=>983, 1121=>782, 1122=>756, 1123=>662, 1124=>911,
|
|
||||||
1125=>755, 1126=>893, 1127=>749, 1128=>1222, 1129=>1009, 1130=>765, 1131=>618, 1132=>1112, 1133=>906, 1134=>626, 1135=>501, 1136=>967, 1137=>955, 1138=>765, 1139=>601, 1140=>765,
|
|
||||||
1141=>625, 1142=>765, 1143=>625, 1144=>1033, 1145=>939, 1146=>967, 1147=>776, 1148=>1265, 1149=>1055, 1150=>983, 1151=>782, 1152=>660, 1153=>533, 1154=>587, 1155=>0, 1156=>0,
|
|
||||||
1157=>0, 1158=>0, 1160=>376, 1161=>376, 1162=>861, 1163=>726, 1164=>686, 1165=>550, 1166=>659, 1167=>644, 1168=>573, 1169=>470, 1170=>599, 1171=>488, 1172=>727, 1173=>602,
|
|
||||||
1174=>1102, 1175=>896, 1176=>639, 1177=>523, 1178=>697, 1179=>611, 1180=>735, 1181=>611, 1182=>735, 1183=>611, 1184=>914, 1185=>743, 1186=>860, 1187=>727, 1188=>992, 1189=>787,
|
|
||||||
1190=>1146, 1191=>915, 1192=>787, 1193=>639, 1194=>660, 1195=>533, 1196=>614, 1197=>521, 1198=>651, 1199=>586, 1200=>651, 1201=>586, 1202=>694, 1203=>580, 1204=>1001, 1205=>900,
|
|
||||||
1206=>727, 1207=>618, 1208=>727, 1209=>618, 1210=>727, 1211=>641, 1212=>923, 1213=>729, 1214=>923, 1215=>729, 1216=>334, 1217=>1102, 1218=>896, 1219=>697, 1220=>567, 1221=>855,
|
|
||||||
1222=>725, 1223=>753, 1224=>622, 1225=>861, 1226=>726, 1227=>727, 1228=>618, 1229=>1003, 1230=>839, 1231=>308, 1232=>696, 1233=>607, 1234=>696, 1235=>607, 1236=>976, 1237=>943,
|
|
||||||
1238=>615, 1239=>610, 1240=>764, 1241=>610, 1242=>764, 1243=>610, 1244=>1102, 1245=>896, 1246=>639, 1247=>523, 1248=>695, 1249=>576, 1250=>753, 1251=>630, 1252=>753, 1253=>630,
|
|
||||||
1254=>765, 1255=>618, 1256=>765, 1257=>618, 1258=>765, 1259=>618, 1260=>660, 1261=>533, 1262=>694, 1263=>586, 1264=>694, 1265=>586, 1266=>694, 1267=>586, 1268=>727, 1269=>618,
|
|
||||||
1270=>573, 1271=>470, 1272=>932, 1273=>813, 1274=>599, 1275=>488, 1276=>694, 1277=>580, 1278=>694, 1279=>580, 1280=>686, 1281=>547, 1282=>1043, 1283=>804, 1284=>1007, 1285=>828,
|
|
||||||
1286=>745, 1287=>624, 1288=>1117, 1289=>915, 1290=>1123, 1291=>912, 1292=>755, 1293=>574, 1294=>844, 1295=>722, 1296=>626, 1297=>501, 1298=>747, 1299=>659, 1329=>886, 1330=>730,
|
|
||||||
1331=>886, 1332=>886, 1333=>730, 1334=>699, 1335=>730, 1336=>730, 1337=>877, 1338=>886, 1339=>730, 1340=>639, 1341=>970, 1342=>1022, 1343=>730, 1344=>639, 1345=>681, 1346=>886,
|
|
||||||
1347=>789, 1348=>886, 1349=>714, 1350=>886, 1351=>730, 1352=>730, 1353=>730, 1354=>862, 1355=>699, 1356=>886, 1357=>730, 1358=>886, 1359=>648, 1360=>730, 1361=>714, 1362=>805,
|
|
||||||
1363=>765, 1364=>842, 1365=>765, 1366=>648, 1369=>330, 1370=>342, 1371=>495, 1372=>495, 1373=>342, 1374=>491, 1375=>468, 1377=>938, 1378=>641, 1379=>779, 1380=>781, 1381=>641,
|
|
||||||
1382=>735, 1383=>588, 1384=>641, 1385=>729, 1386=>735, 1387=>641, 1388=>448, 1389=>916, 1390=>644, 1391=>641, 1392=>641, 1393=>644, 1394=>737, 1395=>641, 1396=>676, 1397=>308,
|
|
||||||
1398=>794, 1399=>502, 1400=>641, 1401=>502, 1402=>938, 1403=>502, 1404=>777, 1405=>641, 1406=>732, 1407=>938, 1408=>641, 1409=>644, 1410=>514, 1411=>938, 1412=>700, 1413=>618,
|
|
||||||
1414=>648, 1415=>776, 1417=>360, 1418=>438, 1456=>0, 1457=>0, 1458=>0, 1459=>0, 1460=>0, 1461=>0, 1462=>0, 1463=>0, 1464=>0, 1465=>0, 1467=>0, 1468=>0,
|
|
||||||
1469=>0, 1471=>0, 1472=>334, 1473=>0, 1474=>0, 1475=>334, 1478=>479, 1479=>0, 1488=>676, 1489=>658, 1490=>483, 1491=>615, 1492=>700, 1493=>334, 1494=>468, 1495=>700,
|
|
||||||
1496=>692, 1497=>334, 1498=>700, 1499=>675, 1500=>646, 1501=>700, 1502=>771, 1503=>334, 1504=>479, 1505=>770, 1506=>647, 1507=>721, 1508=>699, 1509=>565, 1510=>676, 1511=>723,
|
|
||||||
1512=>700, 1513=>867, 1514=>740, 1520=>623, 1521=>623, 1522=>623, 1548=>342, 1557=>0, 1563=>360, 1567=>522, 1569=>460, 1570=>308, 1571=>308, 1572=>559, 1573=>308, 1574=>825,
|
|
||||||
1575=>308, 1576=>904, 1577=>531, 1578=>904, 1579=>904, 1580=>648, 1581=>648, 1582=>648, 1583=>461, 1584=>461, 1585=>518, 1586=>518, 1587=>1242, 1588=>1242, 1589=>1210, 1590=>1210,
|
|
||||||
1591=>935, 1592=>935, 1593=>615, 1594=>615, 1600=>308, 1601=>1045, 1602=>804, 1603=>825, 1604=>781, 1605=>659, 1606=>768, 1607=>531, 1608=>559, 1609=>825, 1610=>825, 1611=>0,
|
|
||||||
1612=>0, 1613=>0, 1614=>0, 1615=>0, 1616=>0, 1617=>0, 1618=>0, 1619=>0, 1620=>0, 1621=>0, 1626=>450, 1632=>549, 1633=>549, 1634=>549, 1635=>549, 1636=>549,
|
|
||||||
1637=>549, 1638=>549, 1639=>549, 1640=>549, 1641=>549, 1642=>549, 1643=>336, 1644=>342, 1645=>490, 1646=>904, 1647=>804, 1652=>263, 1657=>904, 1658=>904, 1659=>904, 1660=>904,
|
|
||||||
1661=>904, 1662=>904, 1663=>904, 1664=>904, 1665=>648, 1666=>648, 1667=>648, 1668=>648, 1669=>648, 1670=>648, 1671=>648, 1681=>518, 1682=>518, 1685=>613, 1688=>518, 1697=>1045,
|
|
||||||
1700=>1045, 1702=>1045, 1705=>921, 1711=>921, 1717=>781, 1722=>768, 1727=>648, 1734=>559, 1740=>825, 1742=>825, 1749=>531, 1776=>549, 1777=>549, 1778=>549, 1779=>549, 1780=>549,
|
|
||||||
1781=>549, 1782=>549, 1783=>549, 1784=>549, 1785=>549, 3647=>668, 3713=>710, 3714=>673, 3716=>674, 3719=>512, 3720=>668, 3722=>669, 3725=>685, 3732=>635, 3733=>633, 3734=>672,
|
|
||||||
3735=>737, 3737=>657, 3738=>654, 3739=>654, 3740=>830, 3741=>744, 3742=>779, 3743=>779, 3745=>752, 3746=>685, 3747=>692, 3749=>691, 3751=>642, 3754=>744, 3755=>928, 3757=>651,
|
|
||||||
3758=>705, 3759=>840, 3760=>620, 3761=>0, 3762=>549, 3763=>549, 3764=>0, 3765=>0, 3766=>0, 3767=>0, 3768=>0, 3769=>0, 3771=>0, 3772=>0, 3773=>603, 3776=>464,
|
|
||||||
3777=>774, 3778=>464, 3779=>584, 3780=>569, 3782=>683, 3784=>0, 3785=>0, 3786=>0, 3787=>0, 3788=>0, 3789=>0, 3804=>1227, 3805=>1227, 5121=>696, 5122=>696, 5123=>696,
|
|
||||||
5124=>696, 5125=>814, 5126=>814, 5127=>814, 5129=>814, 5130=>814, 5131=>814, 5132=>916, 5133=>908, 5134=>916, 5135=>908, 5136=>916, 5137=>908, 5138=>1034, 5139=>1025, 5140=>1034,
|
|
||||||
5141=>1025, 5142=>814, 5143=>1034, 5144=>1028, 5145=>1034, 5146=>1028, 5147=>814, 5149=>278, 5150=>476, 5151=>382, 5152=>382, 5153=>355, 5154=>355, 5155=>355, 5156=>355, 5157=>507,
|
|
||||||
5158=>423, 5159=>278, 5160=>355, 5161=>355, 5162=>355, 5163=>1092, 5164=>888, 5165=>1094, 5166=>1167, 5167=>696, 5168=>696, 5169=>696, 5170=>696, 5171=>797, 5172=>797, 5173=>797,
|
|
||||||
5175=>797, 5176=>797, 5177=>797, 5178=>916, 5179=>908, 5180=>916, 5181=>908, 5182=>916, 5183=>908, 5184=>1034, 5185=>1025, 5186=>1034, 5187=>1025, 5188=>1034, 5189=>1028, 5190=>1034,
|
|
||||||
5191=>1028, 5192=>797, 5193=>518, 5194=>206, 5196=>730, 5197=>730, 5198=>730, 5199=>730, 5200=>734, 5201=>734, 5202=>734, 5204=>734, 5205=>734, 5206=>734, 5207=>950, 5208=>943,
|
|
||||||
5209=>950, 5210=>943, 5211=>950, 5212=>943, 5213=>954, 5214=>949, 5215=>954, 5216=>949, 5217=>954, 5218=>946, 5219=>954, 5220=>946, 5221=>954, 5222=>493, 5223=>904, 5224=>904,
|
|
||||||
5225=>921, 5226=>915, 5227=>668, 5228=>668, 5229=>668, 5230=>668, 5231=>668, 5232=>680, 5233=>668, 5234=>668, 5235=>668, 5236=>926, 5237=>877, 5238=>882, 5239=>877, 5240=>882,
|
|
||||||
5241=>877, 5242=>926, 5243=>877, 5244=>926, 5245=>877, 5246=>882, 5247=>877, 5248=>882, 5249=>877, 5250=>882, 5251=>451, 5252=>451, 5253=>844, 5254=>844, 5255=>844, 5256=>844,
|
|
||||||
5257=>668, 5258=>668, 5259=>668, 5260=>668, 5261=>668, 5262=>680, 5263=>668, 5264=>668, 5265=>668, 5266=>926, 5267=>877, 5268=>926, 5269=>877, 5270=>926, 5271=>877, 5272=>926,
|
|
||||||
5273=>877, 5274=>926, 5275=>877, 5276=>926, 5277=>877, 5278=>926, 5279=>877, 5280=>926, 5281=>451, 5282=>451, 5283=>563, 5284=>563, 5285=>563, 5286=>563, 5287=>563, 5288=>601,
|
|
||||||
5289=>563, 5290=>563, 5291=>563, 5292=>793, 5293=>769, 5294=>777, 5295=>786, 5296=>777, 5297=>786, 5298=>793, 5299=>786, 5300=>793, 5301=>786, 5302=>777, 5303=>786, 5304=>777,
|
|
||||||
5305=>786, 5306=>777, 5307=>392, 5308=>493, 5309=>392, 5312=>889, 5313=>889, 5314=>889, 5315=>889, 5316=>838, 5317=>838, 5318=>838, 5319=>838, 5320=>838, 5321=>1114, 5322=>1122,
|
|
||||||
5323=>1080, 5324=>1105, 5325=>1080, 5326=>1105, 5327=>838, 5328=>593, 5329=>447, 5330=>593, 5331=>889, 5332=>889, 5333=>889, 5334=>889, 5335=>838, 5336=>838, 5337=>838, 5338=>838,
|
|
||||||
5339=>838, 5340=>1107, 5341=>1122, 5342=>1155, 5343=>1105, 5344=>1155, 5345=>1105, 5346=>1105, 5347=>1093, 5348=>1105, 5349=>1093, 5350=>1155, 5351=>1105, 5352=>1155, 5353=>1105, 5354=>593,
|
|
||||||
5356=>797, 5357=>657, 5358=>657, 5359=>657, 5360=>657, 5361=>657, 5362=>680, 5363=>657, 5364=>657, 5365=>657, 5366=>897, 5367=>862, 5368=>870, 5369=>890, 5370=>870, 5371=>890,
|
|
||||||
5372=>897, 5373=>862, 5374=>897, 5375=>862, 5376=>870, 5377=>890, 5378=>870, 5379=>890, 5380=>870, 5381=>443, 5382=>414, 5383=>443, 5392=>831, 5393=>831, 5394=>831, 5395=>1022,
|
|
||||||
5396=>1022, 5397=>1022, 5398=>1022, 5399=>1088, 5400=>1081, 5401=>1088, 5402=>1081, 5403=>1088, 5404=>1081, 5405=>1288, 5406=>1278, 5407=>1288, 5408=>1278, 5409=>1288, 5410=>1278, 5411=>1288,
|
|
||||||
5412=>1278, 5413=>671, 5414=>698, 5415=>698, 5416=>698, 5417=>698, 5418=>698, 5419=>698, 5420=>698, 5421=>698, 5422=>698, 5423=>902, 5424=>903, 5425=>911, 5426=>896, 5427=>911,
|
|
||||||
5428=>896, 5429=>902, 5430=>903, 5431=>902, 5432=>903, 5433=>911, 5434=>896, 5435=>911, 5436=>896, 5437=>911, 5438=>445, 5440=>355, 5441=>458, 5442=>929, 5443=>929, 5444=>878,
|
|
||||||
5445=>878, 5446=>878, 5447=>878, 5448=>659, 5449=>659, 5450=>659, 5451=>659, 5452=>659, 5453=>659, 5454=>902, 5455=>863, 5456=>445, 5458=>797, 5459=>696, 5460=>696, 5461=>696,
|
|
||||||
5462=>696, 5463=>835, 5464=>835, 5465=>835, 5466=>835, 5467=>1055, 5468=>1028, 5469=>542, 5470=>730, 5471=>730, 5472=>730, 5473=>730, 5474=>730, 5475=>730, 5476=>734, 5477=>734,
|
|
||||||
5478=>734, 5479=>734, 5480=>954, 5481=>946, 5482=>493, 5492=>879, 5493=>879, 5494=>879, 5495=>879, 5496=>879, 5497=>879, 5498=>879, 5499=>556, 5500=>753, 5501=>458, 5502=>1114,
|
|
||||||
5503=>1114, 5504=>1114, 5505=>1114, 5506=>1114, 5507=>1114, 5508=>1114, 5509=>890, 5514=>879, 5515=>879, 5516=>879, 5517=>879, 5518=>1432, 5519=>1432, 5520=>1432, 5521=>1165, 5522=>1165,
|
|
||||||
5523=>1432, 5524=>1432, 5525=>763, 5526=>1146, 5536=>889, 5537=>889, 5538=>838, 5539=>838, 5540=>838, 5541=>838, 5542=>593, 5543=>698, 5544=>698, 5545=>698, 5546=>698, 5547=>698,
|
|
||||||
5548=>698, 5549=>698, 5550=>445, 5551=>668, 5598=>747, 5601=>747, 5702=>446, 5703=>446, 5742=>371, 5743=>1114, 5744=>1432, 5745=>1814, 5746=>1814, 5747=>1548, 5748=>1510, 5749=>1814,
|
|
||||||
5750=>1814, 7424=>586, 7425=>750, 7426=>943, 7427=>547, 7428=>533, 7429=>608, 7430=>608, 7431=>502, 7432=>501, 7433=>308, 7434=>444, 7435=>598, 7436=>485, 7437=>735, 7438=>630,
|
|
||||||
7439=>618, 7440=>533, 7441=>594, 7442=>594, 7443=>594, 7444=>984, 7446=>618, 7447=>618, 7448=>500, 7449=>578, 7450=>578, 7451=>521, 7452=>571, 7453=>663, 7454=>853, 7455=>625,
|
|
||||||
7456=>586, 7457=>831, 7458=>523, 7459=>581, 7462=>485, 7463=>586, 7464=>622, 7465=>500, 7466=>703, 7467=>659, 7468=>438, 7469=>615, 7470=>432, 7472=>470, 7473=>387, 7474=>387,
|
|
||||||
7475=>465, 7476=>474, 7477=>211, 7478=>211, 7479=>439, 7480=>361, 7481=>563, 7482=>474, 7483=>474, 7484=>481, 7485=>458, 7486=>415, 7487=>436, 7488=>387, 7489=>460, 7490=>625,
|
|
||||||
7491=>412, 7492=>412, 7493=>431, 7494=>641, 7495=>431, 7496=>431, 7497=>431, 7498=>431, 7499=>347, 7500=>347, 7501=>431, 7502=>197, 7503=>438, 7504=>597, 7505=>410, 7506=>439,
|
|
||||||
7507=>372, 7508=>439, 7509=>439, 7510=>431, 7511=>349, 7512=>410, 7513=>416, 7514=>597, 7515=>451, 7517=>405, 7518=>386, 7519=>389, 7520=>443, 7521=>365, 7522=>197, 7523=>284,
|
|
||||||
7524=>410, 7525=>451, 7526=>405, 7527=>386, 7528=>389, 7529=>443, 7530=>365, 7543=>644, 7544=>474, 7547=>491, 7557=>462, 7579=>431, 7580=>372, 7581=>372, 7582=>439, 7583=>347,
|
|
||||||
7584=>339, 7585=>313, 7586=>431, 7587=>410, 7588=>312, 7589=>253, 7590=>312, 7591=>312, 7592=>388, 7593=>293, 7594=>296, 7595=>333, 7596=>598, 7597=>597, 7598=>505, 7599=>505,
|
|
||||||
7600=>403, 7601=>439, 7602=>488, 7603=>379, 7604=>356, 7605=>349, 7606=>524, 7607=>444, 7608=>359, 7609=>405, 7610=>451, 7611=>375, 7612=>471, 7613=>422, 7614=>409, 7615=>382,
|
|
||||||
7620=>0, 7621=>0, 7622=>0, 7623=>0, 7624=>0, 7625=>0, 7680=>696, 7681=>607, 7682=>686, 7683=>644, 7684=>686, 7685=>644, 7686=>686, 7687=>644, 7688=>660, 7689=>533,
|
|
||||||
7690=>747, 7691=>644, 7692=>747, 7693=>644, 7694=>747, 7695=>644, 7696=>747, 7697=>644, 7698=>747, 7699=>644, 7700=>615, 7701=>610, 7702=>615, 7703=>610, 7704=>615, 7705=>610,
|
|
||||||
7706=>615, 7707=>610, 7708=>615, 7709=>610, 7710=>615, 7711=>391, 7712=>738, 7713=>644, 7714=>753, 7715=>641, 7716=>753, 7717=>641, 7718=>753, 7719=>641, 7720=>753, 7721=>641,
|
|
||||||
7722=>753, 7723=>641, 7724=>334, 7725=>308, 7726=>334, 7727=>308, 7728=>697, 7729=>598, 7730=>697, 7731=>598, 7732=>697, 7733=>598, 7734=>573, 7735=>308, 7736=>573, 7737=>308,
|
|
||||||
7738=>573, 7739=>308, 7740=>573, 7741=>308, 7742=>896, 7743=>938, 7744=>896, 7745=>938, 7746=>896, 7747=>938, 7748=>753, 7749=>641, 7750=>753, 7751=>641, 7752=>753, 7753=>641,
|
|
||||||
7754=>753, 7755=>641, 7756=>765, 7757=>618, 7758=>765, 7759=>618, 7760=>765, 7761=>618, 7762=>765, 7763=>618, 7764=>659, 7765=>644, 7766=>659, 7767=>644, 7768=>693, 7769=>444,
|
|
||||||
7770=>693, 7771=>444, 7772=>693, 7773=>444, 7774=>693, 7775=>444, 7776=>648, 7777=>536, 7778=>648, 7779=>536, 7780=>648, 7781=>536, 7782=>648, 7783=>536, 7784=>648, 7785=>536,
|
|
||||||
7786=>614, 7787=>430, 7788=>614, 7789=>430, 7790=>614, 7791=>430, 7792=>614, 7793=>430, 7794=>730, 7795=>641, 7796=>730, 7797=>641, 7798=>730, 7799=>641, 7800=>730, 7801=>641,
|
|
||||||
7802=>730, 7803=>641, 7804=>696, 7805=>586, 7806=>696, 7807=>586, 7808=>993, 7809=>831, 7810=>993, 7811=>831, 7812=>993, 7813=>831, 7814=>993, 7815=>831, 7816=>993, 7817=>831,
|
|
||||||
7818=>694, 7819=>580, 7820=>694, 7821=>580, 7822=>651, 7823=>586, 7824=>652, 7825=>523, 7826=>652, 7827=>523, 7828=>652, 7829=>523, 7830=>641, 7831=>430, 7832=>831, 7833=>586,
|
|
||||||
7834=>607, 7835=>391, 7840=>696, 7841=>607, 7842=>696, 7843=>607, 7844=>696, 7845=>607, 7846=>696, 7847=>607, 7848=>696, 7849=>607, 7850=>696, 7851=>607, 7852=>696, 7853=>607,
|
|
||||||
7854=>696, 7855=>607, 7856=>696, 7857=>607, 7858=>696, 7859=>607, 7860=>696, 7861=>607, 7862=>696, 7863=>607, 7864=>615, 7865=>610, 7866=>615, 7867=>610, 7868=>615, 7869=>610,
|
|
||||||
7870=>615, 7871=>610, 7872=>615, 7873=>610, 7874=>615, 7875=>610, 7876=>615, 7877=>610, 7878=>615, 7879=>610, 7880=>334, 7881=>308, 7882=>334, 7883=>308, 7884=>765, 7885=>618,
|
|
||||||
7886=>765, 7887=>618, 7888=>765, 7889=>618, 7890=>765, 7891=>618, 7892=>765, 7893=>618, 7894=>765, 7895=>618, 7896=>765, 7897=>618, 7898=>786, 7899=>618, 7900=>786, 7901=>618,
|
|
||||||
7902=>786, 7903=>618, 7904=>786, 7905=>618, 7906=>786, 7907=>618, 7908=>730, 7909=>641, 7910=>730, 7911=>641, 7912=>751, 7913=>641, 7914=>751, 7915=>641, 7916=>751, 7917=>641,
|
|
||||||
7918=>751, 7919=>641, 7920=>751, 7921=>641, 7922=>651, 7923=>586, 7924=>651, 7925=>586, 7926=>651, 7927=>586, 7928=>651, 7929=>586, 7936=>618, 7937=>618, 7938=>618, 7939=>618,
|
|
||||||
7940=>618, 7941=>618, 7942=>618, 7943=>618, 7944=>696, 7945=>696, 7946=>937, 7947=>939, 7948=>841, 7949=>866, 7950=>751, 7951=>773, 7952=>501, 7953=>501, 7954=>501, 7955=>501,
|
|
||||||
7956=>501, 7957=>501, 7960=>712, 7961=>715, 7962=>989, 7963=>986, 7964=>920, 7965=>947, 7968=>641, 7969=>641, 7970=>641, 7971=>641, 7972=>641, 7973=>641, 7974=>641, 7975=>641,
|
|
||||||
7976=>851, 7977=>856, 7978=>1125, 7979=>1125, 7980=>1062, 7981=>1085, 7982=>948, 7983=>956, 7984=>351, 7985=>351, 7986=>351, 7987=>351, 7988=>351, 7989=>351, 7990=>351, 7991=>351,
|
|
||||||
7992=>435, 7993=>440, 7994=>699, 7995=>707, 7996=>641, 7997=>664, 7998=>544, 7999=>544, 8000=>618, 8001=>618, 8002=>618, 8003=>618, 8004=>618, 8005=>618, 8008=>802, 8009=>839,
|
|
||||||
8010=>1099, 8011=>1101, 8012=>947, 8013=>974, 8016=>607, 8017=>607, 8018=>607, 8019=>607, 8020=>607, 8021=>607, 8022=>607, 8023=>607, 8025=>837, 8027=>1065, 8029=>1079, 8031=>944,
|
|
||||||
8032=>782, 8033=>782, 8034=>782, 8035=>782, 8036=>782, 8037=>782, 8038=>782, 8039=>782, 8040=>817, 8041=>862, 8042=>1121, 8043=>1126, 8044=>968, 8045=>994, 8046=>925, 8047=>968,
|
|
||||||
8048=>618, 8049=>618, 8050=>501, 8051=>501, 8052=>641, 8053=>641, 8054=>351, 8055=>351, 8056=>618, 8057=>618, 8058=>607, 8059=>607, 8060=>782, 8061=>782, 8064=>618, 8065=>618,
|
|
||||||
8066=>618, 8067=>618, 8068=>618, 8069=>618, 8070=>618, 8071=>618, 8072=>696, 8073=>696, 8074=>937, 8075=>939, 8076=>841, 8077=>866, 8078=>751, 8079=>773, 8080=>641, 8081=>641,
|
|
||||||
8082=>641, 8083=>641, 8084=>641, 8085=>641, 8086=>641, 8087=>641, 8088=>851, 8089=>856, 8090=>1125, 8091=>1125, 8092=>1062, 8093=>1085, 8094=>948, 8095=>956, 8096=>782, 8097=>782,
|
|
||||||
8098=>782, 8099=>782, 8100=>782, 8101=>782, 8102=>782, 8103=>782, 8104=>817, 8105=>862, 8106=>1121, 8107=>1126, 8108=>968, 8109=>994, 8110=>925, 8111=>968, 8112=>618, 8113=>618,
|
|
||||||
8114=>618, 8115=>618, 8116=>618, 8118=>618, 8119=>618, 8120=>696, 8121=>696, 8122=>789, 8123=>717, 8124=>696, 8125=>450, 8126=>450, 8127=>450, 8128=>450, 8129=>450, 8130=>641,
|
|
||||||
8131=>641, 8132=>641, 8134=>641, 8135=>641, 8136=>836, 8137=>761, 8138=>972, 8139=>908, 8140=>753, 8141=>450, 8142=>450, 8143=>450, 8144=>351, 8145=>351, 8146=>351, 8147=>351,
|
|
||||||
8150=>351, 8151=>351, 8152=>334, 8153=>334, 8154=>559, 8155=>507, 8157=>450, 8158=>450, 8159=>450, 8160=>607, 8161=>607, 8162=>607, 8163=>607, 8164=>644, 8165=>644, 8166=>607,
|
|
||||||
8167=>607, 8168=>651, 8169=>651, 8170=>918, 8171=>882, 8172=>754, 8173=>450, 8174=>450, 8175=>450, 8178=>782, 8179=>782, 8180=>782, 8182=>782, 8183=>782, 8184=>958, 8185=>801,
|
|
||||||
8186=>976, 8187=>804, 8188=>765, 8189=>450, 8190=>450, 8192=>450, 8193=>900, 8194=>450, 8195=>900, 8196=>296, 8197=>225, 8198=>150, 8199=>626, 8200=>342, 8201=>180, 8202=>89,
|
|
||||||
8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>374, 8209=>374, 8210=>626, 8213=>900, 8214=>450, 8215=>450, 8219=>342, 8223=>591, 8227=>575, 8228=>299, 8229=>600,
|
|
||||||
8231=>313, 8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>180, 8241=>1698, 8242=>237, 8243=>402, 8244=>567, 8245=>237, 8246=>402, 8247=>567, 8248=>659, 8251=>875,
|
|
||||||
8252=>564, 8253=>522, 8254=>450, 8255=>745, 8256=>745, 8257=>296, 8258=>920, 8259=>450, 8260=>410, 8261=>411, 8262=>411, 8263=>927, 8264=>746, 8265=>746, 8266=>461, 8267=>572,
|
|
||||||
8268=>450, 8269=>450, 8270=>470, 8271=>360, 8272=>745, 8273=>470, 8274=>500, 8275=>754, 8276=>745, 8277=>754, 8278=>615, 8279=>731, 8280=>754, 8281=>754, 8282=>342, 8283=>784,
|
|
||||||
8284=>754, 8285=>342, 8286=>342, 8287=>200, 8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>394, 8305=>197,
|
|
||||||
8308=>394, 8309=>394, 8310=>394, 8311=>394, 8312=>394, 8313=>394, 8314=>475, 8315=>475, 8316=>475, 8317=>259, 8318=>259, 8319=>410, 8320=>394, 8321=>394, 8322=>394, 8323=>394,
|
|
||||||
8324=>394, 8325=>394, 8326=>394, 8327=>394, 8328=>394, 8329=>394, 8330=>475, 8331=>475, 8332=>475, 8333=>259, 8334=>259, 8336=>412, 8337=>431, 8338=>439, 8339=>371, 8340=>431,
|
|
||||||
8352=>836, 8353=>626, 8354=>626, 8355=>626, 8356=>626, 8357=>938, 8358=>753, 8359=>1366, 8360=>1084, 8361=>993, 8362=>813, 8363=>626, 8365=>626, 8366=>614, 8367=>1252, 8368=>626,
|
|
||||||
8369=>626, 8370=>626, 8371=>626, 8372=>773, 8373=>626, 8400=>0, 8401=>0, 8406=>0, 8407=>0, 8448=>1007, 8449=>1053, 8450=>660, 8451=>1090, 8452=>806, 8453=>982, 8454=>1029,
|
|
||||||
8455=>553, 8456=>628, 8457=>978, 8459=>965, 8460=>822, 8461=>765, 8462=>641, 8463=>641, 8464=>544, 8465=>624, 8466=>781, 8467=>424, 8468=>876, 8469=>753, 8470=>1083, 8471=>900,
|
|
||||||
8472=>627, 8473=>631, 8474=>765, 8475=>789, 8476=>732, 8477=>713, 8478=>807, 8479=>639, 8480=>917, 8481=>1152, 8483=>679, 8484=>652, 8485=>520, 8486=>765, 8487=>692, 8488=>686,
|
|
||||||
8489=>304, 8490=>697, 8491=>696, 8492=>835, 8493=>699, 8494=>769, 8495=>572, 8496=>664, 8497=>729, 8498=>615, 8499=>1074, 8500=>418, 8501=>714, 8502=>662, 8503=>453, 8504=>625,
|
|
||||||
8505=>342, 8506=>851, 8507=>1213, 8508=>710, 8509=>663, 8510=>586, 8511=>760, 8512=>756, 8513=>697, 8514=>501, 8515=>573, 8516=>684, 8517=>747, 8518=>644, 8519=>610, 8520=>308,
|
|
||||||
8521=>308, 8523=>785, 8526=>492, 8531=>932, 8532=>932, 8533=>932, 8534=>932, 8535=>932, 8536=>932, 8537=>932, 8538=>932, 8539=>932, 8540=>932, 8541=>932, 8542=>932, 8543=>554,
|
|
||||||
8544=>334, 8545=>593, 8546=>851, 8547=>989, 8548=>696, 8549=>989, 8550=>1247, 8551=>1505, 8552=>1008, 8553=>694, 8554=>1008, 8555=>1266, 8556=>573, 8557=>660, 8558=>747, 8559=>896,
|
|
||||||
8560=>308, 8561=>546, 8562=>785, 8563=>885, 8564=>586, 8565=>866, 8566=>1104, 8567=>1342, 8568=>872, 8569=>580, 8570=>872, 8571=>1110, 8572=>308, 8573=>533, 8574=>644, 8575=>938,
|
|
||||||
8576=>1160, 8577=>747, 8578=>1160, 8579=>660, 8580=>533, 8592=>754, 8593=>754, 8594=>754, 8595=>754, 8596=>754, 8597=>754, 8598=>754, 8599=>754, 8600=>754, 8601=>754, 8602=>754,
|
|
||||||
8603=>754, 8604=>754, 8605=>754, 8606=>754, 8607=>754, 8608=>754, 8609=>754, 8610=>754, 8611=>754, 8612=>754, 8613=>754, 8614=>754, 8615=>754, 8616=>754, 8617=>754, 8618=>754,
|
|
||||||
8619=>754, 8620=>754, 8621=>754, 8622=>754, 8623=>754, 8624=>754, 8625=>754, 8626=>754, 8627=>754, 8628=>754, 8629=>754, 8630=>754, 8631=>754, 8632=>754, 8633=>754, 8634=>754,
|
|
||||||
8635=>754, 8636=>754, 8637=>754, 8638=>754, 8639=>754, 8640=>754, 8641=>754, 8642=>754, 8643=>754, 8644=>754, 8645=>754, 8646=>754, 8647=>754, 8648=>754, 8649=>754, 8650=>754,
|
|
||||||
8651=>754, 8652=>754, 8653=>754, 8654=>754, 8655=>754, 8656=>754, 8657=>754, 8658=>754, 8659=>754, 8660=>754, 8661=>754, 8662=>754, 8663=>754, 8664=>754, 8665=>754, 8666=>754,
|
|
||||||
8667=>754, 8668=>754, 8669=>754, 8670=>754, 8671=>754, 8672=>754, 8673=>754, 8674=>754, 8675=>754, 8676=>754, 8677=>754, 8678=>754, 8679=>754, 8680=>754, 8681=>754, 8682=>754,
|
|
||||||
8683=>754, 8684=>754, 8685=>754, 8686=>754, 8687=>754, 8688=>754, 8689=>754, 8690=>754, 8691=>754, 8692=>754, 8693=>754, 8694=>754, 8695=>754, 8696=>754, 8697=>754, 8698=>754,
|
|
||||||
8699=>754, 8700=>754, 8701=>754, 8702=>754, 8703=>754, 8704=>696, 8705=>626, 8706=>489, 8707=>615, 8708=>615, 8709=>771, 8710=>627, 8711=>627, 8712=>807, 8713=>807, 8714=>675,
|
|
||||||
8715=>807, 8716=>807, 8717=>675, 8718=>572, 8719=>708, 8720=>708, 8721=>646, 8722=>754, 8723=>754, 8724=>626, 8725=>150, 8726=>626, 8727=>754, 8728=>563, 8729=>342, 8730=>600,
|
|
||||||
8731=>600, 8732=>600, 8733=>602, 8734=>750, 8735=>754, 8736=>807, 8737=>807, 8738=>754, 8739=>450, 8740=>450, 8741=>450, 8742=>450, 8743=>730, 8744=>730, 8745=>730, 8746=>730,
|
|
||||||
8747=>549, 8748=>835, 8749=>1165, 8750=>506, 8751=>879, 8752=>1181, 8753=>506, 8754=>506, 8755=>506, 8756=>626, 8757=>626, 8758=>264, 8759=>626, 8760=>754, 8761=>754, 8762=>754,
|
|
||||||
8763=>754, 8764=>754, 8765=>754, 8766=>754, 8767=>754, 8768=>337, 8769=>754, 8770=>754, 8771=>754, 8772=>754, 8773=>754, 8774=>754, 8775=>754, 8776=>754, 8777=>754, 8778=>754,
|
|
||||||
8779=>754, 8780=>754, 8781=>754, 8782=>754, 8783=>754, 8784=>754, 8785=>754, 8786=>754, 8787=>754, 8788=>956, 8789=>956, 8790=>754, 8791=>754, 8792=>754, 8793=>754, 8794=>754,
|
|
||||||
8795=>754, 8796=>754, 8797=>754, 8798=>754, 8799=>754, 8800=>754, 8801=>754, 8802=>754, 8803=>754, 8804=>754, 8805=>754, 8806=>754, 8807=>754, 8808=>756, 8809=>756, 8810=>942,
|
|
||||||
8811=>942, 8812=>450, 8813=>754, 8814=>754, 8815=>754, 8816=>754, 8817=>754, 8818=>754, 8819=>754, 8820=>754, 8821=>754, 8822=>754, 8823=>754, 8824=>754, 8825=>754, 8826=>754,
|
|
||||||
8827=>754, 8828=>754, 8829=>754, 8830=>754, 8831=>754, 8832=>754, 8833=>754, 8834=>754, 8835=>754, 8836=>754, 8837=>754, 8838=>754, 8839=>754, 8840=>754, 8841=>754, 8842=>754,
|
|
||||||
8843=>754, 8844=>730, 8845=>730, 8846=>730, 8847=>754, 8848=>754, 8849=>754, 8850=>754, 8851=>678, 8852=>678, 8853=>754, 8854=>754, 8855=>754, 8856=>754, 8857=>754, 8858=>754,
|
|
||||||
8859=>754, 8860=>754, 8861=>754, 8862=>754, 8863=>754, 8864=>754, 8865=>754, 8866=>822, 8867=>822, 8868=>822, 8869=>822, 8870=>488, 8871=>488, 8872=>822, 8873=>822, 8874=>822,
|
|
||||||
8875=>822, 8876=>822, 8877=>822, 8878=>822, 8879=>822, 8882=>754, 8883=>754, 8884=>754, 8885=>754, 8886=>900, 8887=>900, 8888=>754, 8889=>754, 8890=>488, 8891=>730, 8892=>730,
|
|
||||||
8893=>730, 8896=>758, 8897=>758, 8898=>758, 8899=>758, 8900=>444, 8901=>342, 8902=>563, 8904=>900, 8905=>900, 8906=>900, 8907=>900, 8908=>900, 8909=>754, 8918=>754, 8919=>754,
|
|
||||||
8920=>1280, 8921=>1280, 8922=>754, 8923=>754, 8924=>754, 8925=>754, 8926=>754, 8927=>754, 8928=>754, 8929=>754, 8930=>754, 8931=>754, 8932=>754, 8933=>754, 8934=>754, 8935=>754,
|
|
||||||
8936=>754, 8937=>754, 8938=>754, 8939=>754, 8940=>754, 8941=>754, 8946=>1042, 8947=>807, 8948=>675, 8949=>807, 8950=>807, 8951=>675, 8952=>807, 8953=>807, 8954=>1042, 8955=>807,
|
|
||||||
8956=>675, 8957=>807, 8958=>675, 8959=>807, 8962=>644, 8966=>826, 8968=>411, 8969=>411, 8970=>411, 8971=>411, 8976=>754, 8977=>484, 8984=>835, 8985=>754, 8992=>549, 8993=>549,
|
|
||||||
8997=>900, 9000=>1299, 9085=>776, 9115=>450, 9116=>450, 9117=>450, 9118=>450, 9119=>450, 9120=>450, 9121=>450, 9122=>450, 9123=>450, 9124=>450, 9125=>450, 9126=>450, 9127=>675,
|
|
||||||
9128=>675, 9129=>675, 9130=>675, 9131=>675, 9132=>675, 9133=>675, 9134=>549, 9166=>754, 9167=>850, 9250=>644, 9251=>644, 9312=>762, 9313=>762, 9314=>762, 9315=>762, 9316=>762,
|
|
||||||
9317=>762, 9318=>762, 9319=>762, 9320=>762, 9321=>762, 9600=>692, 9601=>692, 9602=>692, 9603=>692, 9604=>692, 9605=>692, 9606=>692, 9607=>692, 9608=>692, 9609=>692, 9610=>692,
|
|
||||||
9611=>692, 9612=>692, 9613=>692, 9614=>692, 9615=>692, 9616=>692, 9617=>692, 9618=>692, 9619=>692, 9620=>692, 9621=>692, 9622=>692, 9623=>692, 9624=>692, 9625=>692, 9626=>692,
|
|
||||||
9627=>692, 9628=>692, 9629=>692, 9630=>692, 9631=>692, 9632=>850, 9633=>850, 9634=>850, 9635=>850, 9636=>850, 9637=>850, 9638=>850, 9639=>850, 9640=>850, 9641=>850, 9642=>610,
|
|
||||||
9643=>610, 9644=>850, 9645=>850, 9646=>495, 9647=>495, 9648=>692, 9649=>692, 9650=>692, 9651=>692, 9652=>452, 9653=>452, 9654=>692, 9655=>692, 9656=>452, 9657=>452, 9658=>692,
|
|
||||||
9659=>692, 9660=>692, 9661=>692, 9662=>452, 9663=>452, 9664=>692, 9665=>692, 9666=>452, 9667=>452, 9668=>692, 9669=>692, 9670=>692, 9671=>692, 9672=>692, 9673=>785, 9674=>444,
|
|
||||||
9675=>785, 9676=>785, 9677=>785, 9678=>785, 9679=>785, 9680=>785, 9681=>785, 9682=>785, 9683=>785, 9684=>785, 9685=>785, 9686=>474, 9687=>474, 9688=>756, 9689=>873, 9690=>873,
|
|
||||||
9691=>873, 9692=>348, 9693=>348, 9694=>348, 9695=>348, 9696=>692, 9697=>692, 9698=>692, 9699=>692, 9700=>692, 9701=>692, 9702=>575, 9703=>850, 9704=>850, 9705=>850, 9706=>850,
|
|
||||||
9707=>850, 9708=>692, 9709=>692, 9710=>692, 9711=>1007, 9712=>850, 9713=>850, 9714=>850, 9715=>850, 9716=>785, 9717=>785, 9718=>785, 9719=>785, 9720=>692, 9721=>692, 9722=>692,
|
|
||||||
9723=>747, 9724=>747, 9725=>659, 9726=>659, 9727=>692, 9728=>807, 9729=>900, 9730=>807, 9731=>807, 9732=>807, 9733=>807, 9734=>807, 9735=>515, 9736=>806, 9737=>807, 9738=>799,
|
|
||||||
9739=>799, 9740=>604, 9741=>911, 9742=>1121, 9743=>1125, 9744=>807, 9745=>807, 9746=>807, 9747=>479, 9748=>807, 9749=>807, 9750=>807, 9751=>807, 9752=>807, 9753=>807, 9754=>807,
|
|
||||||
9755=>807, 9756=>807, 9757=>548, 9758=>807, 9759=>548, 9760=>807, 9761=>807, 9762=>807, 9763=>807, 9764=>602, 9765=>671, 9766=>584, 9767=>705, 9768=>490, 9769=>807, 9770=>807,
|
|
||||||
9771=>807, 9772=>639, 9773=>807, 9774=>807, 9775=>807, 9776=>807, 9777=>807, 9778=>807, 9779=>807, 9780=>807, 9781=>807, 9782=>807, 9783=>807, 9784=>807, 9785=>807, 9786=>807,
|
|
||||||
9787=>807, 9788=>807, 9789=>807, 9790=>807, 9791=>552, 9792=>658, 9793=>658, 9794=>807, 9795=>807, 9796=>807, 9797=>807, 9798=>807, 9799=>807, 9800=>807, 9801=>807, 9802=>807,
|
|
||||||
9803=>807, 9804=>807, 9805=>807, 9806=>807, 9807=>807, 9808=>807, 9809=>807, 9810=>807, 9811=>807, 9812=>807, 9813=>807, 9814=>807, 9815=>807, 9816=>807, 9817=>807, 9818=>807,
|
|
||||||
9819=>807, 9820=>807, 9821=>807, 9822=>807, 9823=>807, 9824=>807, 9825=>807, 9826=>807, 9827=>807, 9828=>807, 9829=>807, 9830=>807, 9831=>807, 9832=>807, 9833=>424, 9834=>574,
|
|
||||||
9835=>807, 9836=>807, 9837=>424, 9838=>321, 9839=>435, 9840=>673, 9841=>689, 9842=>807, 9843=>807, 9844=>807, 9845=>807, 9846=>807, 9847=>807, 9848=>807, 9849=>807, 9850=>807,
|
|
||||||
9851=>807, 9852=>807, 9853=>807, 9854=>807, 9855=>807, 9856=>782, 9857=>782, 9858=>782, 9859=>782, 9860=>782, 9861=>782, 9862=>807, 9863=>807, 9864=>807, 9865=>807, 9866=>807,
|
|
||||||
9867=>807, 9868=>807, 9869=>807, 9870=>807, 9871=>807, 9872=>807, 9873=>807, 9874=>807, 9875=>807, 9876=>807, 9877=>487, 9878=>807, 9879=>807, 9880=>807, 9881=>807, 9882=>807,
|
|
||||||
9883=>807, 9884=>807, 9888=>807, 9889=>632, 9890=>754, 9891=>754, 9892=>754, 9893=>754, 9894=>754, 9895=>754, 9896=>754, 9897=>754, 9898=>754, 9899=>754, 9900=>754, 9901=>754,
|
|
||||||
9902=>754, 9903=>754, 9904=>759, 9905=>754, 9906=>658, 9985=>754, 9986=>754, 9987=>754, 9988=>754, 9990=>754, 9991=>754, 9992=>754, 9993=>754, 9996=>754, 9997=>754, 9998=>754,
|
|
||||||
9999=>754, 10000=>754, 10001=>754, 10002=>754, 10003=>754, 10004=>754, 10005=>754, 10006=>754, 10007=>754, 10008=>754, 10009=>754, 10010=>754, 10011=>754, 10012=>754, 10013=>754, 10014=>754,
|
|
||||||
10015=>754, 10016=>754, 10017=>754, 10018=>754, 10019=>754, 10020=>754, 10021=>754, 10022=>754, 10023=>754, 10025=>754, 10026=>754, 10027=>754, 10028=>754, 10029=>754, 10030=>754, 10031=>754,
|
|
||||||
10032=>754, 10033=>754, 10034=>754, 10035=>754, 10036=>754, 10037=>754, 10038=>754, 10039=>754, 10040=>754, 10041=>754, 10042=>754, 10043=>754, 10044=>754, 10045=>754, 10046=>754, 10047=>754,
|
|
||||||
10048=>754, 10049=>754, 10050=>754, 10051=>754, 10052=>754, 10053=>754, 10054=>754, 10055=>754, 10056=>754, 10057=>754, 10058=>754, 10059=>754, 10061=>807, 10063=>807, 10064=>807, 10065=>807,
|
|
||||||
10066=>807, 10070=>807, 10072=>754, 10073=>754, 10074=>754, 10075=>312, 10076=>312, 10077=>528, 10078=>528, 10081=>754, 10082=>754, 10083=>754, 10084=>754, 10085=>754, 10086=>754, 10087=>754,
|
|
||||||
10088=>754, 10089=>754, 10090=>754, 10091=>754, 10092=>754, 10093=>754, 10094=>754, 10095=>754, 10096=>754, 10097=>754, 10098=>754, 10099=>754, 10100=>754, 10101=>754, 10102=>762, 10103=>762,
|
|
||||||
10104=>762, 10105=>762, 10106=>762, 10107=>762, 10108=>762, 10109=>762, 10110=>762, 10111=>762, 10112=>754, 10113=>754, 10114=>754, 10115=>754, 10116=>754, 10117=>754, 10118=>754, 10119=>754,
|
|
||||||
10120=>754, 10121=>754, 10122=>754, 10123=>754, 10124=>754, 10125=>754, 10126=>754, 10127=>754, 10128=>754, 10129=>754, 10130=>754, 10131=>754, 10132=>754, 10136=>754, 10137=>754, 10138=>754,
|
|
||||||
10139=>754, 10140=>754, 10141=>754, 10142=>754, 10143=>754, 10144=>754, 10145=>754, 10146=>754, 10147=>754, 10148=>754, 10149=>754, 10150=>754, 10151=>754, 10152=>754, 10153=>754, 10154=>754,
|
|
||||||
10155=>754, 10156=>754, 10157=>754, 10158=>754, 10159=>754, 10161=>754, 10162=>754, 10163=>754, 10164=>754, 10165=>754, 10166=>754, 10167=>754, 10168=>754, 10169=>754, 10170=>754, 10171=>754,
|
|
||||||
10172=>754, 10173=>754, 10174=>754, 10208=>444, 10214=>438, 10215=>438, 10216=>411, 10217=>411, 10218=>648, 10219=>648, 10224=>754, 10225=>754, 10226=>754, 10227=>754, 10228=>1042, 10229=>1290,
|
|
||||||
10230=>1290, 10231=>1290, 10232=>1290, 10233=>1290, 10234=>1290, 10235=>1290, 10236=>1290, 10237=>1290, 10238=>1290, 10239=>1290, 10240=>703, 10241=>703, 10242=>703, 10243=>703, 10244=>703, 10245=>703,
|
|
||||||
10246=>703, 10247=>703, 10248=>703, 10249=>703, 10250=>703, 10251=>703, 10252=>703, 10253=>703, 10254=>703, 10255=>703, 10256=>703, 10257=>703, 10258=>703, 10259=>703, 10260=>703, 10261=>703,
|
|
||||||
10262=>703, 10263=>703, 10264=>703, 10265=>703, 10266=>703, 10267=>703, 10268=>703, 10269=>703, 10270=>703, 10271=>703, 10272=>703, 10273=>703, 10274=>703, 10275=>703, 10276=>703, 10277=>703,
|
|
||||||
10278=>703, 10279=>703, 10280=>703, 10281=>703, 10282=>703, 10283=>703, 10284=>703, 10285=>703, 10286=>703, 10287=>703, 10288=>703, 10289=>703, 10290=>703, 10291=>703, 10292=>703, 10293=>703,
|
|
||||||
10294=>703, 10295=>703, 10296=>703, 10297=>703, 10298=>703, 10299=>703, 10300=>703, 10301=>703, 10302=>703, 10303=>703, 10304=>703, 10305=>703, 10306=>703, 10307=>703, 10308=>703, 10309=>703,
|
|
||||||
10310=>703, 10311=>703, 10312=>703, 10313=>703, 10314=>703, 10315=>703, 10316=>703, 10317=>703, 10318=>703, 10319=>703, 10320=>703, 10321=>703, 10322=>703, 10323=>703, 10324=>703, 10325=>703,
|
|
||||||
10326=>703, 10327=>703, 10328=>703, 10329=>703, 10330=>703, 10331=>703, 10332=>703, 10333=>703, 10334=>703, 10335=>703, 10336=>703, 10337=>703, 10338=>703, 10339=>703, 10340=>703, 10341=>703,
|
|
||||||
10342=>703, 10343=>703, 10344=>703, 10345=>703, 10346=>703, 10347=>703, 10348=>703, 10349=>703, 10350=>703, 10351=>703, 10352=>703, 10353=>703, 10354=>703, 10355=>703, 10356=>703, 10357=>703,
|
|
||||||
10358=>703, 10359=>703, 10360=>703, 10361=>703, 10362=>703, 10363=>703, 10364=>703, 10365=>703, 10366=>703, 10367=>703, 10368=>703, 10369=>703, 10370=>703, 10371=>703, 10372=>703, 10373=>703,
|
|
||||||
10374=>703, 10375=>703, 10376=>703, 10377=>703, 10378=>703, 10379=>703, 10380=>703, 10381=>703, 10382=>703, 10383=>703, 10384=>703, 10385=>703, 10386=>703, 10387=>703, 10388=>703, 10389=>703,
|
|
||||||
10390=>703, 10391=>703, 10392=>703, 10393=>703, 10394=>703, 10395=>703, 10396=>703, 10397=>703, 10398=>703, 10399=>703, 10400=>703, 10401=>703, 10402=>703, 10403=>703, 10404=>703, 10405=>703,
|
|
||||||
10406=>703, 10407=>703, 10408=>703, 10409=>703, 10410=>703, 10411=>703, 10412=>703, 10413=>703, 10414=>703, 10415=>703, 10416=>703, 10417=>703, 10418=>703, 10419=>703, 10420=>703, 10421=>703,
|
|
||||||
10422=>703, 10423=>703, 10424=>703, 10425=>703, 10426=>703, 10427=>703, 10428=>703, 10429=>703, 10430=>703, 10431=>703, 10432=>703, 10433=>703, 10434=>703, 10435=>703, 10436=>703, 10437=>703,
|
|
||||||
10438=>703, 10439=>703, 10440=>703, 10441=>703, 10442=>703, 10443=>703, 10444=>703, 10445=>703, 10446=>703, 10447=>703, 10448=>703, 10449=>703, 10450=>703, 10451=>703, 10452=>703, 10453=>703,
|
|
||||||
10454=>703, 10455=>703, 10456=>703, 10457=>703, 10458=>703, 10459=>703, 10460=>703, 10461=>703, 10462=>703, 10463=>703, 10464=>703, 10465=>703, 10466=>703, 10467=>703, 10468=>703, 10469=>703,
|
|
||||||
10470=>703, 10471=>703, 10472=>703, 10473=>703, 10474=>703, 10475=>703, 10476=>703, 10477=>703, 10478=>703, 10479=>703, 10480=>703, 10481=>703, 10482=>703, 10483=>703, 10484=>703, 10485=>703,
|
|
||||||
10486=>703, 10487=>703, 10488=>703, 10489=>703, 10490=>703, 10491=>703, 10492=>703, 10493=>703, 10494=>703, 10495=>703, 10502=>754, 10503=>754, 10506=>754, 10507=>754, 10560=>754, 10561=>754,
|
|
||||||
10702=>754, 10703=>941, 10704=>941, 10705=>900, 10706=>900, 10707=>900, 10708=>900, 10709=>900, 10731=>444, 10752=>900, 10753=>900, 10754=>900, 10764=>1495, 10765=>506, 10766=>506, 10767=>506,
|
|
||||||
10768=>506, 10769=>506, 10770=>506, 10771=>506, 10772=>506, 10773=>506, 10774=>506, 10775=>506, 10776=>506, 10777=>506, 10778=>506, 10779=>506, 10780=>506, 10877=>754, 10878=>754, 10879=>754,
|
|
||||||
10880=>754, 10881=>754, 10882=>754, 10883=>754, 10884=>754, 10885=>754, 10886=>754, 10887=>754, 10888=>754, 10889=>754, 10890=>754, 10891=>754, 10892=>754, 10893=>754, 10894=>754, 10895=>754,
|
|
||||||
10896=>754, 10897=>754, 10898=>754, 10899=>754, 10900=>754, 10901=>754, 10902=>754, 10903=>754, 10904=>754, 10905=>754, 10906=>754, 10907=>754, 10908=>754, 10909=>754, 10910=>754, 10911=>754,
|
|
||||||
10912=>754, 10926=>754, 10927=>754, 10928=>754, 10929=>754, 10930=>754, 10931=>754, 10932=>754, 10933=>754, 10934=>754, 10935=>754, 10936=>754, 10937=>754, 10938=>754, 11001=>754, 11002=>754,
|
|
||||||
11008=>754, 11009=>754, 11010=>754, 11011=>754, 11012=>754, 11013=>754, 11014=>754, 11015=>754, 11016=>754, 11017=>754, 11018=>754, 11019=>754, 11020=>754, 11021=>754, 11022=>754, 11023=>754,
|
|
||||||
11024=>754, 11025=>754, 11026=>850, 11027=>850, 11028=>850, 11029=>850, 11030=>692, 11031=>692, 11032=>692, 11033=>692, 11034=>850, 11040=>782, 11041=>786, 11042=>786, 11043=>786, 11360=>573,
|
|
||||||
11361=>324, 11362=>573, 11363=>659, 11364=>693, 11365=>607, 11366=>430, 11367=>860, 11368=>641, 11369=>697, 11370=>598, 11371=>652, 11372=>523, 11380=>586, 11381=>584, 11382=>464, 11383=>704,
|
|
||||||
61960=>774, 62047=>647, 63173=>618, 64256=>729, 64257=>667, 64258=>667, 64259=>1003, 64260=>1004, 64261=>727, 64262=>917, 64275=>1249, 64276=>1245, 64277=>1240, 64278=>1245, 64279=>1542, 64285=>334,
|
|
||||||
64287=>623, 64288=>647, 64297=>754, 64298=>867, 64299=>867, 64300=>867, 64301=>867, 64302=>676, 64303=>676, 64304=>676, 64305=>658, 64306=>483, 64307=>615, 64308=>700, 64309=>420, 64310=>468,
|
|
||||||
64312=>692, 64313=>420, 64314=>700, 64315=>675, 64316=>646, 64318=>771, 64320=>479, 64321=>770, 64323=>721, 64324=>699, 64326=>676, 64327=>723, 64328=>700, 64329=>867, 64330=>740, 64331=>334,
|
|
||||||
64332=>658, 64333=>678, 64334=>699, 64338=>904, 64339=>953, 64340=>338, 64341=>367, 64342=>904, 64343=>953, 64344=>338, 64345=>367, 64346=>904, 64347=>953, 64348=>338, 64349=>367, 64350=>904,
|
|
||||||
64351=>953, 64352=>338, 64353=>367, 64354=>904, 64355=>953, 64356=>338, 64357=>367, 64358=>904, 64359=>953, 64360=>338, 64361=>367, 64362=>1045, 64363=>1072, 64364=>589, 64365=>647, 64366=>1045,
|
|
||||||
64367=>1072, 64368=>589, 64369=>647, 64370=>648, 64371=>648, 64372=>648, 64373=>648, 64374=>648, 64375=>648, 64376=>648, 64377=>648, 64378=>648, 64379=>648, 64380=>648, 64381=>648, 64382=>648,
|
|
||||||
64383=>648, 64384=>648, 64385=>648, 64394=>518, 64395=>560, 64396=>518, 64397=>560, 64398=>921, 64399=>921, 64400=>523, 64401=>523, 64402=>921, 64403=>921, 64404=>523, 64405=>523, 64414=>768,
|
|
||||||
64415=>810, 64473=>559, 64474=>564, 64488=>338, 64489=>367, 64508=>825, 64509=>910, 64510=>338, 64511=>367, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0, 65029=>0, 65030=>0,
|
|
||||||
65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0, 65037=>0, 65038=>0, 65039=>0, 65136=>308, 65137=>308, 65138=>308, 65139=>311, 65140=>308, 65142=>308, 65143=>308,
|
|
||||||
65144=>308, 65145=>308, 65146=>308, 65147=>308, 65148=>308, 65149=>308, 65150=>308, 65151=>308, 65152=>460, 65153=>308, 65154=>338, 65155=>308, 65156=>338, 65157=>559, 65158=>564, 65159=>308,
|
|
||||||
65160=>338, 65161=>825, 65162=>825, 65163=>338, 65164=>367, 65165=>308, 65166=>338, 65167=>904, 65168=>953, 65169=>338, 65170=>367, 65171=>531, 65172=>545, 65173=>904, 65174=>953, 65175=>338,
|
|
||||||
65176=>367, 65177=>904, 65178=>953, 65179=>338, 65180=>367, 65181=>648, 65182=>648, 65183=>648, 65184=>648, 65185=>648, 65186=>648, 65187=>648, 65188=>648, 65189=>648, 65190=>648, 65191=>648,
|
|
||||||
65192=>648, 65193=>461, 65194=>520, 65195=>461, 65196=>520, 65197=>518, 65198=>560, 65199=>518, 65200=>560, 65201=>1242, 65202=>1272, 65203=>885, 65204=>916, 65205=>1242, 65206=>1272, 65207=>885,
|
|
||||||
65208=>916, 65209=>1210, 65210=>1228, 65211=>870, 65212=>887, 65213=>1210, 65214=>1228, 65215=>870, 65216=>887, 65217=>935, 65218=>963, 65219=>848, 65220=>876, 65221=>935, 65222=>963, 65223=>848,
|
|
||||||
65224=>876, 65225=>615, 65226=>615, 65227=>615, 65228=>508, 65229=>615, 65230=>615, 65231=>615, 65232=>508, 65233=>1045, 65234=>1072, 65235=>589, 65236=>647, 65237=>804, 65238=>811, 65239=>589,
|
|
||||||
65240=>647, 65241=>825, 65242=>838, 65243=>523, 65244=>523, 65245=>781, 65246=>803, 65247=>338, 65248=>367, 65249=>659, 65250=>706, 65251=>557, 65252=>603, 65253=>768, 65254=>810, 65255=>338,
|
|
||||||
65256=>367, 65257=>531, 65258=>545, 65259=>624, 65260=>594, 65261=>559, 65262=>564, 65263=>825, 65264=>910, 65265=>825, 65266=>910, 65267=>338, 65268=>367, 65269=>670, 65270=>683, 65271=>670,
|
|
||||||
65272=>683, 65273=>670, 65274=>683, 65275=>670, 65276=>683, 65279=>0, 65533=>1002};
|
|
||||||
font[:enc]='';
|
|
||||||
font[:diff]='';
|
|
||||||
font[:file]='DejaVuSansCondensed-Bold.z';
|
|
||||||
font[:ctg]='DejaVuSansCondensed-Bold.ctg.z';
|
|
||||||
font[:originalsize]=456120;
|
|
||||||
end
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user