diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index c3865f3f..e44005a4 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -376,7 +376,7 @@ class ApplicationController < ActionController::Base
def require_admin
return unless require_login
- if !User.current.admin? && @shixun.status > 1
+ if !User.current.admin?
render_403
return false
end
diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb
index 13c24a3e..35f52d26 100644
--- a/app/controllers/managements_controller.rb
+++ b/app/controllers/managements_controller.rb
@@ -32,6 +32,15 @@ class ManagementsController < ApplicationController
# 实训课程等级体系
def subject_level_system
@levels = SubjectLevelSystem.all
+ respond_to do |format|
+ format.js
+ format.html
+ format.xls{
+ time = Time.now.strftime("%Y%m%d")
+ filename = "实训课程体系#{time}.xls"
+ send_data(export_subject_level_system(), :type => 'application/octet-stream', :filename => filename_for_content_disposition(filename))
+ }
+ end
end
# 创建课程等级体系
@@ -4152,7 +4161,7 @@ end
sheet1 = book.create_worksheet :name => "sheet"
blue = Spreadsheet::Format.new :color => :blue, :weight => :bold, :size => 10
sheet1.row(0).default_format = blue
- sheet1.row(0).concat(["姓名", "手机号","邮箱","单位名称", "职位","专业", "学号", "支付方式","支付状态","支付时间", "发票类型", "发票抬头","税务登记号", "发票内容", "备注", "微信支付单号", "报名时间"])
+ sheet1.row(0).concat(["姓名", "手机号","邮箱","单位名称", "职位","专业", "学号", '培训类型', '授课/研究领域' "支付方式","支付状态","支付时间", "发票类型", "发票抬头","税务登记号", "发票内容", "备注", "微信支付单号", "报名时间"])
count_row = 1
trainings.find_each do |t|
sheet1[count_row, 0] = t.name
@@ -4162,16 +4171,18 @@ end
sheet1[count_row, 4] = t.position
sheet1[count_row, 5] = t.major
sheet1[count_row, 6] = t.student_id
- sheet1[count_row, 7] = t.training_payinfo.try(:pay_type_str)
- sheet1[count_row, 8] = t.training_payinfo.try(:pay_status_str)
- sheet1[count_row, 9] = format_time t.training_payinfo.try(:pay_time)
- sheet1[count_row, 10] = t.training_payinfo.try(:invoice_title).present? ? '需要' : '不需要'
- sheet1[count_row, 11] = t.training_payinfo.try(:invoice_title)
- sheet1[count_row, 12] = t.training_payinfo.try(:invoice_no)
- sheet1[count_row, 13] = t.training_payinfo.try(:invoice_content)
- sheet1[count_row, 14] = t.training_payinfo.try(:info)
- sheet1[count_row, 15] = t.training_payinfo.try(:out_trade_no)
- sheet1[count_row, 16] = format_time t.created_at
+ sheet1[count_row, 7] = t.training_category
+ sheet1[count_row, 8] = t.research_field
+ sheet1[count_row, 9] = t.training_payinfo.try(:pay_type_str)
+ sheet1[count_row, 10] = t.training_payinfo.try(:pay_status_str)
+ sheet1[count_row, 11] = format_time t.training_payinfo.try(:pay_time)
+ sheet1[count_row, 12] = t.training_payinfo.try(:invoice_title).present? ? '需要' : '不需要'
+ sheet1[count_row, 13] = t.training_payinfo.try(:invoice_title)
+ sheet1[count_row, 14] = t.training_payinfo.try(:invoice_no)
+ sheet1[count_row, 15] = t.training_payinfo.try(:invoice_content)
+ sheet1[count_row, 16] = t.training_payinfo.try(:info)
+ sheet1[count_row, 17] = t.training_payinfo.try(:out_trade_no)
+ sheet1[count_row, 18] = format_time t.created_at
count_row += 1
end
book.write xls_report
@@ -4286,6 +4297,33 @@ end
return sheet.rows
end
+ def export_subject_level_system
+ xls_report = StringIO.new
+ book = Spreadsheet::Workbook.new
+ sheet1 = book.create_worksheet :name => "实训课程等级体系"
+ blue = Spreadsheet::Format.new :color => :blue, :weight => :bold, :size => 10
+ sheet1.row(0).default_format = blue
+ count_row = 1
+ sheet1.row(0).concat(["序号", "等级", "实训课程名称", "实训课程url", "实训名称"])
+ levels = SubjectLevelSystem.includes(subjects: [stage_shixuns: :shixun]).where(nil)
+ levels.each_with_index do |level, i|
+ sheet1[count_row, 0] = i + 1
+ sheet1[count_row, 1] = level.name
+ level.subjects.each do |subject|
+ sheet1[count_row, 2] = subject.name
+ sheet1[count_row, 3] = "#{Setting.protocol}://#{Setting.host_name}#{subject_path(subject)}"
+ count_row += 1
+ subject.shixuns.each do |shixun|
+ sheet1[count_row, 4] = shixun.name
+ count_row += 1
+ end
+ end
+ count_row += 1
+ end
+ book.write xls_report
+ xls_report.string
+ end
+
def shixun_feedback_xls shixun_ids, beginTime, endTime
xls_report = StringIO.new
book = Spreadsheet::Workbook.new
diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb
index 56766264..e47938ac 100644
--- a/app/controllers/shixuns_controller.rb
+++ b/app/controllers/shixuns_controller.rb
@@ -10,7 +10,7 @@ class ShixunsController < ApplicationController
before_filter :view_allow, :only => [:collaborators, :propaedeutics, :shixun_discuss, :ranking_list]
before_filter :require_manager, :only => [ :settings, :add_script, :publish, :collaborators_delete, :shixun_members_added, :add_collaborators, :update, :destroy]
before_filter :validation_email, :only => [:new]
- before_filter :require_admin, :only => [:destroy]
+ #before_filter :require_manager, :only => [:destroy]
# 移动云ToC模式权限控制
# before_filter :ecloud_auth, :except => [:show, :index]
@@ -1117,6 +1117,7 @@ class ShixunsController < ApplicationController
end
def destroy
+ render_403 if @shixun.status > 1 && !User.current.admin?
ActiveRecord::Base.transaction do
g = Gitlab.client
g.delete_project(@shixun.gpid) if @shixun.try(:gpid).present?
diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb
index 89fddb36..289c122b 100644
--- a/app/controllers/student_work_controller.rb
+++ b/app/controllers/student_work_controller.rb
@@ -496,7 +496,7 @@ class StudentWorkController < ApplicationController
def _index
# REDO:分班信息提前查出来,然后循环中根据匹配去取
- @is_teacher = User.current.logged? ? (User.current.allowed_to?(:as_teacher,@course) || User.current.admin?) : false
+ @is_teacher = User.current.logged? ? (User.current.allowed_to?(:as_teacher,@course) || User.current.admin? || User.current.business?) : false
@member = @course.members.where(:user_id => User.current.id).first
# 判断学生是否有权限查看(作业未发布、作业已发布但不是统一设置的未分班学生、分班设置的作业未发布)
if User.current.member_of_course?(@course) && !@is_teacher
diff --git a/app/controllers/trainings_controller.rb b/app/controllers/trainings_controller.rb
index 8d3b6355..a74c55f1 100644
--- a/app/controllers/trainings_controller.rb
+++ b/app/controllers/trainings_controller.rb
@@ -3,11 +3,14 @@ require 'base64'
class TrainingsController < ApplicationController
wechat_responder
- skip_before_filter :verify_signature, only: [:show, :create, :test]
+ skip_before_filter :verify_signature, only: [:show, :create, :update, :test, :enroll]
ROOT_URL = ENV["wechat_url"] || "#{Setting.protocol}://#{Setting.host_name}"
before_filter :authenticate, except: [:auth, :auth_callback, :pay_callback]
+
+ before_filter :find_tag_id
+
before_filter :find_training, only: [:show, :test]
before_filter :valid_training, only: [:pay, :result, :pay_js]
@@ -15,18 +18,18 @@ class TrainingsController < ApplicationController
layout 'base_trainings'
- TAG_ID = 'bigdata_hnjcxy_2019'
+ # TAG_ID = 'bigdata_hnjcxy_2019'
def show
@training = current_training
url = nil
if @training && !@training.pay?
- url = enroll_training_path(id: TAG_ID)
+ url = enroll_training_path(id: @tag_id)
elsif @training && @training.pay?
- url = result_training_path(id: TAG_ID)
+ url = result_training_path(id: @tag_id)
else
- url = enroll_training_path(id: TAG_ID)
+ url = enroll_training_path(id: @tag_id)
end
redirect_to url
@@ -34,10 +37,11 @@ class TrainingsController < ApplicationController
def enroll
@training = current_training || Training.new
+ Rails.logger.info("##########training_type:#{@training_type}")
+ @training_title = @training_type == 3 ? "信息技术新工科产学研联盟师资培训班" : "工程教育认证"
+ Rails.logger.info("##########training_title:#{@training_title}")
end
-
-
def pay
_pay_params
@@ -45,7 +49,7 @@ class TrainingsController < ApplicationController
# 防止重复支付,对于已支付过的,不应该再到这个页来
if @training.payed?
- redirect_to result_training_path(id: TAG_ID)
+ redirect_to result_training_path(id: @tag_id)
return
end
@@ -100,11 +104,16 @@ class TrainingsController < ApplicationController
def create
@training = current_training || Training.new(params)
- @training.training_type = Training::Training_Type
+ @training.training_type = @training_type
+ if @training_type == 3
+ @training.research_field = params[:research_field].select(&:present?).uniq.join(",")
+ @training.training_category = params[:training_category]
+ end
@training.openid = session[:wechat_open_id]
@training.save!
- redirect_to pay_training_path(id: TAG_ID)
+ redirect_to enroll_training_path(id: @tag_id)
+ # redirect_to pay_training_path(id: @tag_id)
end
@@ -115,8 +124,15 @@ class TrainingsController < ApplicationController
return
end
- @training.update_attributes(params)
- redirect_to pay_training_path(id: TAG_ID)
+ @training.assign_attributes(params)
+ if @training.training_type == 3
+ @training.research_field = params[:research_field].select(&:present?).uniq.join(",")
+ @training.training_category = params[:training_category]
+ end
+ @training.save!
+
+ redirect_to enroll_training_path(id: @tag_id)
+ # redirect_to pay_training_path(id: @tag_id)
end
@@ -168,7 +184,7 @@ class TrainingsController < ApplicationController
if params[:js] == 'true'
_pay_js(training_info.fee)
else
- redirect_to url = result_training_path(id: TAG_ID)
+ redirect_to url = result_training_path(id: @tag_id)
end
end
@@ -232,11 +248,11 @@ class TrainingsController < ApplicationController
url = ''
if !@training
- url = training_path(id: TAG_ID)
+ url = training_path(id: @tag_id)
elsif !@training.pay?
- url = enroll_training_path(id: TAG_ID)
+ url = enroll_training_path(id: @tag_id)
else
- url = result_training_path(id: TAG_ID)
+ url = result_training_path(id: @tag_id)
end
redirect_to url
@@ -262,8 +278,15 @@ class TrainingsController < ApplicationController
end
end
+ def find_tag_id
+ @tag_id = params[:tag_id] || params[:id]
+ Rails.logger.info("##########TAG_ID:#{@tag_id}")
+ @training_type = @tag_id == "aeee0601_2019" ? 3 : @tag_id == "ceeaa06_2019" ? 4 : 0
+ render_404 if @training_type == 0
+ end
+
def find_training
- if params[:id] == TAG_ID
+ if params[:id] == @tag_id
@training = current_training
else
render_404
@@ -271,18 +294,16 @@ class TrainingsController < ApplicationController
end
def current_training
- Training.where(openid: session[:wechat_open_id], training_type: Training::Training_Type).first
+ Rails.logger.info("##########openid:#{session[:wechat_open_id]}, training_type: #{@training_type}")
+ Training.where(openid: session[:wechat_open_id], training_type: @training_type).first
end
def valid_training
unless current_training
- redirect_to training_path(id: TAG_ID)
+ redirect_to training_path(id: @tag_id)
end
end
-
- private
-
def js_function_call
begin
yield if block_given?
diff --git a/app/models/training.rb b/app/models/training.rb
index 4c1f182e..7c1333be 100644
--- a/app/models/training.rb
+++ b/app/models/training.rb
@@ -3,7 +3,7 @@ class Training < ActiveRecord::Base
attr_accessible :address, :email, :name, :phone, :position, :school, :sex, :openid, :training_type,
:major, :student_id
- # training_type 1 2018-培训会 2 警察学院大数据培训会
+ # training_type 1 2018-培训会 2 警察学院大数据培训会 3 大数据和人工智能 4 工程教育认证
has_one :training_payinfo
@@ -21,4 +21,8 @@ class Training < ActiveRecord::Base
pay? && training_payinfo.payed?
end
+ def research_field_include?(str)
+ research_field.present? && research_field.split(',').include?(str)
+ end
+
end
diff --git a/app/models/user.rb b/app/models/user.rb
index 52c4be8b..db1ff58a 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -1119,7 +1119,7 @@ class User < Principal
end
def member_of_course?(course)
- courses.to_a.include?(course)
+ courses.to_a.include?(course) || User.current.business?
end
def member_of_contest?(contest)
@@ -1323,7 +1323,7 @@ class User < Principal
if Project === context
return false unless context.allows_to?(action)
# Admin users are authorized for anything else
- return true if admin?
+ return true if admin? || business?
# 课程:作品关联项目的老师也可以访问私有项目
course_ids = context.student_work_projects.blank? ? "(-1)" : "(" + context.student_work_projects.map{|swp| swp.course_id}.join(",") + ")"
diff --git a/app/tasks/statistic_school_daily_report_task.rb b/app/tasks/statistic_school_daily_report_task.rb
index 5d0db197..c533c55c 100644
--- a/app/tasks/statistic_school_daily_report_task.rb
+++ b/app/tasks/statistic_school_daily_report_task.rb
@@ -25,13 +25,12 @@ class StatisticSchoolDailyReportTask
.where(homework_type: 4, created_at: yesterday).count
# 新增实训评测数量
- shixun_evaluate_count = Output.joins(game: :challenge)
- .joins('LEFT JOIN homework_commons_shixuns hcs ON hcs.shixun_id = challenges.shixun_id')
+ shixun_evaluate_count = EvaluateRecord.joins('LEFT JOIN homework_commons_shixuns hcs ON hcs.shixun_id = evaluate_records.shixun_id')
.joins('LEFT JOIN homework_commons hc ON hcs.homework_common_id = hc.id AND hc.homework_type = 4')
- .joins('LEFT JOIN members ON members.user_id = games.user_id')
+ .joins('LEFT JOIN members ON members.user_id = evaluate_records.user_id')
.joins('LEFT JOIN courses ON members.course_id = courses.id AND hc.course_id = courses.id')
.where(courses: { school_id: school.id })
- .where(created_at: yesterday).count
+ .where(created_at: yesterday).reorder(nil).count
# 无有效数据时不记录
data = [teacher_count, student_count, course_count, shixun_count, active_user_count,
diff --git a/app/views/managements/_subject_level_list.html.erb b/app/views/managements/_subject_level_list.html.erb
index 1a4bf6d7..0988bd6e 100644
--- a/app/views/managements/_subject_level_list.html.erb
+++ b/app/views/managements/_subject_level_list.html.erb
@@ -1,3 +1,6 @@
+
等级 |
diff --git a/app/views/trainings/enroll.html.erb b/app/views/trainings/enroll.html.erb
index c84a314c..7cc642d2 100644
--- a/app/views/trainings/enroll.html.erb
+++ b/app/views/trainings/enroll.html.erb
@@ -1,18 +1,19 @@
-
-
湖南警察学院大数据培训缴费
- <%= form_for @training do |f| %>
-
基本信息
-
- 姓名
-
-
-
- 性别
-
-
-
-
+<% if false %>
+
+
湖南警察学院大数据培训缴费
+ <%= form_for @training do |f| %>
+
基本信息
+
+ 姓名
+
+
+
+ 性别
+
+
+
+
专业
-
-
-
+
+ 手机号码
+
+
+
+
+
下一步
+ <% end %>
+
+
+
+
男
+ 女
+
+
+<% end %>
+
+
<%= @training_title %>
+ <%= form_for @training do |f| %>
+ <%= hidden_field_tag(:tag_id, @tag_id) %>
+
+
基本信息
+
+ 姓名
+
+
+
+ 性别
+
+
+
+
+
+ 单位
+
+
+
+ 职称
+
+
+ <% if @training_type == 3 %>
+
培训类型
+
+ 大数据方向
+
+ <%= radio_button_tag(:training_category, '大数据方向', @training.training_category == '大数据方向', id: 'type_1', class: 'magic-radio') %>
+
+
+
+
+ 人工智能方向
+
+ <%= radio_button_tag(:training_category, '人工智能方向', @training.training_category == '人工智能方向', id: 'type_2', class: 'magic-radio') %>
+
+
+
+
+ 大数据+人工智能方向
+
+ <%= radio_button_tag(:training_category, '大数据+人工智能方向', @training.training_category == '大数据+人工智能方向', id: 'type_3', class: 'magic-radio') %>
+
+
+
+
您的授课/研究领域(最少选1项)
+
+ 机器学习/深度学习
+
+ id="check_1" class="magic-checkbox">
+
+
+
+
+ 计算机结构与组成
+
+ id="check_2" class="magic-checkbox">
+
+
+
+
+ 计算机系统
+
+ id="check_3" class="magic-checkbox">
+
+
+
+
+ 计算机软件技术和应用
+
+ id="check_4" class="magic-checkbox">
+
+
+
+
+ 计算机理论
+
+ id="check_5" class="magic-checkbox">
+
+
+
+
+ 计算机应用与学科交叉
+
+ id="check_6" class="magic-checkbox">
+
+
+
+
+ 其他
+
+ id="check_7" class="magic-checkbox">
+
+
+
+ <% end %>
+
+
通讯地址
+
+
+
+
+
+
+
+
手机号码
-
+
+
-
下一步
+
完成
<% end %>
@@ -79,9 +265,9 @@
$(down).find("#sexl").html($(this).html());
hideNav(downNav);
- if ($(this).html()=='男'){
+ if ($(this).html() == '男') {
$('#sex').val("1");
- } else {
+ } else {
$('#sex').val("2");
}
})
@@ -108,6 +294,19 @@
return;
}
+ <% if @training_type == 3 %>
+ var trainingCategory = $('input[type="radio"][name="training_category"]:checked').val();
+ if (trainingCategory == undefined || trainingCategory == '') {
+ alert('请选择培训类型');
+ return;
+ }
+
+ if ($("input[type='checkbox'][name='research_field[]']:checked").length == 0) {
+ alert('请选择授课类型/研究领域');
+ return;
+ }
+ <% end %>
+
if (userphone == '') {
alert("请输入手机号码");
return;
diff --git a/app/views/trainings/pay.html.erb b/app/views/trainings/pay.html.erb
index 87b720ca..17808d34 100644
--- a/app/views/trainings/pay.html.erb
+++ b/app/views/trainings/pay.html.erb
@@ -15,22 +15,22 @@
- 800190320609016
+ 1901008009200085901
- 湖南酷得网络科技有限公司
+ 长沙智擎信息技术有限公司
- 长沙银行股份有限公司四方支行
+ 工商银行长沙市岳麓山支行
完成线下支付后,请将支付截图粘贴到备注中,以便财务审核
-
+
备注
@@ -137,20 +137,20 @@
// invoiceNo: '<%#= @training.training_payinfo.invoice_no %>'
// };
//点击弹出发票弹框
- //aboutBillType(userInfo);
+ aboutBillType(userInfo);
//点击弹出支付方式弹框
aboutPayType();
//初始化发票类型
- /*InitBill(userInfo);*/
+ InitBill(userInfo);
//切换发票类型
- /*$(".billType li").on("click", function () {
+ $(".billType li").on("click", function () {
$(".billType li").removeClass("active");
$(this).addClass("active");
billTypeShowFun(parseInt($(this).index()),userInfo);
- })*/
+ })
//关闭弹窗
$(".billClose").on("click", function () {
hideNav($(".downNav"));
@@ -257,7 +257,7 @@
})
})
//页面加载时,初始化发票类型
- /*function InitBill(userInfo){
+ function InitBill(userInfo){
var index=2;
$("#billDemand").html("不需要").attr("status",2);
if(userInfo.invoiceTitle != "" && userInfo.invoiceNo != ""){
@@ -271,7 +271,7 @@
$(".billType li").removeClass("active");
$(".billType li").eq(index).addClass("active");
billTypeShowFun(index,userInfo);
- }*/
+ }
function billTypeShowFun(index,userInfo){
if (parseInt(index) == 0) {
$(".needWrite").removeClass("none");
@@ -288,11 +288,11 @@
}
//点击弹出发票类型弹框
- /*function aboutBillType(userInfo){
+ function aboutBillType(userInfo){
var bill = $("#billLine");
var billNav = $(".billDownNav");
showNav(bill, billNav, "down");
- }*/
+ }
//点击弹出支付方式弹框
function aboutPayType() {
diff --git a/app/views/users/_l_course.html.erb b/app/views/users/_l_course.html.erb
index 1a16703f..b7dcf029 100644
--- a/app/views/users/_l_course.html.erb
+++ b/app/views/users/_l_course.html.erb
@@ -46,7 +46,7 @@
<%#= render :partial => "users/course_item", :locals => {:objects => @objects} %>
<% @objects.each do |object| %>
- <% allow_visit = @show_all || object.is_public == 1 || User.current.member_of_course?(object) %>
+ <% allow_visit = @show_all || object.is_public == 1 || User.current.member_of_course?(object) || User.current.business? %>
<% if object.is_public == 1 %>
diff --git a/db/migrate/20190613013623_add_reseach_field_to_trainings.rb b/db/migrate/20190613013623_add_reseach_field_to_trainings.rb
new file mode 100644
index 00000000..5354d13a
--- /dev/null
+++ b/db/migrate/20190613013623_add_reseach_field_to_trainings.rb
@@ -0,0 +1,5 @@
+class AddReseachFieldToTrainings < ActiveRecord::Migration
+ def change
+ add_column :trainings, :research_field, :string
+ end
+end
diff --git a/db/migrate/20190613043232_modify_input_for_test_sets.rb b/db/migrate/20190613043232_modify_input_for_test_sets.rb
new file mode 100644
index 00000000..14d71acc
--- /dev/null
+++ b/db/migrate/20190613043232_modify_input_for_test_sets.rb
@@ -0,0 +1,8 @@
+class ModifyInputForTestSets < ActiveRecord::Migration
+ def up
+ change_column :test_sets, :input, :text
+ end
+
+ def down
+ end
+end
diff --git a/db/migrate/20190613063745_add_training_category_to_trainings.rb b/db/migrate/20190613063745_add_training_category_to_trainings.rb
new file mode 100644
index 00000000..f304a27d
--- /dev/null
+++ b/db/migrate/20190613063745_add_training_category_to_trainings.rb
@@ -0,0 +1,5 @@
+class AddTrainingCategoryToTrainings < ActiveRecord::Migration
+ def change
+ add_column :trainings, :training_category, :string
+ end
+end
diff --git a/lib/tasks/statistic_school_daily_report.rake b/lib/tasks/statistic_school_daily_report.rake
index 1dbb591e..2d487ff6 100644
--- a/lib/tasks/statistic_school_daily_report.rake
+++ b/lib/tasks/statistic_school_daily_report.rake
@@ -70,55 +70,106 @@ namespace :school_daily_report do
end
end
- desc 'statistic old shixun homework count and shixun evaluate count'
- task :statistic_shixun_info_count, [:date] => :environment do |_, args|
+ # 统计学校历史每天实训作业新增数
+ desc 'statistic school shixun homework count everyday'
+ task :statistic_shixun_homework_count, [:date] => :environment do |_, args|
date = Time.zone.parse(args[:date]).beginning_of_day
current_date = (Time.zone.now - 5.hour).beginning_of_day
custom_logger("statistic range: #{date}..#{current_date}")
while current_date > date
date_str = date.strftime('%Y-%m-%d')
- # 检查当天数据是否已经统计
- school_count = School.count
- query_times = school_count % query_size == 0 ? school_count / query_size : (school_count / query_size) + 1
+ custom_logger("Start statistic => Date: #{date_str} ~")
- custom_logger("Start statistic => Date: #{date_str}, school count: #{school_count}, insert times: #{query_times} ~")
- query_times.times do |index|
- sql = school_daily_report_sql(date, query_size, index * query_size)
- reports = School.find_by_sql(sql)
+ begin_date = (date + 5.hour).strftime('%Y-%m-%d %H:%M:%S')
+ end_date = (date + 1.day + 5.hour).strftime('%Y-%m-%d %H:%M:%S')
+
+ homework_count_map = HomeworkCommon.joins('LEFT JOIN courses cs ON homework_commons.course_id = cs.id')
+ .where('cs.school_id IS NOT NULL')
+ .where(homework_type: 4, created_at: begin_date...end_date).reorder(nil)
+ .group('cs.school_id').count
+
+ ActiveRecord::Base.transaction do
+ exist_school_ids = SchoolDailyReport.where(date: date_str).pluck(:school_id)
- if SchoolDailyReport.exists?(date: date)
- data = []
- reports.each do |report|
- next if %w(teacher_count student_count course_count shixun_count shixun_homework_count shixun_evaluate_count active_user_count).all? { |key| report[key].zero? }
-
- record = SchoolDailyReport.where(school_id: report['id'], date: date_str).first
-
- if record.present?
- record.update_attributes(shixun_homework_count: report['shixun_homework_count'], shixun_evaluate_count: report['shixun_evaluate_count'])
- else
- data << [
- report['id'], report['name'], report['teacher_count'], report['student_count'], report['course_count'],
- report['shixun_count'], report['shixun_homework_count'], report['shixun_evaluate_count'],
- report['active_user_count'], date_str, current_datetime, current_datetime
- ]
- end
+ updated_school_ids = homework_count_map.keys & exist_school_ids # 需要更新的
+
+ updated_reports = []
+ created_reports = []
+ homework_count_map.each do |school_id, homework_count|
+ if updated_school_ids.include?(school_id)
+ updated_reports << "WHEN #{school_id} THEN #{homework_count}"
+ else
+ created_reports << "(#{school_id}, '#{date_str}', #{homework_count})"
end
- else
- data = reports.map do |report|
- # 无效数据不记录
- next if %w(teacher_count student_count course_count shixun_count shixun_homework_count shixun_evaluate_count active_user_count).all? { |key| report[key].zero? }
-
- [
- report['id'], report['name'], report['teacher_count'], report['student_count'], report['course_count'],
- report['shixun_count'], report['shixun_homework_count'], report['shixun_evaluate_count'],
- report['active_user_count'], date_str, current_datetime, current_datetime
- ]
- end.compact
- batch_create_school_daily_reports!(data) if data.present?
+ end
+
+ if updated_reports.present?
+ # 这样更新快些
+ SchoolDailyReport.connection.execute("UPDATE school_daily_reports SET shixun_homework_count = CASE school_id #{updated_reports.join(' ')} END "\
+ "WHERE school_id IN (#{updated_school_ids.join(',')}) AND date = '#{date_str}'")
+ end
+
+ if created_reports.present?
+ SchoolDailyReport.connection.execute("INSERT INTO school_daily_reports(school_id, date, shixun_homework_count) VALUES#{created_reports.join(',')}")
end
end
+
+ custom_logger("Statistic complete! date: #{date_str}")
+
+ date += 1.day
+ end
+ end
+
+ # 统计学校历史每天实训评测新增数
+ desc 'statistic school shixun evaluate count everyday'
+ task :statistic_shixun_evaluate_count, [:date] => :environment do |_, args|
+ date = Time.zone.parse(args[:date]).beginning_of_day
+ current_date = (Time.zone.now - 5.hour).beginning_of_day
+ custom_logger("statistic range: #{date}..#{current_date}")
+
+ while current_date > date
+ date_str = date.strftime('%Y-%m-%d')
+
+ custom_logger("Start statistic => Date: #{date_str} ~")
+
+ begin_date = (date + 5.hour).strftime('%Y-%m-%d %H:%M:%S')
+ end_date = (date + 1.day + 5.hour).strftime('%Y-%m-%d %H:%M:%S')
+
+ evaluate_count_map = EvaluateRecord.joins('LEFT JOIN homework_commons_shixuns hcs ON hcs.shixun_id = evaluate_records.shixun_id')
+ .joins('LEFT JOIN homework_commons hc ON hcs.homework_common_id = hc.id AND hc.homework_type = 4')
+ .joins('LEFT JOIN members ON members.user_id = evaluate_records.user_id')
+ .joins('LEFT JOIN courses ON members.course_id = courses.id AND hc.course_id = courses.id')
+ .where(created_at: begin_date...end_date).where('courses.school_id IS NOT NULL')
+ .reorder(nil).group('courses.school_id').count
+
+ ActiveRecord::Base.transaction do
+ exist_school_ids = SchoolDailyReport.where(date: date_str).pluck(:school_id)
+
+ updated_school_ids = evaluate_count_map.keys & exist_school_ids # 需要更新的
+
+ updated_reports = []
+ created_reports = []
+ evaluate_count_map.each do |school_id, evaluate_count|
+ if updated_school_ids.include?(school_id)
+ updated_reports << "WHEN #{school_id} THEN #{evaluate_count}"
+ else
+ created_reports << "(#{school_id}, '#{date_str}', #{evaluate_count})"
+ end
+ end
+
+ if updated_reports.present?
+ # 这样更新快些
+ SchoolDailyReport.connection.execute("UPDATE school_daily_reports SET shixun_evaluate_count = CASE school_id #{updated_reports.join(' ')} END "\
+ "WHERE school_id IN (#{updated_school_ids.join(',')}) AND date = '#{date_str}'")
+ end
+
+ if created_reports.present?
+ SchoolDailyReport.connection.execute("INSERT INTO school_daily_reports(school_id, date, shixun_evaluate_count) VALUES#{created_reports.join(',')}")
+ end
+ end
+
custom_logger("Statistic complete! date: #{date_str}")
date += 1.day
@@ -181,14 +232,12 @@ namespace :school_daily_report do
LEFT JOIN courses cs ON hc.course_id = cs.id
WHERE cs.school_id = schools.id AND hc.homework_type = 4 AND hc.created_at BETWEEN "#{begin_date}" AND "#{end_date}"
) shixun_homework_count, (
- SELECT COUNT(*) FROM outputs os
- LEFT JOIN games gs ON os.game_id = gs.id
- LEFT JOIN members ON members.user_id = gs.user_id
- LEFT JOIN challenges cls ON gs.challenge_id = cls.id
- LEFT JOIN homework_commons_shixuns hcs ON hcs.shixun_id = cls.shixun_id
+ SELECT COUNT(*) FROM evaluate_records er
+ LEFT JOIN members ON members.user_id = er.user_id
+ LEFT JOIN homework_commons_shixuns hcs ON hcs.shixun_id = er.shixun_id
LEFT JOIN homework_commons hc ON hcs.homework_common_id = hc.id
LEFT JOIN courses ON hc.course_id = courses.id AND members.course_id = courses.id
- WHERE courses.school_id = schools.id AND os.created_at BETWEEN "#{begin_date}" AND "#{end_date}"
+ WHERE courses.school_id = schools.id AND er.created_at BETWEEN "#{begin_date}" AND "#{end_date}"
) shixun_evaluate_count, (
SELECT COUNT(*) FROM users u
LEFT JOIN user_extensions ue ON ue.user_id = u.id
diff --git a/public/assets/iconfont/iconfont.css b/public/assets/iconfont/iconfont.css
index f4db5e84..058c2e74 100644
--- a/public/assets/iconfont/iconfont.css
+++ b/public/assets/iconfont/iconfont.css
@@ -1,10 +1,10 @@
@font-face {font-family: "iconfont";
- src: url('iconfont.eot?t=1559184647273'); /* IE9 */
- src: url('iconfont.eot?t=1559184647273#iefix') format('embedded-opentype'), /* IE6-IE8 */
- url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
- url('iconfont.woff?t=1559184647273') format('woff'),
- url('iconfont.ttf?t=1559184647273') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
- url('iconfont.svg?t=1559184647273#iconfont') format('svg'); /* iOS 4.1- */
+ src: url('iconfont.eot?t=1560325865877'); /* IE9 */
+ src: url('iconfont.eot?t=1560325865877#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAGNoAAsAAAAAsqAAAGMVAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCXJAqCrUCB7BYBNgIkA4UwC4JaAAQgBYRtB49sG9SPdYac2wGASiovEUVZnJWRgWDjQAzPimX//xnJyRgONFCbafXOFDa06CMGMfQzMhrMjo5pGCG4Qooexma750KDRDdXeRfN8vuiU7hRh9v4nGBu6TVKVOhG3zq52E/Vl6hUMBUzpvd3M4dMHGbSYd6CZ42P/I+YAxOTyCpt1U9NXjQ64flvHP2debMCEogExk3Q6ZvEyNCUNrN99O8I8IEAcmhqaAD93hkcAP+nW5E2vKvQB1nM9c8MsOJySUu65rTzVhxYReZMJrQC5rPyN6494L5N67cEmzClHS45XKYwu/vbu9d6F1g2IkYitjUBhufn1vv/L4voBZEyGBUbG9GjRgqjQhwCI2qAUhZYhIWYYKFiAjoLC+4w6k4UrECs5H9f55eEwxTJhmSXkqmly1bKlBBImNYzb/ixfuWzf7oSJXmkgAnkvZ7yapm23Ziz+7frx6Z9f5YhMOSRACkL+0vvQn7hrnTZ3Dl3VpxVYxqdjC8LQ6zZle//Cyx0WQUcCl3wLFwdwe5dsIAEhBz6kXQwi9TWvDYBOp95+HbWfz/1Lgo8DjDwfDb23e0op7nb8qr97cwIAgcCQ8uH/OzLsn2AqI/0tb5ayXZybPMhJSnzUJ1937176951YbBQMlrAJyhYgF/svibXqmoMlHYwcPSozBQ+Tv+P6h13nQiDMLDd3pGIgPlXNV0BFVtyldyq+PSUWle3NW2vY4bx/w+QwscnJIKQZAIQcwJ5hSBcAPJ0JiS56GTHusu9F11KbZOdCSB5Z0CSXwDqCnnn+JF3abo0yaVOKXUqfWxvzzJkHuLNt2WZ92DBjiTBAVh68uIBWjpEFUG9cy0BeU12/RqulwcnrROlzMIli0S+qPUYm//GKlyy9jFFJI4DEf2dx9hsUZ9pRIFKHKHbvmEAXxLJxzT5vc6QNw69NwOYydxyAXl7Ei7Sa/Ae8mSWdV5mFw+87Zr9AeyYn755Q2OAN1g8BL1ffRMvlFDdc/DfRFRxVDhW5pOB1XIgQD7gQHbZrF1HLM43xJe7vzk7DqCGZByJesALPgjAHnqwCfswhCvPHzx//Pz980/4SQ8mMIt1DGc6M7maa/iD/x8bT9pr6m+qzxnb74dg7F/1w3TH5f7dXtow1NBW9HeZFtS56kDjjsH/N3gmB2rVq9PmT4MiqX4OdBqPMzGZa2p6ZnZhbtnyFSuX5hdXrV63Zm2s9Rs2btq8Zeu27Tt27tq3f/eBg+n27M1x6PCRwZNHTx87e/zEqUtnzp2/cPnK1WvXb9y8dbvcnfsPHt+7m+/hoydPn794+frN23d5wn3K9DlGgkjPAiTr75KmSqBuPXr1xSuV5FeEVqNj1So0ateh2e/hMBkKFatVI1qZUN8+lgiS4sPFFkNNCkSp9CNRlmxf34+8Chbi+xcBoZgcDYQnq5X3maCCWoSgAWGoRwTaEXXHhQY0IhaKEA+pSIQPJMEgydCFNJggHeKQAZPIhMlkQS5qwBRqwlRqwTRqw3TqwCzqwgzqwRzqw1wawDwawnwawQKyYSY5MJtcWEgeLKIxLKUJLKYpLKEZxKI5LKMFLKclrKAVrKQ1rKINrOYCWENbWEs+rKMdrKc9bKAANtIBttIRttEJNtEZttMFdtAV0tENNtMdttADctATdtILdtEbdlMIQxTBAfrAHorhECWwl75whH6wj/6wnwFwkIFwkkFwmMFwlCFwjKFwnGFwiuFwmlI4wwg4y0g4xyg4z2i4wBi4SBlcYiyUYxxcZjxcYwJcZyLcYhJc5UK4wmTIxxS4QTncZCrcZhrcYTrcYwbcZyY8YBY8YjY8Zg48YS48ZR7kYT6EYwG85CLIxEJ4xcUQgwpIwCKIxCVwl8UQgCWQjKUwQCV0YxmkYTlUYQUEYiX0YBX0YjX0YQ30sxbisQ5KUQVJWA8f2QAR2AhtuBTGuAzG2QTV2AwV2AJN2Aod2AaduBxacAV84koY4SoIw9WQge1QiB1QjN1Qhz1Qg5sgGvdBGR6GUDwCbzkEL3gFSvAeBOH/kIKz8Jwf4AS/Qytf0TDsqwE089UMCvgqhCi+ho9KlI7xHmViJKLVGFmoAyMbrcF4g35gPEN/MEbRX8BDP5ZDMD9pEMKvRfDOf/vhNeALCFgS+L8u3esjPa1uzsmQMSkwSdVSkaowjMxU9swJgn7jDlgZgyD0rS+UkWbiKMShBs0iKCLsowiu5LCxKVZV1CKJFoAoROdQigoQFXEQPgCkK1xKdILEtXt0R0SR4ApYUDFUggbLwkZ3LHyUoiW2qcDACdERjWjkOB0MoAAjuxOMq9AIDyOiYQhMQbk9TvyxgBgXQtIqA0hAoAEmn1fzzjoL50rp8ON2AfLTGAdD8qfva3klY/x/XGP4Vwov9z15TyX7BVLqeaG6Fay1Yq6xRjaxrPNmCBtuUSljVlGH9ZD6pKVckNqYc5ChihZYe5hg5RjazCEAMW/qK7GVzYTwUouz5QFQg5+9dGBgiFHngnfASNi4B15eFnEO0wjOQggTFpsG0rfnu1NZ06wZihNvISwWTWismoYdUZqvuXWbKVTH3i2xXcitLyGuhQSJO/ygsX4i0ZEhTlSWh6Ftm78dpp1WegIaGW3g07YbfqRr1GwML06tPY/UUrMDrGEyDSgiFIfjGBeFglTSaehJ4qx5Ic6g4+BBpA0peqBgapYUk5beJ1qX0lvDLYxJJVNRZb3k5eVV46y0fkoIixyaW93YhJC5fDr3GYzFNOzLIOd+2SyHgGRRX1YWFoBZ33s/zYXzUAe4kaWUGtwyFcolpQ7VJCvo1kW7NDNgS1pFKy7HS02185BZIcMwjhuC2K3UkbR7TOGjesdV5Z2fR0bpuylG3B+LUNldHwnLpFMJzklWDXy0s2AJ1iLiWyuipCt5eaSzYpdveNwe8+AubYt9foOVGzPryqrakc+8mB0/FmLFAyN9ogh3wnCCt3+rWAfc2IOaZJ6u9EJwmXL7MXEXqsMIKyyORKYciyzuM0bLHPaCf+kYs4tlF2+YK1SQH08h00dGQ41OnUc+mJrmlLlFnuLpDDbH7XGHMc8jrksxn7S92ZE//Xt05pjnkvEJ6jFOPpggmHoOo2ys/FnaZNEAUyoO+0cPBHIbqil55S8N+PiF7Z/+LR732Lvce8/l7zB3Ms5KlHT9XBikVscn6RiZ2GbLWEcOmr8UsLETZBa2cfMg7FSGw1404420u+GrTSm5cCB2blUCjbxjkxppJiRhjN46dFsq7PELb3aME6XCvmBJFNMXkluwT4REEgLsPmXZWrMm/kQSf7aGMXERsWgwYO/oN6mmsiDufU3nvwoi/qEftIdocFSNxRG6QEpZEUG0IEsNKceJMJUHGTft7cdFjfblkcQfSeYZSZST58mE7ShssI1WosmYf9ivjqMgADhv7FyUmch8KFCXtmd15bLLg2DTrVMDFsNrrB4Lsn6J8T2ozdiEEVXroL5gap0Tr94hGRKPhHOWmabt+yEiU1MvRTepkWl060CtfVGf9yin5q/z3LGHJyJZnYTkVx/R09027BXZo08BJRjZxro1ACsD5pUptQE3ACKRN/9ypZP96q3H0He1WEzFEjYt1kPItT29vMgL51S3ospniWXn2tQPnxPTAYTW79bF2u/faPnGkXvDir3v6X9Fz0CjKLRz4FCj720IpwJIaSGUshZHI9zYZwHMDjbthU5NxQBjaYpsLByigUMahXuudoGIfCpOWAenjcPWkycGzhI+kbZVRDZ2gO5ShjQ0MmZQ3hiwTwFibNytBglbM259ViCXU4gszcoezLLZpJlEr24gGSU+gHjduZMaTziZYj5J5m9laHRs1jYIJpjmkCFalbq2Ck3P+K6u6a5aXbxxVmYyC0otI6a9tieR73kcIgLdKFWYY8pz3CAiy8iDDCMsoZBJUC6dJuN52dopTsvaSK4mnI5SE+hVMFrRB3NguCSZgft9DBQoRYpjJeW/Z8a7q+G9XGlV/pvZy8ZOa7KkwBGRPCrS5TXFqS1OSykiOip4Sz8Ng/FnkiRc4BckkwZCQZOsR2VkwehTkc+f68r0nEBXNo+Y4K6+VO9o+ZFZn2ummLvSbAJfNdhlL21OUGdWKlqyAVz30xTPOF/XYYLNZueW7nuNLBOSwR0Cr84SIjMJAUh1aI89lPkW3jgkUt1xfavmampuY0HUpZsyRwFiCySTTqvzUR0oLaz3JkFxRi3CC/Vu0tiAzK37AGaVkN3r2dBosO7derUwdTLolgcdDaqrGxQFo5Rm6SYZs9F+vM+wlCkzAMoMijrzw1wEVALglAVLhRKUhz7mog6FJEpTB0r5DItqdhCCSmR5/bxOJqtjpopcB2EMJjd6rSf/h17UYYp6nYzvikXMSVlnmi+Mt/IhUMPwSqj06w0HhI7h6fc1nWziShPj5mPjCmkspod01cT0XRo0LJeWVbxjdk4bu4JZLPandwptbaaeyNEkdqVGAAGbtUljoTDf+MF+uL2wkzU7T+5cpdp8P5UC9XPRVYlCLCGKJ9d0IWnJwV1RPLt4kX/Fq0NVjdHm/HDp31vojrsvsuO13filVT5tVBLtk5IiZdk4cUxSTOzTfZ64cd95DCfmAKydD0Lisg+YC1ZP2DLllshicLn5dIGvE35cQ4+pzfnaJr4vQ80JkiD6gf4vGvyT+A9vo5ZbsMvwCTEzbFhyuEL1n+T+Z40IaeUJbs65pHU2IcmxaWJhFJE5oYCKwx9cwS4HUImTVSZPv0BNP/hZuJ6WVP7FlER6ROtmPO1WYL6Qph2If793RV+bfHC4k5pfIQWI1rEwaVBEvtGLsLH8hAlJ45zFtCyLjWLyE8FwNZVdysXkZ1/zDczR5fwRVITL99gERgJcSYhHqyb0tJfGZnPUcFDcYMszCssoYuYXGgEeJLCXM6N1mr3o6bjQwL+A+Y0FJGxya2Akr5svaIJ8pWLGmijZuoMLNdrJooFLHtHcSDs6Ful2m+jiBCWc4Zw3vbUsF/oEFnRvMnLaCQv8PUGaNw+6T/mwc2+kuqBXTxWSu6aDi+rJxtwJS0T0osv09Fg1bqk1GN6t1M1RM+uEjbt2cke14dCgEaTKH6VLrk/JsewZBxy+yEWyFamMLERIHJO1c2BqIpFVlh1MPw5DpMf0NDXazkHhPKMvdh/EDwvHKjes/zUEyy4xfyo49QcAqz7l53mGfm3JpBsJBJRpfTbbilwYA0FArddCzKWhZGrG+MDTNZmpz4ILEeWzuSAl91VW80CYDgZziflLI/iiyQQk1koZWTrds9Z99acFyz1zqZ1RsdfJdwdWoHE2/xWKUgz3cWvL9TQSGBszgG5X2bnBAEELAWudQuxbNxFmYfzQToKMCVQ9asbbPKZAi64ZTRoX7GcJ2wk+yn7WjZl0g9E8F+RgHHMRBdtGNUZpUo13kxvt+Lkx1uLQlg0k7+TAn2DZzZr/pBBwhhqEviMYbwhv5FHs9yuEiLM1QlZUuvtQJH23Pn5M6ihFkcQObUrfwOG+28MxpidroIs80Xs4HZvfmjoqtF4LAIi/bvACRyz/76XO2N6nfls//kA7d2LHLXkMu3PeU1k173at3E8j2nCZIlL54AnhsZEIgEirg42/i66T7vTHre29YysqTDeEFtl8sjBsYfgikwN47fbFrGM5iTmCxR6lXNTKz3TbHNNAIHAoLnVeLCG1lYR4HLprFpRMiaQ6JWkrWbhWmTt77nElBaFelvfJP42zitVpWdt7C2RNTtd77npnZEqH4tun1nUSrY6+0J0fRFTYhOz0rSIE2lZ/XDRLHuaQS6japj/dZFQo2TQXTWgn9yIkO1zEGLIMHnfJq1hOFwJaquBU77fF6amZ4KyST6G+kyXEN36C3FGB2jk8Pf6bxtwC3vz88u4Nrd5wrPqGKj8mwUREffM35KEtkR7FAg+Cgf0PO2w6t3Vxbwsdiw4Uh/mcaN0RScQuwN+9ZjSAe18C2I/xTwUWM8S6iSkiRSjsWJkpVc5afOgAH+t8nskkkjysnqfGjUz5hVJHbW/58cV1Dv//IoPv9UAU2aak4xzswkCFK/KUBTObrRgbNXfcMGi2ZVl6mm4M5mSA5Tb3Vc0pzPmghuNG23O5Vl5QsJ1IWW3Ffc6ro5zonaGHTTlvEEM6CEfz38bMq9gWSdjIGaJJ5wtqAkcXHGNF0c9Si1lVSKJ+w8uLVWjtlggcbiTAk4Y0IwRxUla1ehu2BCgPIKOG3IlUtxy6dmqXON4uJ3+m0+f/WLIoi1WYlHRaY2vYC+qpIJVYkcH5iTn0tCHHVccOe9gzJCmSswo2oyyRsa4WQuOSRqI1V/ZdMT9pWT9LMWaq6Xvt85KuGcxilIkkoTumQWZdNrF0Ywd9nUU0pGHpKPk0J6BElgDA3UlmWUj8ISf+/q1fmjeJy4WXEEVj47QGU8qCYmFqehtY97hiR3ORCG8wW67fCbh445G6aRd+dhPcBPxnZNJSa4XtivrEsYn3tzcQkoRK/A0fY/RK9HMINqoNKyPcchk/JHU4txddnOeRe8qtDSE7z6rxCsB9vMTcu0uscPVnzEF2waYlNoomSk8Vy4TWwQNEqfJncGyxWCEqoP4nIWQII7zAiysR25b7f0mJucsoiD93v53/9yr3WC6UOFf25lhmLIsysHmBe+Tv2bsRwu1DVTj7RQk1/yW7FRXrjdTLR+hYCbccEWXvMhS8JK9gNg+Os3ixM9Q5Bf9XViCJbwS/pEohFuRi/q+ER0C1iXRA+LPtBph6et8CFwrT0rdP+fkO7twrqjcIUx7hWCOXw8l/jRXC01+Dp+tHbDlZXzAWJu5/ZKQykbtE65P0v8mGcuf3VKFhmiCKcQ0r3jW8LYepJZxHECsP7AQM+jyDodEO2WuL61nK6ozkQJkOY2Nz5o6PW1bRswpEGnUwwbm8aPNcFi5czzJDBoATmmaZiK59NDszcHl0dHZyq4LGdT2X6SR8D1GUzQvtn2aeePHBh10mnxTHlyGaapK0M2v6aBanH6cebj9hNGjfHFSiD+h/osE3ib82sGkZwsgkDQ4z1brPG8wMI010R1jx6zzpK+CkUBehpdwaYe3lL1FMijZyvhWZNqJgyQzzcoq2juQCF4wUHHbcIoJF021N8tDDiHBxE0UZDTcuhs9zTXbCKQdvCcmWLdQiFTwGefuTEWuH0WU1v1KGHHm4sasFfS581JM9FmVaMHzbIBSyw8JkcZuGlWOGPPUqEgphMHaL9uxuXRRuNZ5JNDPf00U/nmLhQO7HbKDaCIK4S5NxXoaWBFJ23HGsFD4oEJjWzF+5XiX35RT4V/JWn+6TvW8xZ/c2JsiWMXvDT8BB7L4yde8rYcdkPCnSLcOXj7BnSh57lruVYVqIL2B+UPNokSkmTaa7ERNGimGDeU0IK1v9mJ5ikDweWvgJddeKvm1KW08G1g8xS4NgcBELbBztlSHDtApaMYNSe6ysMKNKuJZB2guGyxIfKYFUxbRqHGs8g8jw/nCb4qET71Q6pq1ShI2BsSUp5gZPtmYuD6dpQnYwC3bsyTEi0EY/KHiLv8yXWXcqbnWuT8UzN6e5BknBcyHBBsU6ZIW/Riz2g3BY8Yz2XeRnD6SuqhxPha8Cgm1MgwN1r6PhnrEwEFJkI2KwPDv0fq8Ep537cBBQxnyCtmIcC0cry5+447VQfLJH+/h5Au8ud25dM9ihlyX/MxFU9kbBE2518fZzLaDcuLemKCFtvFtua6Q+dNnTW4sezvzCX3/UMFhe/Ti+WW17inZ4zHoVexNAnxl2NvjltoTsDCdYWRknyPiXCT9xHBkLsUbC9HrRyDVQoGEiSCtmx6+IFQtlFyUzQe60EU3LrxQAZ92VRwBWV0qJnQBdyJhGIaefQUKh8F2J6gZPInvvqyiUTAEMmjdlMbzjmVCAuOgS54HYLXD0fQnGYRjNZeqTLDx8+shEbSXfV5+THIjTTFCccgr1Z5LikYbFoOeSeUE0IxhsBfOfMViZByrOmeksQH0mAqjh9lCBMXjNp3FGlpjc9bAOhR3esc6ZIb+RP/gQZYRVdjNGPR0mIYgueTut7XNci9FWJFS+cYaw5UnUtJEkfNF5SA689goOSLQUtpz4KoNLILM0pmqAgJ84wCkP6yk3yBsEwg2awj6t8f6ol5Ro4DJVdBKNHT5ZOcP3310kUq9MhBV7bHV1Pk0IYQUW3VovFLuRlLsVly4Smr2EmgErqUrZi1NhkHP9pPwDd0JFTNsr+n9xonAU4eQRO/HkRNjjHA+Rh7yzdVFt9ZoFEot8Sw4JXcaNbG9N0YdZIQavLT8o9B5c55YDd2bwzuM9GdocX125ngeoCWbUg89Y62rpoG/5E9asfL4JXNniBjKwlQIKm2KKSCiBw5Rxy0kQyY5jptVy3rOxU8kAloUvlFexBLPEuheAHBlOwr2EytBibVzWH9mV7qliTyO7BViP6RV6j/3dmdG7Gn3yRmppRADMkJG1zmCqJhwZYhTslnj3zDG/1yfiC8msypjERbzcfJEzyQwSptb+uc9AtGBLmQl2sNjnW1t1vlObHsNNMiSNzklWzKF9/UzNCUb3yJmK2szOejKa25Sb8KL85FQpzPbsYnntGblz0Y9Yy2e6OqLli+Xj9orZ3p7PNAp3dKX9QI2Ae5YDbLctgzhTsY377q41fORzA7SnvpBydnHWxVNhMUGWWWsawO0LYAbY3JP992lFXIzyhi6YyOQrlFW18H1V4Xm0y7KSkrmEoaHOJOu9EnLjMZrbhrZsWpONbanyx9wsPre2abi1upAWC5gKuSVGyM0s6UqkMVdwwTCaLLHPngp8kQTAxCdW/hjZIFLzu9d6/p9YSw419jYrT1fcMS+sbSUBuPAU7OSqBd1TikKVQJDBZX19j6+1LCPMZnnOviPSFVQPsR98FdE/opi871j2OxSR9wyHzxKONUYwTRBLJqgQlsbkyyAL/oIg+oENsw8Lqlzmx4LaMmws7lC5KO1j4AQq40a2w9DMIU4Zxgbf1swiD0iRw6JEPDe5RciexUoKM9AoTaS3QCW5VfApzRr8Q0oybs2UEz4qSnYo98HkzJNUNu2xCmF/uz3kJOfImMsniOewojTkvu6/iysH5fTZZ+1/5hYvFT6NRXbYa353YXqjTyMa7s2zx7sTR28F0kr58uN/A2Qs0mnSyjNmrLdmNZVDVutBnhK979caYF9LX1JC8mWJZFG20eis0LpSMF5g49NTk15xm3JGZjQ5cSQqqmDEAkwnfRyA+sxUMKExn9bBbmDKBTDGzV893Z0ItegG1cqLBwneVnMjKRxy5hk8lAv5kDyfDA5Bprg2c8/ezkK85GJqlMEmw6ekKAtbGE0rJIvZqlAA2LVyFZDVe/JRB8oCcLFVqZh3bNTR+A9CT54j4yiVuMvGSc0ywEzkXSv4tdckoZ93yUo6q5TDC7NBYgzX1rVpcwILXdrO+ICWRyQLjxiqBWPJSyL6xRBCxNynOTv1fmwz/zs4ZrIUqn5tvJKZbwvjwYHkqBCE//RYc56neYjpAc8Eaor3HeCNDKldepj/SNUAsr8xCif1yeVjl85pxYXxw6mJp/volclMQSUaduicDgVpjO6/eeXu3hmDfLa6ou/hNKFDTqdtTUbTtqU2e+io9RfSjiZlX9et0yEQzp23zN+rAA12+5f1sWrnHOzpctKQyPBNxCOU3cWT9TO0Gnhfo4o5VuwNnwSqGRv/AQT1JdO6t7Jotkfdrf8NKkK6AEfyf/8FnL9xrQtLnmfGTP8xHVZCgBXMvvpPg3inEERdPnWA0xHZGAo5NPm7hzuSoh6jvnDeXz31WEzXG5x2LlBpMz94EnTLvkTAsZKBtf9u6HXlKggwBMC1Fit5I0bjH5hMp4LaJqua7h+WrhwCL+a18yUVs9cEfJ0s7e828W8RQkgERlIfkrNhOn26q6Sn7Yl5kubsSnVZ/O/mPtzQS7P1rWeTxky3Wiw35nZLI5ycrS/PfGcdL68d/3iQK7WMOfS8ZTqXHe0w0JggNXgR8ocBfrKyIX5mBskbL0vkg0wCPq5WzE81wiZgYKswTZbme1iS7A0gNpgbFjR0hqn6w+vcfTFdELypKcSHdDNv0mqnwu/eqHk0bBys67TEhvwhRWHjsIKKKYUwpI+nkvLtfIdDlntjSTQznI3uKIN97dr8EuGIl7YMBJy/u7aXXULELQoKRqyWdlPKhOrTsVXOUavLcsB959eLBuXG7EQO8PEFBugADwptyMIJoedyIiOlUYq8NyVljt/5MiL8jmAwJLCKRH2YCs1q9/k3lePvJT6SpD7xN652KDOTzRHtN/bOkFWh0lIzSHdOhqQMhScZbWdhIGZO3reEmDPVfii/V1dL9KO2hzH8EN3YL7fcablEK26poJiyCGs8ONXa2CQ35JQijGQWtqtesaOLA7eF8jLVkxSmqD99VBBmDo0/ShGgTBPkmiCBKjeEUmGy3ejUFkMvuHXCZ+7Ye/6Re9gmtu3L6MUzn/g/Ua5g8h6JNPKI/BNPS0x9AZupv/BMUJpCAwouN+a9YdVTNyXRQmaIFN26ZYneJc8u08sKW3bWQ6Z9p6x+lzgaXRTG4h7NjQvo1wsmeMKjkBt/0JIsUK0Y+3+BTh+uiwZIxhLTaoNGWaZ4M8AjnVEGuT7x1benxF9FuYXHPhzmZ0qrC1PfcYCJ71v/TFQXp344cjPd45+PX3fTIc0ovyNNfvSp8j+EeZzLZu8PWEcn+50PpzVIAC4azoyfYt0IlelhnpugX2czHchQWe4MTlzo4BuxcEjzx2sikzxLLSLMTvdJLeUv1STzdW9JmD+s9JN4Rz9xFcA0OG082IWdtOg8LmRqcGHzrZ9ToLlShH3gMa1jgSn8WRGRkgyTBhgokLvT4tOBwtAE0UuW7GrJ5IBxSOePauGd6pXVOmMEi9FGOZ/poifkeHVIaT4qWCvPHDeDd8B6BnX3y5coHPF0prntWclUyeXe57oLOi2/8VQyJgQrcMTcvOs4ATa+KHOo2/9lkXq3Lga86c2HX+Zy/XZwiBAP848taudeC0smDXKfEfL29XGj79F210DVTrkV66i2SPdOdgtBMWRE67KfiPs1CZO+afe3IevLy3eyKGxnbXcT36mKetc7oXs07fvcojww+LhCpRq0oVzoihWh7MZHCY5w6aIQmmnsyW1v/SRZZKJqNMCnj3JO/26nn1LO8jsNS3Bi9+FZMN0hd3kNAjLYqvdc1LzlsM//iI3wR3CZIdvzjzKUW3gIvnYG4ehwaVd1Z5GLCIBK5tcWGbIOVIanFRlh4G97uGLsyn7SuRCPTbRynVHBdl7JGN6Y0F18WdOKHsUakRkJRDMkeLgt3C5RmkyM6xWRl7dIIqsogtHfQHcoM8A3ZSYFygwVaDRwCPnLtBvA3OK7uit1aYpA3VSyQ+jeTVVsphtemuHHNNBA0bC2fGTSR7J6mB5St1uvkLZMiMrNBdweGuRGXZMqnyQgqSQ1KIGFaP1OnH/gOQ9uzrkoI3yVehTgmrk3wP7J0Vk2vrgiCBkDDopMSzQLci+aiZ8b1U4Qf1wDR31/VWU8RpC6aW/wcMtr5TYJywD9luCqSRi91uzgAlVBL6HIG7aMgjQinsccgPW4HNHzVIT5P43hU5hpW3ZJGdPOsffJ03UYMxfDbrK+gMLqMMe2f1uYgTtmEUSsmNZ5A55+HR1mn1UWPJOZGc+UNZF3y2/HcvenTLIcQ/WR3Fpj47P5+an8enDoPnr6UvY+RYln6TDAB1N0f2vPvLJzx+X1HffBNjd/2LD02xWk7aHurnHF40euukZgTw9MjN7ZnKO70sKmODK6oiNnTjifuVDoFkrFcD1ew4U3fPR4J6NJE6ekt1xw4Y9dWsPV/dOZQYae5v0lfaCNf3UBElQNurXYCfdaanHjvsi8xw3mjc1gbW0BsZgm4mjvnKyv5MfbVW9yQW2HW9O8lS6dFOFeckb/xtpVe1lqO6RnvUJuJGBPkb04S6J83nTLEqQu4bTIzhOiw624UZ7cqoAU4BJhU3WOgQf/Rv+gD6Mv6QjkQQfcDf2ohB4qL/3vvLpPlkhEWAh8ypcoJuNWRTAx65mW8xrpUA3gNaVurBfXFNoQ0W5DMV80wswHTyM/sq/Au5WsIbFuFnoydA5quYQ+31ZFVRvaRUGplAYJqxB9U0433fLtzXvW2mSoVCeJkWt4HkiZSDaqWSVSq4yPpf1OrVXfTbSt0cCFaB+yHUKyKwcjXz2+nIBWBoQjMAbVY+i4QU0P7YNKHyWs9XwoN0iipOPBDZDxaIVYygXJSMDXQeaTMmE2MYOvIIP3U3B5Ubnzz1o5S3OREoMGJki4DqKv9Z2HxEblThmRfBe8edEHDs+aO5hucvS/7y3F0YYi5wcekgmIvtoDWx1ooWXmDR4QzEcgCl5hNtb8wG763344B1HWy9PXvVPM2gtiNAD2hdP2YsM2pyvqnZkLh41o7D3cOYpv0GoJIh+OI/VqFA2nHAnhSaPjrcDxg0am5R8/WI3VZ0PbFw/Nge598TcfMym9lRiX1tCqQAuzbLJYGfdkN6BOa/yO/2iEaFodId0rx+06bNVlBHFP6rlBu5rULGl06kraPi3pTsDYwMkT32B//AZD1uHkNGxfxd4k7WTndkLwIJ/Nm3qL37PANOJI9WJHjQ4Xu8fNzalYiXhhu5JtCcn5zKhRQRDMPyMEdBuMAYWeK3d9qvnJdOTSyXOJExmEcu6ceAKgIcQ3zL2KDb4ta328e6voxrEBLEjvnjIYhthNDK6re9vbx5WNTnc4NAeUgwAIzrrCurVxHepIaMKM2eKqul4PdRCa2mmsyJjWr6M1q1JPJbmsMcpfh1AeQKCpek5RyPwHeTWYFIYeHkJCILJt4T4l3QyXbsNVh3Uet4NSZwytgyujsl/XidEALh1UmzrkUKtWwR3sD+v31wT2lxNJGso3qUtaMfQhrUXUtHH0y4k1Wk1DSdAjEZcWZPvN1zW5uJXQlqcjooQy3v8tbiiNLnJLle6NbElI2jb2JGrNABVzlVQE+Q6pbCrZtVb8SIXzwj/ysMYrT0FsHAJ40xVJou/fyCA2TQejNEzTdrYKU+TXpbSe3TpRxsZwC7e3vE6iNazUClG6cPYwEMSSCOYqEIODcTA8bKRh4nsyjqE7b6fAviCFrmWoDvV5m2vj9fWFZ7ltq4RZErplVRGmgI+XtP1Mqd+dVaTnbr4yxcKghQCvgPqfiCPkMQFj3nsU9fs3KtGLGx0Qg1RCfOLeh9y7h4DrC4hB5VZa3drcrcvV7Wpt0Sldrs4nWJ62uRUn0OluFZd39X8erYCNCKdcxPDnGTKXPJ+i69Mpj7bKEiC4MTy/NIbUV1sr3jYEMMvLbtRTqzPnlE0E+JvOSZ0/rnau6jS7NkCNmktkJZqqD7P7j2gUHAEfLfHpP3X5yaSGxQZsLjY8g7T5H1cYGnfRd1TgshGiMWqtU2CifyK4vTGxNblV2j+e2Zjcczq5raQ+PIdPOWS3PdK6mdh6LaH1xkPNm5N/Gwj3SZ52M3eZbt3F3K1gHt3GHi4exm4USTLVlectXLx5ro72fawB8/5iwwAzyZ7gmwOK20uKZ0JW3NySguCzbC6jvrTQXj2FpfYx5EBv9aIWHsW6Vb9GV/5yV5tTNUdQzT5DhO72JAuqxjhqg88uQte2ROABCVW9AidBb7NQV+m8u+vhomWzgcuaia5hf9HxXb+XRa/DER8Snz/vmnffuVOcrO6J3inNKeKLOk1/f+mQ4EX3BNHWOIYDcTLebNiVubCJ9R6VZX+WkXUEHMkCDrk/Cux5i+0aousEJzz1TvCHdb1u/ODJzA5RzakWlLPm7B83OOYdFJptvfnC2tIqAe+kRZOsFPyMSI01juY1NPBijGPVms6LbmiM5sUan2VetZEX7Y1BlNEhRoFGRUWGgezgPeyQBRzmQMMQ9p5gNgBgfz5kj1GwEQN2B6OmzgmgTaapAVNk4KwE+W066ULgN1cMJSRCEge9QAzRMbmAJ7Vk7zVW1XMHcltI2N5IuNALJnWmglYaZWIaRY3zZWR5N0OOOVTU9ASF1gpS15PCZRt6Kyv2OnYoUBPI4IiTCzxOqaC6SJhKDyXLpJwKi/OpFVDaf4klQngNcOz4i9HwhxqFSe7iiNCA7j3+3jXtdpE/Rxa2bGoteBSx+IlfBpfPFQlLVllH3OG64SPN/I0lS4LD4ERoZaa+7LUNYBoa06DKjmNK/VSNk/7uUd4JE0211RhB+v6+VNFqcalY2bBAawz8A/4FCuExkcJ7yfdS1IhqY4ZOcHBHfeo62sEh7ebRvBRvEIPPavdzkQG/j5rEAbVhlx13BfUyVxzgNNHp2jnhFCDujZN816oq4vml3tWs/Ty3xj0SH0CAIBQpiOnLDMlxTfCHA22doI3sK3vI7FG466xvHD/PNaS9wx5j17p6MfFdbzu2G0Nc11aay0a5qPtJe3HdONuiLXI9rh4gFvGx3djVtKKU4yWH5atGFq9uVba/W1t6TgOHY9iryBr3Nsi5IRy5MkGvAO8e+eb2cofed8QisEhy3U1jJYsWYEK8qZV6xxpapUfWtZ92lPUE0DTyUQwYWxcp7zIBAcBl2hUC/pCZVAijqLJUZngK9IlZCKXnWDPTDElU4ACWoOjKKBANjRfTTsWBeFhWsnVIFnU6FBC1neC7PhH3oCvwRUYbkaZDWQnyVPVQ42IGqglsF65iQgFG7Y5mchJlY9MTaIMR6BNyODYN4O8ktAavrIASDTRICu0JLY18rSQd2k7Y2Nsuh7vrfDQTtVh5dnOONwmkm5DmXvjuxwGXomU0eklpgM8w8JdI/MGwOGBPv22TbfZy8YqygYHjviAG+C5XlmVpzLLKKiroDD1UTnbXIujo3n2z7NA41Tcr8j7g472nPyIWPI2UdedYFGaabaisVLIesZRg/i/3dh0mSIjCbMuGmyPu+MPXvtBYFsaVwi4NCwRAz8cJ77w1sUQET0C0KxK2uP3H4ycxRDIpvcUvXrZtW669oNhr8rzLjqioeprCenxS9GVhQteRIqYGe8P/F+ov4P1xQFJ0gwkcpwGEC6hfk4BBbcX2ThJ2I8ilVcd2lS2IKBkP+DLY+wOfZs6KjeSg/VK3+29svfgkAtXyVoGXuSzDFw8VoRBAL/n27ezsiiVnURCKghCztp6zThHiCQLPYTqP6q3LZki6TU5eHUkJkbToaEIBiiq9zTJjnozO2xm9SYILxrZeuIQnHwuxHdQliWDicuh0GwsVcTHhH+3kejQMY7R1MfD7QpZYlc7oAbTyug5pQlYdJj4dUtjTlhjCPkZNENfep6XdVIvFM4Yk9Gh7EUQoEv/c9Q/J/cGVHTrUhPj5ridh3aMQV7rKTgTrrLb7ByzkOvV0NF02TWJjcAnRKImSvgx/k3nyut4Njn/ZbsQ0kKGPxpuyHbYHkh1u1PurG8sN1h2Nl+Tvz10Tra9DpHfrur3c9I9swCuiZjGkgPV97yWaTA+GfTNLMDVhipnCqg/2SkWwy4ZDFU8qp9mEz5JypnPQhditq44T/KO/cVP1eFvu74hIDrbEKqFq1cMN6eCrd2IUN5xTVcWRciOPASzg+BrCOVHcY5FcKQPOASK56CNp0SDUKMhoSbFRIDt0QGABBwjg4kAIc1ZxsSEALsZaCjFauTg4IXglZM3zLIxOjs8PwweFY3f7CLL8XU01GqXu85J118yYIZi+ysRWT8BGVP3I4yfIXpFpefpc3Nk067SzIDbarFyE7B1B+xG9VNoivz5sn2R+sQEvzw3ZcOnyeoSgvZANbrw8AyyhIRzOyYXCAQDrYYic4NCz4VJ9/fAItTqhCSM9awC+G+NiRkciIvsNfamAGoPfVLRhT2TEyGgMNUYojBl9trEDNRPuTHPNPbSRIfouQYN91toJNGa2w2fOIO3Ias+1w0GHSlkalAevXAnnwnlI5MFIrFpZNkaLaQuEtKvDRwaA0qK3Wr12Qshwzp6GCOV6OnNqlJq2uBG/tNDwXPa/IAsw3Ac9bp2cdtqHZahKHYLdtQlwEUTEebfQVYMkCZQ9Q5juQ1z4k3ZaBu/GJkUHyOnNNBKNvABoHzgbocePEUzuzjRcbmSZj0Ipyy2iKrW97glhdiQfEaJQkUg1IkT4qw5UHxsWIkhxezXwYQWDXeDrSSbNqYsAik8XaEOD395s5YoCIEAQTH6HYTAKkcCaIuhwU5NYByCGCmh7tE4D+VwhKId1hiEl/wDgvDXlaO9zvoAylGS4syoWnGhvrsMvxrY2nFwos7vn/nc75CKlFT+KEfazJotmG2g7kCTcToZoezjt46BQq07Mi1kJBxqh2KtMcrdHgKvFc9F0QzJj+uYkl3KTknY9EM2JAXozU17oh9M3p2cphvToReOXgUgELkMiIXSZLqwfm0AoIrjRY+iXaTHgMjVm7jKIoQHnQzc+DemMvvVE+/cSAwifz5EdF/x7r57KDhLS0eEoulDL5EBjgFvswemacDJ10KvNiwT2hQW68tfRt6wKIoeyqYH2fD/3QB/FMY4GLtNt6TL5He0LwAGoVd514Iz38rsS48iYmEu7XXfrVtrcBONYXd38nSu0T3UNCG8UElLjqQYJ0dNXAqOsOOe67rBiNAYGbstu41uoEXMudO+i6rGo/zuEwvrmOqxWx+y6SVc/NjOUOHkWJHYMTTG7WRRWN9M0jbEi70i+1AWAMJB5bq5B57KuJ8qxYe5cFsSEoFCXoaIWWwlAfI30A5FAJ96sGvtvqOeqpC5/9Z2rR3uGo1Tv84Z6/htbla+KGj7ac/XO6vw6CbDvzYs2gzCVGMgMezD9Hk2VUSopMqq4z/2P5saUHZNINuA3SHg8go5gLIubyWvc4CCuJ9R36eB1JOGnLnFU/9vsqdpDJviBSgo+42B1gw90Z40yun2w3JdAVK6trqWB+QRAiTEYOOf1RFOjz/Cl+p4/YBBDeY8DCqy7M2qeH2Dzau6iDQ1Qd1B3DQ3vtuCGUVgvhgYLVmQxY9Y2KzWa16hKaROMzPqi+rIsaFWcVyfuKh6itW/Be3bqvOYeePx6TXMm4yGUVa9UFWVBo7TSNapmBLj22bDDLxq72BFAwM1VVexwbsQxzMk4Jb7Xl+TmSvT9DDYBBDhy+hIDv00+J7PSOLyxZBKPQquNHDSxqBArA5RruHDYsggE2MiC5N6AM2ATzmlVn/NqXBt05mxOPoZ8/IgcA+jAW0hxcKimpj8iO3ds/8vgsP2+zLr+A1J41LU/JHzBrWXnkBgN/1DNzqYlFqZZxI/W2mHwSnghGrD+QDDNsug7tzQeDtXQ8BtNPvAyJPyAL0M1MLBfwtwSEtYu82heYmmWrXfdRjscXgWnWPP0H+uZZVsWfK7pbnN9W6vvtrG/BvB9V3QvD/pTZ+Da1l09Bwb/2bz5zJlM8f/ZUgk2G2FnOXYcPz+GHcP+cTsQAu8zQrVQMKdunIHg+guvs1DioopIqEy48KZQlbNec2eQUeTMXKVxh89CHiJ1mdpdBJ0NOTzMTseRz19RJ3ne5y/HUaAZcvrKHqFyKQoKl8rJ1KRiEibgAvHq5OwG///90EmYVrOAoXDyLo9dIYShGm67oHB7kn3CwQ9kzMATLeABqVCjv36fRt0LTZxGfTsWWIC0FOSJYCG8OA9ucXJa7eLK93FmUAPWCwuudTWjFATcUtSQ9sLSZpo/ZMYXu7o47r1EqaZaplE6Dx7wakHCcTxqVkg7tce4O//8JHgh1Nmw7y1DOIuieBzjHvOgBHwZb/fpbODfZU+ez+d2d12lCrPu7lJ4mfAyAs6Ludt0OaVt4v1pGV/TCwgrg48OpJwzrr98/xnO3S1v92OR2wukkpNrA/EkpeXuglSxcUl74G557s2IfPJKRWHGYFqbmIR1IaxMBuZ1vDGrg1Z9/3FtD6kYtw3Pc6PpoaHBsbQXP6eyjX5OkFQKJzGzaZme4MZbyxmF3R9skeHce7O4a66U9YF3Mest11nvbn5bJeKZXIpHlRnfp4jHtuyy3237mbq4hi0GRma7iTvugmQ0U6q+6iZPTTJKZEuFT3Tb+upYwmC2MiKQUIhJL9gi188oFpn7RO+wNt5BDTSt821pNjPvj/EdNK3EaKLzAK0KqhsBGmeheGV5PBwPdQJOYEZZEQeR083M857nx7zGLnpedB2weKY7dR3AVoyZS2Jko3MSDWr86UH8hYw6KM+kXKuiEnXg5Bdk66tlIi4n08nryDRdmlordODSyw9ZT8kHToj7D/oFo2c9X7RA9nJqjfbEik5mSB/0vJSxlrTsSMOQzwbqOLDzOW3yugxADieDC3c9uwk5EKEAeUqgHzsoNQUEkAPj9x9ED3br6nUNDu4hQuaQnb8owTW8MqIczDSqBruJhO5BnuMBS6HC39QmAMjlkP/YEFduO/l1l6zpmKVDmZd5AZA8ZTIHf7k8AKjjJZ2Q9RCI3cH7iYT+GDrIXbNoDRBCx55ddbr6zOkZcAJpxiVNojQ0UMFNDohBesj+m7/lAIOQ8SpDuFI3KqAhkH3E9WWjlpSVGcNcRlOt0XcPUCwsqsAtZOXEwTNktBLVGEDxwVJlz4o8CLZykxWWxFJP21s3UB5vtCZUUAyhSrR5YVZ6DNmGBD0ZEtM4hg05WGwSTzcMpGGWM5aTqh+0yHpaZCAysjOwA27QTYGMihocIJI93IvW/cx3X0vWobXNFdV/6IZ0idsLPX6uK3L3IBMHBlFUmQBOd3H1SD6PUg6lHhrIdKWt1c4pH51LrWduhHRJaws9Xq9NDXGnEvsPrRdxd8Gnb3v2ISra0Cg6asZwhoFuTObuo9hsVPXeZ7MHqTW6vVhsv1736tUt5nkbHw/IU7r1+u/d65/ZlGcO/tILKVPT01OU2w7a9MOC3N/dMzOoqxYkFq5Z6Qy0nf97HqlO/e/Fc9633enChfsvXnBfvphadY5+q8+5cGqO6h99OWtHEL18B1Ok2dpGl2Prbya+7YwookWdcFH/onnxWld+Gd8dIYKbunnj2kgzyb8abAJCrHp+lFS4fMR9ssH63l2e/Sh/mH8p+IfMqUprpvBQY1jsWKHPMoGthMVR63G+oTJIkQdJ9bJ7idKsqEgLrYB/7CIAHNu0JB2KB40L6YG946dwNn5uRCGPZcrIrCEVCoICFWkyEAmK0wCbWXfvsKPv5Yzuoe+jGx6O1L3cq593Dluqb0Hgn9KiPu1guuuuelH+Wi5aTYu/T7vsbtntPE0r2vXo7K5p8FelQgf4R0RkFxrTJZV6evuDjHRxxLnYIswo/TUJW2t/lPR6FLuP+uQpdbcQoa44d7qd1Id5foWyDdN3+XkfJQ3dH+oaULAI8KXoW/s2/3f+pf7Gkq3XpQm6AZub6guCTvf/9/7oxNqWNZGxdUXZkmMBU3t4i/X8wxatBEiV1M8PjUaXVAiv7Wx+DjeE1CBqIBxMm6BmeGgIbqacnJ3dcu9qjkP7bmq65jo/poyQ5h+Pp3ACQwgUr9v+EJUHlNu3lsFQKdyzFVYiaVueAOFSURr8wiE30K43Puf6loqubvYfkn6bOC8utmtNhw/vGyM2MvuvV6uRQ5lzjnl6rR7R4+87+qN/b4TkGP91Lb3OtA0A/aYhJzDPljdnl3GamlN6786atjR2fNPafyPCMfSUZ6Gesal/4Irr0i/+6brWhLpvx9BXMWneEdIgrrKFkVeYZZSvI6H1bT8/1iacc+gyCQITW+S/babs3tn8XmsYztt+Zd/Hi9oOHraWxvuNsKFGAR0IP2xL0EIwBBhb/XbORBgmVF/aKkTdlVlma70hOyf7rUnWbvF4Vd1dn9UGc/NHJic7pxGPSmAqKI99vcLm3YGFIQzMU11Z48Hx/148u3nY5+/1ZQF6Dw6sTvay4TWmqA7fevH6/eN7p5clMXlJOya+wQa66KfX6XAS74eSYhiSP3Dlm1lM6ZHrED/iYfxmDnvLPYR5bwubs/keEzE6dOjWizd/b947vTSJycof+dKIAR7z6Xq7PLn7u+k2NyDjiIvZO+V50U/1ZA0HJ+6/PKf4+g9bmA2zMR6Vunla830GfH+zHX8NhjCB5bi5hsKYZzEae1h9H2Z3oooIesF9mFqa4UYd5diT/d0F5CLB09UC2iYrTaXDQ01bgx43AdmN7O9gF1GqVYOTC2jvsihBu9tYGWHW5gNXaZ4brYnu2e5NK7VnR+y12Ls3ap/FPqid3sxwYzTTa9prwHwdAOtNr8p8yyUUgQUcbw20bawLAW3oZuVFkwdz7a+lwdBEFRjoJFc5QBC83XRuMjTi8w+22NlnGoACZ8FCdpWiCrhfn3QlDQzG2hIH1C/VA8Trvna2a8/gI8MOGBBLiazfxidMtYzEepRdI5Li9cuJe3D0r6+RRzRdthYt3MP2APVHO2RrlHyLbSuU2BvWWNhHqK3tnBJd7FMvUnXD1xtzejw3GmnnL7N8kG3uecYy+QBXJSNRdagksJjfuVP31MJ9e3ApEUMCuhAZKiSVOLIWlhUbijBsFESCdEG3IY0k1X7ujp3kXaLN0CZolzc+afV+7sgB7mq/0c1uUxx2eW2GN8G7vRx2ewM3+JXKR+ijojDIRAp9UiXoSvixOobpTfvRnSBQTdIpRDLDBg+ugFxhrwdr+/LSjG3blvUtB97nVQfACNCC0nGjtJjhT7lM9aOl0GytwWGWnPGS3L2cvYsW7TUqMxwe+EzxY0ugz7PDhmVGw0Xdk2RJ5UAAiUgNRWjzc8a3lwbTT5o/x1OLjZyf0Bobrg8bDe/Y0drK4dCq65Y1XuCABvKyV7af2HbqwvnlFOB6HnamSqguVPG087TYTJFIAoBDzmj5h+mCruiQk5TkkDtatgQqgrxQtlXO7UptL21le7UQkDl69ElvNX4FChBW95bjXVhPRsKoGyfiqRObKJ0V8ToLlWsN5luGcSSE71IVXlZhVuG/bqb6+6PR/gFyaUITxt9xdFCAtne0Rwt0jy6BRssccrcf7pozl4CiOHBHPQunICEznh3Mb51haxVuFfbrqnymkdSImWXH04NPF2DnKgyQ2EGFe1JiM0y56H/QHKmhnGOsXLOc2PQ9WVT0L5ojN5RiknRRcm1yJmDXQeNfDc77AEwL5t9UpUZSJWNS19T4HykYSrFMEek0RD3fNPAkRz2grz+g1ns54bCnv+uK0MzXIFPfzxSKKCiIgFyvFabvMZ56qZewIt6a7IWV2iJjU12fit6OPk6Pxrhl4XbiL0/kLMpmujCzTbgslgurYSV/r8U+vnCTxUYhEKgObb0FN7GV2DMIesC9H4vSnNLcqjmB3ooeF9oDzdv/Nncp3SodR+sS32lOEXXzzhsY1O19TD4k6kofaIJfkd+ioMJCKNJM33cvFgrOyAiG9PcsUTiJcqGuJkp2oEeyGxRZWMh7dEgaTiLiYpo2cSBxfLwYfPMBCfFAbO8UfmMtgZC8tCIZHsx0sG0733NCjvB3kM7iumn9uPW8aMopanRkpEQBYdsi6gBVIljPhzpL3MHmA6dNeOWj6UePlMwpZtZpPSWbOdVMmGJmE5/Vs9rTj6ans2yCUfxGlflhJ1ecaZ3OEacU8Ij1fFAKs1VL2BG0nT5cQbSMCznQ/ZxhwELMtdEIOgyPYGCcuX9fY5r60R0gicSebt+0VgRxiorYsFSKJavkqSK2aG2TPaDFxECAl+PKglmaGBiDYDOJUxpThHQOKWPVhUOUWUVJJV+I89Pz5pAOvek/pLwReWbCQuMAUSl/lpUdKMzilw2fz2LNsuZj/GJKr1/vYHzegYc8aP6hTDa2d0ljrG4w4lUeDylroORKKGFRVQxWU4KOz4KCKqFQeXYAVC6w1A+FVkJB8VkStGk0dlEVlFAJJStr+NT5e8sjmvs7mlkztiLVoqaInP+x5RGGGhtLdwMhPYguXAQ3buafsjzFB8IBywEhsC1m5+dQSfLU1atzTVCJebktWi2ZWc1ahd8sl1gt8fP181dYL7GGIGDvQ/yOLOAb/kD6T9avGaRyqaso9tTBjqKT/aDqMX6CLiMQYhjjDDfwWTAuy0nQM+Eto0+shKWdHuPltcHldbXlIQLwDC6vHe/0QCP0gCbHzPwic/QU5Zsz1j+zyRH8MPrUHhqKt8aHhnSkHjzNmSWkCucQa9T805/4VNRmwqzGQ/xm3ZAQ60b8O2Z28LJsOzIqNhzKgX0a4SfKkG9YaBfSh+nVvYc76teis31a+M7S1DeL1B/OP5Hq3HKJYjCiXJ6G63w6P6Ne9Ca1dKeM9J54lDRLMg4jOelx9ZxIYTzSLPEo4f3mRsFkeJ4yNNzweKVGULmTOmRZfvLZbPTeXM2gku+RBgvjxU1i97owbNo3bKU3Dt+G+Z6KPSdpkgBHn8XEWeIDrcDAopYi17UeEGc1fTMUmp0dCrUIZx+PsKt6dvv1Mk3qvGbbqKD1kNBGeKg122+tZIIfQWb+nrjQm1LSY522aA4LFgXu+VvPu5+KZ/v0AahoAy8r/QoS/BeW5HmmTOR/+ScfNeeVLPTP8y14VdkKQZtXwuyzN/W1mvU914pF9MhEFyJZV69Z//zSEGvxuDgnxWagRUM7g/ktwfEt693tWsx/Eu5qEl65Oja7N7XEBTu2BK8/GoEG+sfhQ6FBwN33y3nJgnvuNmSIFiSyyQj2AZFQYTEUGWhmC93hjoAmaJh2B1zjNoGRUToYFg8DeFEJvMWbhUNRhYVR0GWMW1S4GW0YagMj3HsjqLYgZDlnXHzN55p4PC71czgikfD56YiEA/AFKLncHGp5JZVi2y3MmdDWHqQvKYc0B9fog7Zq6jVOM/ZWr28RWhY3bO9J0MYvDiju2LHV6YDSAWChft3eeG1cmtD67qdyu6D+oIF4+zNXbZ+jXldHBye0ALBpdKeXUunV2e+1QVnW6dm/wbOszHNDv2dnmXKDFzpKO7jJOS/PuanTuTkvt8m5c9mT69zc05SX1zypFw+FifkdOea00EPrJIscbdefQ8I9IKq9KhgagX98saiFue+tH1o9zMMg/AWORwyH1FmkIXKWwZBBFnmIlHV/Lx8EFs3JeXzOYGdVLKvNRLP9guac5mWNmH5Ba9tSA8BmGh5EvX6FHEQGGx9cQuIGARACGnzTsrOATCcX7HrTfEznGMg+JwbKsbTr9TTOdkFt/XNrFDmN/L6F2orD/337NJIWx71j13F/H/JsFLVKwEuxiLOwbD1lJY2I4iTv7wEErcRHs1+agGTiGvmA1/QAa1SPM07mwB9mTB5/BHfvmDqTdex9dF6BgMgcnr+9jstLc6Yx7hdfFATLYR8zhKVAFFHR1j5wHjn33olmaJNnrtgsMH7D3/d6ajzHLU0Dhuo27S5FItCmPXAt9rEcPDJU1alqR2rrauf/Gn7/O+XlUTt7vD3nub/InanznhdKO9N/eTF4dpWbD7zrVLB4CFXC2rrHsi0qYHfO4MehgD0rutzvxJzAgEsZ6m0hKAktvbbG/o1C16OTZUlXn4fFpPOofJUwKzdNHVI3bxy9ZuJDAokwRSCIJWUaZeVlrDIfX6WGsiVbIxs4fbzxiDYFo+Ap2iM2cqbSiEoaGxPJp5weEd4Rp1v0mvWmiVNEcE84yO9m8ljdrMHKzmN2v7FW03Tp6KM9/TTY4gniXceUtff/f3el9dCllHPNKgZ/UDt2OP35SNYA6N/SNdLfaIAFGPQfqd/YVuDr10Jm8cUiVlXVno3/QMxWuzxLjLB31iAsrt9PtF+cXWRD8sETN3coiGGv/icKhNZJ1rhI+K0RFL1dX1IUrSVziSbCBVfwA/S9+Cu4YfopjPM13AB9AHcN37hjeyZwPbQe3ISinzZwMnMyaqJZW92/KbAmr3TgYAeXegBfykaxfy/93Vj8Cs/XHh+TiVS65jXz/gz/Altd9ULZtTFbbXyGPW4XivOywhrGxAwfR4yLnIpfc8KpCDGOVYjGWsMvKzjAObKkdyQGh9GCMH+xc9oq7TlsLiZg3T4cYlFHGCf8xY+3T6lx3dg9YrFUDv0MtpvaJT8j76J2Y48vOGzHME7pxuIaYPRJOPIYqXnk958RZBRBEjXyeKlLASqGWyYpo8XQEJoLfruwXpdcjRRAfCCJrD7z2uRVyaE0iect8Km594vwlJBZd5ZGK9cqA1UynsksVf3PKXuh6NThv89U5s+Sq9/X1Dn2HbVKcBOVjWeylHX/iSwTrI72Oaxe+7363i9mdbzHp+waVdrhc6aq48dPA4Cw16VXv3coHLavT3ZcbQNsxGsU9fvX3hh8/RFD95VfIx/12PZsR749P+a5HQvo8B3ZOD4LoDGk1x9mXutjUBBQFgL8MP5QeBSVGh59CD/MGFaFwtkFUATKVtYdyy7YCGX11IeDFCvW5cL44bdZ3O07FhxfLs4FPnByTU0ynAL3UYKTgdA7O2kxb/lxqAo/zBzGw02HDy+FEVSvKlBjfCmbkWiW6z6JNxAvqLr+f+HjYSgkKysECoYgQiEkZga3wP2A84f+XgqXQqRwJnsnOebbyq3Xq60P2cOThLCTGSLmYzN5MjtUzGtpkK78n8bx4NCW7cmTdDYWNrsmBixLLYM7JXkBia7Nl0EcpwHc77rJbNIaUvZk3U5k4yht7th+QWBFjPfFQbe8Z5kbk6z8OTBkeF8VGivrWFC4Edj1mjaxZ+FmeJY9rDAROvZkPj8oBIY+WlE5NUGC5MXXWaCm0T56WcGR7WStCXQzZlzexDjqE90U8FXnFW6l88kWtm+67U+RNp9xIbJ7MT9ISqPKm7E0TAu5BUvFNgOXST24Z4XOBaP/LBXoxB72Vymhj/ed2bMGlCcPn7FtAc6cInd27ju4soLu7BvOtbtwoaHvsPG561SMcy5n8k1kmMYPV6mO1eCgQtVRX98Q0beO9t86cJudIAgsOVx8mH0tMCKywl6Vqn5n+poGux3rId4IaM4VDBnF20fXVKA7O+8tIy7Hd+NeusMV9tjFtB1Hjqzpc9hOYzvncidfR4VpACdhWQbNzy1gl28SrpNx7CGhG+PvU73KvMxCCA5k0k6346Lzo5UsZTW3FDpAy9zvD5oWrHwStJzaZ9OZXbM8SIq100jaHuYWIKMBm4PkOWISaU4XkIcTmCpUA1IWmao7byskzq17MQhImmSgA8iaJHBBSQakJI9OimZ161ArAHAns5swxZoiyJI7e0aRP39QpwmAR5cx8iF+Cu9HPZ5BBpD+x4/7AQIjCPp4BrisWeP1+ZNji0PLp8+1KZ/SL5q4mlRLn4SDxgQE3sYCTl/sO4yZt5GrPXZcf679r0tGOgBcjMK/D6AaUQ2/D47C5HUQ1YBq/H1g1Pcg9HIjqoSgEwdhDCrzXhGQxUIiiDJZzUGDUSWxIjpbLGYwcoTDMc0EtjeFvxSBwVg5K9Igz4rR52jt2GfNSLDxQeRagcEmT6ieENbJinGBP1TfDSctOJQqx/opfsn9sOfXpz9xrLxUc8nvxj0bp5XTse2gPbZt2skL2M0E8FiHkIpt2ypggg6AVBxi8SacAwEpIkKtWO3vmaHUaoX6VD8JOAcGhhg9rd5X/fTmoue9ZQT0l5j6AzqBOoehrNaWLDhABIayDukF6Byoj/mCJpQB2yPCjxyxD9wBV5rzkW5rhG5ioXHwkTYOdUDjtI9gHGpTVimuM7qrcErsiFUr46zwC6VuZMhJKoZipeDfxPXw2CVkPcWxsZpDBkOll9a31CJ7dsO1Ie7Zo3Lw7j1ILTx272akI8SWizfK0FRp2XKo2ZpU4HD9AjWnc1kuLAQKp6JOgyAoIwMKxuzV9zW7EzoeCX29s3oE8R7Jy5y/iUF8PBBzNiozcUS9cKlav+d8m1GWQ28ytLSSsJCw7oZjOFgclA806wFAgwgtFEdGRlMHqNG89XdOpw1QJeBa15Ejp0Cm7X7QTj2AHtcOeerWruuX9l/Ub2qk/bfDL+LNwD2omWlkD8WZmZpDBkPe08DxbN4D4wfvZ5XMLtMupnID7w0NGE94ed3lbnvp7TVhDP4asbtYTyjPetZ3eXhMBKwP3r9XsrrYDKfcmUzwW0Nd63ueUZ4yu8BaXeaIycP796dMh02n7v83dYnxrmEc7/sPTUbAs4+aRzFJFctxVGzrUhcxCQ5Oqo7LpBD3JVawjlN8NEueJ1UcXg+JfYZG6k3km8qZoSDlLQ93gRnUJymx7HzPDrOaZk+DUIlkselJ21IGrVFASZ1AcM7OpY1QwS62nP2btY0M6wYIBOkIk7eB+TQ1/GMLUkntx1Y1TO1b/bao54M6VY+kIvKphp2QWLwBkSOpU/U7ZQEgWUijJ3t/zRToBJ12CRCwn3/T5lbOLZubwPmaKcpBYqWnfaNhoiGRWHFvN5UmYReBSv4g7PMexm2pCgnuGdZX8VARg12dYxQb161XEtJprAHWs2wOvxh3wsywpK42C7+T3496hgzwHwIXmGZI5pLP6Il7//YKCFvhLGgXbWQT5U6LVNeZZucjpicnMyjA8+2AXlRv/6tXW2l0IwF1jiKhfKBxjOynt0A71VQu9QN1XYFBFlO3vH49QJCkOVC5NODq86RHL9qplzKFYThKpAoSOc6uTW/5+zTIzw0S5+gsxL8IPXriwe5XL7fQuGBcZVT8ojbFRDdStCt4V4gwStdE+qK2GAgi6n+4zR/9nWuff4ncZsJa/QzuQjn2RqFrny/fd++gwcwECLJcwnHAwFE+PiVL/PyKi8uVYqKYKyABkJSDXydCjB5EjQX3RV4TEd0+5O49ZBvSd/fuK6dBQ3DbvlW1KPO4IEK1oUQe5wVbl3z1Mp28Ank1tEmvXjr6Mb52kZHrPW27l1ulbuspXvHt4Z5BEyLwVQBclwKIfFGorBEouqnduA8x8ZCYZOanEaATXw+icd09QEklVTII110KUl9mFsubHcz4wR/PfOEsw8Kh2TlhEEFXhEKdHGIuJRkUd4LMzJXAhWvXLoLZNLzGuQpOM+MJJ5bP2VxMM+OOJg1vfKLO+uFDdDSFGm3AXQeCJ8LKO2v0F7qS+lKSZdUOUMJQPusRQ+2IaFMUJp1KnLcrSfP0K3F+z1FDMalC85Ri1I6D8+aX5QmbcHvpA7guGKDvxR7fdOFIFFiboDp3zNfpwvJkYaI+KYJk/WbKz2siSN9sxFKQct3NRjjNTuS2g/fRATZjf2wpC/7avrWbeozmOwo06hf40xpQoi//FlQN6HTRMmLkORSNo3MxtFe0pHOffr1poVG3Ue6BvmJ3TTfgfHOKSYCxWvOa1bD1sNW1Mxr2xJN1rEw9gLy6hnQDqX/rB6f/7BZ5Ic3Xj26Gt8AOEABpuT60BVF36glZAQeRl9dQ3QS+OttvBBLedLdJfc2uXDHz1ctYJiTNOr0hAJR1omEZJZFcNpk4WUZOpJSVXwExIBGKoSfSs6pPKBOYXIlemaWWSU9kQKPLQGKmJJ1jY4oi85fH7wZk23Bb5JVZCpmRqLziFwwbA8i5sL3oXIiyLDxkdAC8aUIRnSYSQVDWR6MLRXZqsFd0SjQg2rs/eIFx+O/uphl5VKRVcqHcIqKx0009v4zDN9uoZ/7V0zSJi4542sgoxfWm7t+N/fSB1Osqty2oWrGgurdynRrCZT1zaN3k0PJclmIhzu5dUP00AC/76tDi1vrFjwAu6c9F01+feHCe8rtK8m9xwFyldE/nTXcbvT4RNRCPjclpJN4ZWNH+QOMBYQVxgvWAqEma1Z7VQpYIbV5xvYm4Z5wiahHfa7/Pkkr3Hsh9AweI4xrjeeHtVsYK/x+GsBvs9HKffYcT/6ZVgohO+5ndN+R8umjt11jjBBphnHUNb9cSpgN6IX4BSsBnSTrc2AgXl+4Qt6CvtC8KLlwERT3eBLHKi6JgzdZm3KkR0krcRvoeHLFux55yLA3C9684dcb8XQeHzYGZKAaxo3joOvqCeIKL5k6VU/H2Qxnb8CxYP3nBcjreuh60KC79wWYizME4DdndYSomwoQDo2gMWGqhi+fj76FgZjQeHYFRd/kwXzjTnAeZiD2kl1niGwFBcBsdf1wU6IlmIJwhmA1NCcaozxymYBR0WIOFeDuX8zg0xkEWsUVmYOtwiMt5DiMwegkQHAuXctl8TsSCO0vlKimeBfHBc2y+H9Mdg0Davp1EBoDBGXQEG7aP5jAYm9B2EIaTdegMzKDdwu79zeBTg6h8/jwLliXqUO0hO6o5jgbsHx9vqksEy+rqli1UXc1FIYS6yoo6fGhRU2zk8AgJ0qOTR05RIF2IcvFmzMwwRobJdF06EBwebWnIRE9Da0bMhvk1PTgY9XHH4cPZrFmWcumyFOK7x7e5lA0r/VuT7ryzjFW2dGkKYUrjHTHF6ytjvWdlHTpUMph6fCibBZx9NaYPCN6YvzJ/+UZQa7kYEsmaXB9+hToGes8pFPwqBfN1Mciqs2dXgUPGCLKKUrL+Oj5tTB7c0QHnAYc1VObqPIy/v1yeAsY4g4T6BO90KhxfVh4PUSwvr+uIW6KMQ0HN8JEhpAlwAFS54tgEPwjKSIeMCxoQEpROwB+ZfKXLdj+G7zaXsc1ZIrzipdlilaVub5jZd4UPIWuqri/G5ZCMHrPG5dKBrJ+K7/6Fqp+W7UlmP+tF2KyJIieX+sCK2xFOxfc+f/6ZHhN5rDxh5021pfpmcH6Q8muEY8Z9NPpXeozPsevNhyYJ/94MPLSdds33miQt/0PsZtOWInAzG8y/2OOLj0CP2du3XtvKNpm5kvec97zAlmJvvfa1CY/Z0Pa6DJi2tXCm4PE3Hm/rxOEDA4aWXw0ZZGzaVEkkNdL1NCwZpqAlA4cPjm/lfeM9Liic2Qo423WXvFz0Yd7mbZs4OTSwwHKeewH77INBmv60XGuIYTVvOHBiaGIbb974cXXRy3Y2sOd/6j+xpGOQYj+5appLGexoONH/HVlgu8ArgOyyHOLA4OAAcfkergprV+Xzep9PAsFBsQASU1OAw+RzW4nz5tze7tjuXgchkMmAEIhkMUIotzfEJQPv7ZcpsIBjqDfcCCSLASIglMmEIPdwmLOjmWcQT+AnElzl7L00vZtTomEwFBbX/oC4lvig3TSgZ4DDeWKpGC+MXAiwWE8MFeuFVbCxWI4t4OCsI+SYbt4T267A5tg8Me1yDAdLiRk+q1XArlhKK51WxiszzuZl00LVWe5iBQYV8imbhwse2kw1ezbJMTMYefNoWUpRXleaf78nxwThunEm7Rwdy+CL656F6Lj/a26ZnGP2fqQt3koMRAGcBV1DTBiqAFlsaO73BgX2LuVyPsxodwn3NgE7IJFJrzhTYrJmLso8Z+8VjXzr1KBc8+9xYw9hCbKHbXKTdT09dAfQ12hLka9N/Lptc2NHVq6mpReI4cXV7sG0KI2c2oYkitwg8OdeLFW+V049jjhjZhfMYij3thisenkgTSCnYgVYqsZDYwVFUbmAp/EtWnStiu5OWUML3qK7XAvSbu5u1aJrN310V9+xF93JGPsKHGpOuhzThaCoZv2NCnjDBri4ogEB6TyoCFK4Fz1fCNdUQ8nQwpqahW3w6hp4IZxcXQ1+NgWHmo2bZVim7y/OBwUgTBbp5hnm478Eyc/S2eCREDdnW7qgxK7lGqgFdQA7uJjnbBPiymoDdVyg3Hc6tuTt2zfd+t1Ny96Uxp5WFD+4DyqyhWMXd8XBv79/b93h8loU1ikijz2vgmU0SG523hZyEL19s0hUnxhh8Jkm35qk97cln8aP35Kl24hJNCrIFcMqwnxzJmt6Wi0Nm5PPVFsFkkuWQQHooTvfvj7/uY0Xx9ogMUzAhQ03hRoXlmZCAoclmZrmm46504o+XNdbvapqcYr/spogUWgJ2jvgUAP5/NL1eIEZlZ2RwSrXAHFkZDtY0dez3KzjIJVHWXX8BT/YYb68B/n+2PYx8h3YIvpzs1Qk+7feJUCr3u9shDo716mKOWHJoy5/zOXqNaOFI7pZj/uYu5zKszyBMcO7EBkwx1iY2J6tZvKfoIBXb1ZgNrgiZNtU1Z9bPnmUKxA1xupyz12nG0b7p9zbQiTZi4wKGCH2PRn860vQzVU22kKHoOGh3E7l0dQwPYlNaX6cuXiSAPsQxMHxJksuG1d7b3qGRRP1pShBeqC7UP56Wfk4c51ZxfHGC+ZlwUd92P95prNQp79rjDuvHempKqQZHsKxN+d/yaefWPR531rARhxe7grvbh/nQut2zCy1/STEhaVi7MLYX0orxhykied9G7tymMlLQGjw9wmyj5M6wNzXoM6gS8JrdyILJ3DBIDRlSQ6T7qlXhHFtb7bdNQOtR53+9Qs0bcQ83Hdm10m+x8GLwiGQBsmdlv4satrZHHcUDkX1a9p6xV1d2nJz25B5A9ofCbDfSPqHZFcJYqEUj/66yaire1Gk/8FG0EnaB+DYsN9iMHf1451YlJR81Xf6RcAQ4FH/o2/SapFr4OadYv3AFEYROJob+RqjLWBiAZZftQGD7jTQOIgJ0nvPx2vBGjjb56sprEH9LanyngJG/tT2pWw2ySBhA6JtH4Ya0m8+dGpgaTxjkcFu2nFQwaqEjkIbMAk68RUaYdUI6c3Y/71o/jlXkF6GmNa7ojrxNFkNzXObcWWh1iQ7hgAbHJ2xgmKD8NaHjvIMWs7AtVC/1inQTwBX0aeuOetadZzssNLFZjJjaQaXCo7WGOK2tG9v34IzrB0quGRAY8XKNlswTKATrMuQKUUHGfWDRWGmqv4gHuwi30zaLHfV0PUAl+GTkLudc4rL81dLxywz0B9t/JVveLHNxpFmM/aDsBfSaxd4AiWnLjnaTJTE7mA0Y81JgDRVTUDkeWe1ziWGLU8mXHt4OeQK/HD7XBixhHnArjFB21St/k7Iwo/c1ivOwtbRNqPzb/d5VK06JyY9Oup0/sU+8hz9CF1Xc2Q8dseTEBONDLTBObLmJ++VITJsNm6Mjs9G8NdaCaFOPY2KxY8zr/nn9ZPMTZx22wM/KFow1e+bbGRXtnxXfP5SRe8/aNLVGxhKCpiv3QoUBSPnFf+fb6cABTL4+vUgcp85kAlK3oWNxHVRunCR2K4qT2w39nKKlNbG3PpYhW3BDq8ipRvprkJRFt1yessiD8xlTCvQR1QqoDrjDSCDxXmdeL/A/IvKkukCQNU4X2joc7RX/w4/Eee2tUuApMObAdCtbsDbfLUGnofbQ7gOAL2cAHERtIqujxxwG0mL3DWCWFm3eY5kzP91uqhN8XQg22F1pNNxJFetRYZ48JmUFkVU1iAq+gqC0N9o3qpRLyIQIQ0sqtoZyMZLGxB9WloEC1NUFBlwB1nYv6O9QOLdlsKdAOikQYQfKcv8FQkxt5/+9OsOIrauUOuQNghnjjuSPkuVqL3wXZa2s0XgALwiVbvgb5h6nyKKyH/xCjFVVzoRq1+Qs5gj231FqiPvDSB0VRWFKiLDCZA4fBQjSXElgWmRk9SIn/ELaUZI0CkRTCoHKDSyaP4HAA7AH1jbMMy9vgoAUEVfFep8gj9gpAmRG84iC+jbxIqHBMeRcwkhPs97WRjiAYDOjCJsEWSEVDoJnwJAH6tHjLB3dGSlHbGg9QoRQzzNg1L1kUYWAOJzbzy1GjHg6Vzcew6WGU+oET3edk/1ic0s6ft2iRC2EVZk5A9yFoHUKctE4xlWFOMzRYIPVHLjfioO8QZAH8bzhKGRP6zqMYTNS47zqGMqfRsLJfWsk9jVM9S83DeMIgSfkzsQAArNANB7LmDOgIy6vghkGH4hgiwKzcgdasQ8PhJKTMgLfRCEndjJcVGCKpTJMqKeUQwhPaMDcvoMfKxvIlp6Wq6LSS6GNz6zBVs0xBU1vAWzZCLh5iAhNFZhCw9L+k9zRSRtTlmQ8yqGH/mOTdIztopW1fDFRGh8XUGWusb4jmxGcH0wvRnRdBFZhyFdg3jdkzGIROlj9X9bXN15Lko2gYyEGJGFpPLMdlFZfeIoBPW6czRlmreIInAAZkNL/wu/7tvCdV/oTwDQmyroBeMVyMo+ASGQMyHYK0f01R6f+lTkKjXicG1vPEDkoRfDLhj9lwgHBtobp3tTqB5fwvK+cAA8zLy+Ipp+1IrXL8US4I19Nm7gP0AQvciM+jW4jGUjJzy/HXYfkrn5v3zvbK8BnjdraW+3foy75eUVGgT51dVfrurseEsdu+Y/DUkoDHBCf0gBwAK+mwXwH0JsCOVZiCMG9iobvMdsPGDxImFA8Caddp35Ax74UTTgiTe1A77k0Xr3foQxj2CcD5DLUjRgCOZ8wBLI5YAQzH3adT4d8CCSdwOeBAfIgC/9RnQv/MgMmJAaKCEUdIduPVAv7IVLc9r2bwwaIa1jpO9/TJk2H9qnl8frfkDGJMInv4XXUvzBJ5kO30f7hzHKYU4yYl+ehlLm756fPa2Bp16mdw2UEAq6Q7ceXph6Yf/eS5P7yf+NQSOkgu0uXvh/TJm++kP79MJA/0CYabtQ7PktvJZE9oednmQ6C9+nMsaNIYeZXmnEvjwNHPr83XOyM89KntQL06tY0vrmzEIy8VcgRUyaKjJkSchRTR8YMH/5eKkAIMKEsj8sfN/lQiptrPMhJmmWF2VVN23XD+M0L+u2H+d1P+/3AyAEI+jPv+UJ8ttWfBiW4wVR+htneVX7eb8C07I/Q7HOPD8IozhJs7woq7ppu34Yp3lZt/04r/t5v1+SFVX7wZ/HgWnZjuv5QRjFSZrlRVnVTdv1wzjNy7rt9ofj6XzRIP9cEmXXR8lYF5rQU4yXeQWcuwm/63P+VA1lil8+fGplG4DDSNhezhSIX7rBMW6/nbzlizNSRyCF2lc1O2/zQCMBmzzgNlC9EGxA7Tcc6az1PMxHIA/Ga4nFq0isizkjDyB2UxFiNbjMwE4eJbC6V1tFXUVrR8Ab8Fn0Shnax79e22TgkUAW4vCo821UycmZd4F8McvKspuAYt0BfeaEOV86oAlmJFF6MoWypP38yFh26Kh8zCrWoQeNxSLI2H7AWjIfTqdaz6AnAr5ykAcdtVfuBzVTLijxtizlkYDVzmFV4LqkdT5ErE6KXHZ9dvzx/z9//1iCr+w3ItZaUrtntwfhYDOwG1t2HWS0JQ5iIX69+qdAf/zjDZOPcrbQ1a+ND/CjK5H4EGY8KabVOOmPmMy8ljn+6PxMsxI3JQRuryPxER1xVQQV7az7f/76NWMSjq8E8FHnQo+80F2uAPE5ARedCbi9/QQ9RP1pHi7DR+HwQCVPj5EUvkWBI5mKUET31RmSrY8YhYOxJqmsrzSFGmupkaLWiwJvWMh0muCGReIglb84QMXFjkDsQkDJDZXPkgpnoEXtmKQjWTb9ciXuc1M7WoHNEcifSCdIfqN1B9whH7WinBVvkVUzPc7E4abMFDa4JFYO16fTBmc/4I0WZYvpjDSBEqRW9FCbQberqNZ8MhtjhW3yIDrSLXLp2IozaMB1yB55yVuZMBYuCf9YT3G1qazYhKdLr3JWs9GqNCY3vA+xG9sgHAKI7RrCJWFqsNx74EFHCCUhtw/VrYfsF8h01eQBlZJVjEb2R2bJRbRmXsv47SNpBF6B7UgcSPzaPjiORAfGsdX7ggKf9myyaFbZeej0qlMkPTChKiKH/cRKTjDv1tPsA2+4Ux1dSVoRFtpBfQlKvJEZlLy2tt0W2m0APkLDM6o2NZuK1l3NGr2Qy7qjy/htgBU4oA7JDMV0Aipbn4HtyTctl6jbtYtZy4q5MvKQnc4rIBG170wHbPUlRTqhghv2QA74pmHYziBY8+c1hu9wafRvwQbk4FSqhBnL3aLIh8583csyC3FQgYhQe2c01FyZ9rqXuiSNSrbGh20gRsSoolJokSfylmdCZ+gGa7RxJ+1GeIPaYkci7LykYzWt+RRNoDJoV0/CQVzX2pI0F+o5H0aLshWFawM1BzIMk+8AAAA=') format('woff2'),
+ url('iconfont.woff?t=1560325865877') format('woff'),
+ url('iconfont.ttf?t=1560325865877') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
+ url('iconfont.svg?t=1560325865877#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
diff --git a/public/stylesheets/educoder/trainings.css b/public/stylesheets/educoder/trainings.css
index 0ac9ae6d..18038b11 100644
--- a/public/stylesheets/educoder/trainings.css
+++ b/public/stylesheets/educoder/trainings.css
@@ -120,8 +120,15 @@ input::-ms-input-placeholder,textarea::-ms-input-placeholder {color:#cccccc;}
span.left_tag{font-weight:bold; }
input[type='text'].right_input{
float: right;border: none;text-align: right;height: 44px;line-height: 44px;outline: none;
- font-size: 1.4rem;width: 70%;margin-right: 24px;
+ font-size: 1.4rem;width: 70%;/*margin-right: 24px;*/
}
+.PositionalRight .magic-radio + label:before,.PositionalRight .magic-checkbox + label:before{
+ top:13px!important;
+}
+.PositionalRight .magic-radio + label:after{
+ top: 18px!important;
+}
+.mr15{margin-right: 15px;}
.infoBar label.right_tag{
float: right;color: #cccccc;font-size: 1.4rem;margin-right: 24px;
}