add openeducat modules

This commit is contained in:
XuanHuyen
2025-05-05 09:03:48 +07:00
parent 4f8478d1e7
commit 0bf3600b22
1206 changed files with 317180 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
This module provide exam management system.
+23
View File
@@ -0,0 +1,23 @@
##############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import models
from . import report
from . import wizard
+71
View File
@@ -0,0 +1,71 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
{
'name': 'OpenEduCat Exam',
'version': '18.0.1.0',
'license': 'LGPL-3',
'category': 'Education',
"sequence": 3,
'summary': 'Manage Exam',
'complexity': "easy",
'author': 'OpenEduCat Inc',
'website': 'https://www.openeducat.org',
'depends': ['openeducat_classroom'],
'data': [
'security/op_security.xml',
'security/ir.model.access.csv',
'views/res_partner_view.xml',
'views/exam_attendees_view.xml',
'views/exam_room_view.xml',
'views/exam_session_view.xml',
'views/exam_type_view.xml',
'wizard/room_distribution_view.xml',
'wizard/held_exam_view.xml',
'views/exam_view.xml',
'views/marksheet_line_view.xml',
'views/marksheet_register_view.xml',
'views/grade_configuration_view.xml',
'views/result_line_view.xml',
'views/result_template_view.xml',
'report/report_ticket.xml',
'report/student_marksheet.xml',
'report/report_menu.xml',
'menus/op_menu.xml',
],
'demo': [
'demo/exam_room_demo.xml',
'demo/exam_type_demo.xml',
'demo/exam_session_demo.xml',
'demo/exam_demo.xml',
'demo/exam_attendees_demo.xml',
'demo/grade_configuration_demo.xml',
'demo/result_template_demo.xml',
'demo/marksheet_register_demo.xml',
'demo/marksheet_line_demo.xml',
'demo/result_line_demo.xml',
],
'images': [
'static/description/openeducat-exam_banner.jpg',
],
'installable': True,
'auto_install': False,
'application': True,
}
@@ -0,0 +1,228 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
<record id="op_exam_attendees_1" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">55</field>
<field name="exam_id" ref="op_exam_1"/>
<field name="student_id" ref="openeducat_core.op_student_1"/>
</record>
<record id="op_exam_attendees_2" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">59</field>
<field name="exam_id" ref="op_exam_1"/>
<field name="student_id" ref="openeducat_core.op_student_2"/>
</record>
<record id="op_exam_attendees_3" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">75</field>
<field name="exam_id" ref="op_exam_1"/>
<field name="student_id" ref="openeducat_core.op_student_3"/>
</record>
<record id="op_exam_attendees_4" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">67</field>
<field name="exam_id" ref="op_exam_1"/>
<field name="student_id" ref="openeducat_core.op_student_4"/>
</record>
<record id="op_exam_attendees_5" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">45</field>
<field name="exam_id" ref="op_exam_2"/>
<field name="student_id" ref="openeducat_core.op_student_1"/>
</record>
<record id="op_exam_attendees_6" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">85</field>
<field name="exam_id" ref="op_exam_2"/>
<field name="student_id" ref="openeducat_core.op_student_2"/>
</record>
<record id="op_exam_attendees_7" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">65</field>
<field name="exam_id" ref="op_exam_2"/>
<field name="student_id" ref="openeducat_core.op_student_3"/>
</record>
<record id="op_exam_attendees_8" model="op.exam.attendees">
<field name="status">absent</field>
<field name="marks">0</field>
<field name="exam_id" ref="op_exam_2"/>
<field name="student_id" ref="openeducat_core.op_student_4"/>
</record>
<record id="op_exam_attendees_9" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">55</field>
<field name="exam_id" ref="op_exam_3"/>
<field name="student_id" ref="openeducat_core.op_student_1"/>
</record>
<record id="op_exam_attendees_10" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">69</field>
<field name="exam_id" ref="op_exam_3"/>
<field name="student_id" ref="openeducat_core.op_student_2"/>
</record>
<record id="op_exam_attendees_11" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">84</field>
<field name="exam_id" ref="op_exam_3"/>
<field name="student_id" ref="openeducat_core.op_student_3"/>
</record>
<record id="op_exam_attendees_12" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">58</field>
<field name="exam_id" ref="op_exam_3"/>
<field name="student_id" ref="openeducat_core.op_student_4"/>
</record>
<record id="op_exam_attendees_13" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">88</field>
<field name="exam_id" ref="op_exam_4"/>
<field name="student_id" ref="openeducat_core.op_student_1"/>
</record>
<record id="op_exam_attendees_14" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">83</field>
<field name="exam_id" ref="op_exam_4"/>
<field name="student_id" ref="openeducat_core.op_student_2"/>
</record>
<record id="op_exam_attendees_15" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">57</field>
<field name="exam_id" ref="op_exam_4"/>
<field name="student_id" ref="openeducat_core.op_student_3"/>
</record>
<record id="op_exam_attendees_16" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">47</field>
<field name="exam_id" ref="op_exam_4"/>
<field name="student_id" ref="openeducat_core.op_student_4"/>
</record>
<record id="op_exam_attendees_17" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">56</field>
<field name="exam_id" ref="op_exam_5"/>
<field name="student_id" ref="openeducat_core.op_student_9"/>
</record>
<record id="op_exam_attendees_18" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">77</field>
<field name="exam_id" ref="op_exam_5"/>
<field name="student_id" ref="openeducat_core.op_student_10"/>
</record>
<record id="op_exam_attendees_19" model="op.exam.attendees">
<field name="status">absent</field>
<field name="marks">0</field>
<field name="exam_id" ref="op_exam_5"/>
<field name="student_id" ref="openeducat_core.op_student_11"/>
</record>
<record id="op_exam_attendees_20" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">65</field>
<field name="exam_id" ref="op_exam_5"/>
<field name="student_id" ref="openeducat_core.op_student_12"/>
</record>
<record id="op_exam_attendees_21" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">55</field>
<field name="exam_id" ref="op_exam_6"/>
<field name="student_id" ref="openeducat_core.op_student_9"/>
</record>
<record id="op_exam_attendees_22" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">68</field>
<field name="exam_id" ref="op_exam_6"/>
<field name="student_id" ref="openeducat_core.op_student_10"/>
</record>
<record id="op_exam_attendees_23" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">61</field>
<field name="exam_id" ref="op_exam_6"/>
<field name="student_id" ref="openeducat_core.op_student_11"/>
</record>
<record id="op_exam_attendees_24" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">61</field>
<field name="exam_id" ref="op_exam_6"/>
<field name="student_id" ref="openeducat_core.op_student_12"/>
</record>
<record id="op_exam_attendees_25" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">85</field>
<field name="exam_id" ref="op_exam_7"/>
<field name="student_id" ref="openeducat_core.op_student_9"/>
</record>
<record id="op_exam_attendees_26" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">54</field>
<field name="exam_id" ref="op_exam_7"/>
<field name="student_id" ref="openeducat_core.op_student_10"/>
</record>
<record id="op_exam_attendees_27" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">59</field>
<field name="exam_id" ref="op_exam_7"/>
<field name="student_id" ref="openeducat_core.op_student_11"/>
</record>
<record id="op_exam_attendees_28" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">65</field>
<field name="exam_id" ref="op_exam_7"/>
<field name="student_id" ref="openeducat_core.op_student_12"/>
</record>
<record id="op_exam_attendees_29" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">55</field>
<field name="exam_id" ref="op_exam_8"/>
<field name="student_id" ref="openeducat_core.op_student_9"/>
</record>
<record id="op_exam_attendees_30" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">77</field>
<field name="exam_id" ref="op_exam_8"/>
<field name="student_id" ref="openeducat_core.op_student_10"/>
</record>
<record id="op_exam_attendees_31" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">79</field>
<field name="exam_id" ref="op_exam_8"/>
<field name="student_id" ref="openeducat_core.op_student_11"/>
</record>
<record id="op_exam_attendees_32" model="op.exam.attendees">
<field name="status">present</field>
<field name="marks">68</field>
<field name="exam_id" ref="op_exam_8"/>
<field name="student_id" ref="openeducat_core.op_student_12"/>
</record>
</odoo>
+177
View File
@@ -0,0 +1,177 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
noupdate="1">
<record id="op_exam_1" model="op.exam">
<field name="exam_code">FPC-T</field>
<field name="name">CC-FPCT-E1</field>
<field name="min_marks">40</field>
<field name="total_marks">100</field>
<field name="session_id" ref="op_exam_session_1"/>
<field name="subject_id" ref="openeducat_core.op_subject_1"/>
<field name="start_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-01 04:30')"/>
<field name="end_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-01 06:30')"/>
<field name="state">done</field>
</record>
<record id="op_exam_2" model="op.exam">
<field name="exam_code">FPCP-E1</field>
<field name="name">CC-FPCP-E1</field>
<field name="state">done</field>
<field name="min_marks">40</field>
<field name="total_marks">100</field>
<field name="session_id" ref="op_exam_session_1"/>
<field name="subject_id" ref="openeducat_core.op_subject_2"/>
<field name="start_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-02 04:30')"/>
<field name="end_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-02 06:30')"/>
</record>
<record id="op_exam_3" model="op.exam">
<field name="exam_code">DMMM-E1</field>
<field name="name">CC-DMMM-E1</field>
<field name="min_marks">40</field>
<field name="total_marks">100</field>
<field name="session_id" ref="op_exam_session_1"/>
<field name="subject_id" ref="openeducat_core.op_subject_3"/>
<field name="start_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-03 04:30')"/>
<field name="end_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-03 06:30')"/>
<field name="state">done</field>
</record>
<record id="op_exam_4" model="op.exam">
<field name="exam_code">MA-E1</field>
<field name="name">CC-MA-E1</field>
<field name="min_marks">40</field>
<field name="total_marks">100</field>
<field name="session_id" ref="op_exam_session_1"/>
<field name="subject_id" ref="openeducat_core.op_subject_4"/>
<field name="start_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-04 04:30')"/>
<field name="end_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-04 06:30')"/>
<field name="state">done</field>
</record>
<record id="op_exam_5" model="op.exam">
<field name="exam_code">DP-E1</field>
<field name="name">Psy-DP-E1</field>
<field name="state">done</field>
<field name="min_marks">50</field>
<field name="total_marks">100</field>
<field name="session_id" ref="op_exam_session_2"/>
<field name="subject_id" ref="openeducat_core.op_subject_6"/>
<field name="start_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-11 04:30')"/>
<field name="end_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-11 06:30')"/>
</record>
<record id="op_exam_6" model="op.exam">
<field name="exam_code">ISC-E1</field>
<field name="name">Psy-ISC-E1</field>
<field name="state">done</field>
<field name="min_marks">50</field>
<field name="total_marks">100</field>
<field name="session_id" ref="op_exam_session_2"/>
<field name="subject_id" ref="openeducat_core.op_subject_8"/>
<field name="start_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-12 04:30')"/>
<field name="end_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-12 06:30')"/>
</record>
<record id="op_exam_7" model="op.exam">
<field name="exam_code">CCSE-E1</field>
<field name="name">Psy-CCSE-E1</field>
<field name="state">done</field>
<field name="min_marks">50</field>
<field name="total_marks">100</field>
<field name="session_id" ref="op_exam_session_2"/>
<field name="subject_id" ref="openeducat_core.op_subject_11"/>
<field name="start_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-13 04:30')"/>
<field name="end_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-13 06:30')"/>
</record>
<record id="op_exam_8" model="op.exam">
<field name="exam_code">SS-E1</field>
<field name="name">Psy-SS-E1</field>
<field name="state">done</field>
<field name="min_marks">50</field>
<field name="total_marks">100</field>
<field name="session_id" ref="op_exam_session_2"/>
<field name="subject_id" ref="openeducat_core.op_subject_9"/>
<field name="start_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-14 04:30')"/>
<field name="end_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-14 06:30')"/>
</record>
<record id="op_exam_9" model="op.exam">
<field name="exam_code">FA-E1</field>
<field name="name">AF-FA-E1</field>
<field name="state">schedule</field>
<field name="min_marks">35</field>
<field name="total_marks">70</field>
<field name="session_id" ref="op_exam_session_3"/>
<field name="subject_id" ref="openeducat_core.op_subject_18"/>
<field name="start_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-17 04:30')"/>
<field name="end_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-17 06:30')"/>
</record>
<record id="op_exam_10" model="op.exam">
<field name="exam_code">ME-E1</field>
<field name="name">AF-ME-E1</field>
<field name="state">held</field>
<field name="min_marks">35</field>
<field name="total_marks">70</field>
<field name="session_id" ref="op_exam_session_3"/>
<field name="subject_id" ref="openeducat_core.op_subject_19"/>
<field name="start_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-18 04:30')"/>
<field name="end_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-18 06:30')"/>
</record>
<record id="op_exam_11" model="op.exam">
<field name="exam_code">PM-E1</field>
<field name="name">AF-PM-E1</field>
<field name="state">result_updated</field>
<field name="min_marks">35</field>
<field name="total_marks">70</field>
<field name="session_id" ref="op_exam_session_3"/>
<field name="subject_id" ref="openeducat_core.op_subject_21"/>
<field name="start_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-19 04:30')"/>
<field name="end_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-19 06:30')"/>
</record>
<record id="op_exam_12" model="op.exam">
<field name="exam_code">BC-E1</field>
<field name="name">AF-BC-E1</field>
<field name="state">done</field>
<field name="min_marks">35</field>
<field name="total_marks">70</field>
<field name="session_id" ref="op_exam_session_3"/>
<field name="subject_id" ref="openeducat_core.op_subject_22"/>
<field name="start_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-20 04:30')"/>
<field name="end_time"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-20 06:30')"/>
</record>
<record id="openeducat_core.op_user_faculty" model="res.users">
<field name="groups_id"
eval="[(4,ref('openeducat_exam.group_op_exam_user'))]"/>
</record>
</odoo>
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
noupdate="1">
<record id="op_exam_room_1" model="op.exam.room">
<field name="name">Room-001</field>
<field name="capacity">30</field>
<field name="classroom_id" ref="openeducat_classroom.op_classroom_2"/>
</record>
<record id="op_exam_room_2" model="op.exam.room">
<field name="name">Room-002</field>
<field name="capacity">30</field>
<field name="classroom_id" ref="openeducat_classroom.op_classroom_3"/>
</record>
</odoo>
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
noupdate="1">
<record id="op_exam_venus" model="res.partner">
<field name="name">Block 1</field>
<field name="is_venue" eval="True"/>
</record>
<record id="op_exam_session_1" model="op.exam.session">
<field name="exam_code">BCA-E001</field>
<field name="name">BCA-CC-Exam-001</field>
<field name="evaluation_type">normal</field>
<field name="venue" ref="op_exam_venus"/>
<field name="exam_type" ref="op_exam_type_1"/>
<field name="course_id" ref="openeducat_core.op_course_1"/>
<field name="batch_id" ref="openeducat_core.op_batch_1"/>
<field name="start_date"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-01 %H:%M')"/>
<field name="end_date"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-04 %H:%M')"/>
<field name="state">done</field>
</record>
<record id="op_exam_session_2" model="op.exam.session">
<field name="exam_code">BA-Psy-01</field>
<field name="name">BA-Psy-Exam-001</field>
<field name="evaluation_type">grade</field>
<field name="venue" ref="op_exam_venus"/>
<field name="exam_type" ref="op_exam_type_1"/>
<field name="course_id" ref="openeducat_core.op_course_8"/>
<field name="batch_id" ref="openeducat_core.op_batch_5"/>
<field name="start_date"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-11 %H:%M')"/>
<field name="end_date"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-15 %H:%M')"/>
<field name="state">done</field>
</record>
<record id="op_exam_session_3" model="op.exam.session">
<field name="exam_code">BCOM-AF-01</field>
<field name="name">BCOM-AF-Exam-001</field>
<field name="evaluation_type">normal</field>
<field name="venue" ref="op_exam_venus"/>
<field name="exam_type" ref="op_exam_type_1"/>
<field name="course_id" ref="openeducat_core.op_course_5"/>
<field name="batch_id" ref="openeducat_core.op_batch_4"/>
<field name="start_date"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-17 %H:%M')"/>
<field name="end_date"
eval="(DateTime.today() - relativedelta(months=2)).strftime('%Y-%m-21 %H:%M')"/>
</record>
</odoo>
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
noupdate="1">
<record id="op_exam_type_1" model="op.exam.type">
<field name="code">sees</field>
<field name="name">Sessional</field>
</record>
<record id="op_exam_type_2" model="op.exam.type">
<field name="code">anuu</field>
<field name="name">Annual</field>
</record>
</odoo>
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="op_grade_configuration_1" model="op.grade.configuration">
<field name="min_per">85</field>
<field name="max_per">100</field>
<field name="result">A+</field>
</record>
<record id="op_grade_configuration_2" model="op.grade.configuration">
<field name="min_per">75</field>
<field name="max_per">84</field>
<field name="result">A</field>
</record>
<record id="op_grade_configuration_3" model="op.grade.configuration">
<field name="min_per">65</field>
<field name="max_per">74</field>
<field name="result">B+</field>
</record>
<record id="op_grade_configuration_4" model="op.grade.configuration">
<field name="min_per">55</field>
<field name="max_per">64</field>
<field name="result">B</field>
</record>
<record id="op_grade_configuration_5" model="op.grade.configuration">
<field name="min_per">40</field>
<field name="max_per">54</field>
<field name="result">C</field>
</record>
<record id="op_grade_configuration_6" model="op.grade.configuration">
<field name="min_per">25</field>
<field name="max_per">39</field>
<field name="result">D</field>
</record>
<record id="op_grade_configuration_7" model="op.grade.configuration">
<field name="min_per">0</field>
<field name="max_per">24</field>
<field name="result">E</field>
</record>
</odoo>
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="op_marksheet_line_1" model="op.marksheet.line">
<field name="marksheet_reg_id" ref="op_marksheet_register_1"/>
<field name="student_id" ref="openeducat_core.op_student_1"/>
</record>
<record id="op_marksheet_line_2" model="op.marksheet.line">
<field name="marksheet_reg_id" ref="op_marksheet_register_1"/>
<field name="student_id" ref="openeducat_core.op_student_2"/>
</record>
<record id="op_marksheet_line_3" model="op.marksheet.line">
<field name="marksheet_reg_id" ref="op_marksheet_register_1"/>
<field name="student_id" ref="openeducat_core.op_student_3"/>
</record>
<record id="op_marksheet_line_4" model="op.marksheet.line">
<field name="marksheet_reg_id" ref="op_marksheet_register_1"/>
<field name="student_id" ref="openeducat_core.op_student_4"/>
</record>
<record id="op_marksheet_line_5" model="op.marksheet.line">
<field name="marksheet_reg_id" ref="op_marksheet_register_2"/>
<field name="student_id" ref="openeducat_core.op_student_9"/>
</record>
<record id="op_marksheet_line_6" model="op.marksheet.line">
<field name="marksheet_reg_id" ref="op_marksheet_register_2"/>
<field name="student_id" ref="openeducat_core.op_student_10"/>
</record>
<record id="op_marksheet_line_7" model="op.marksheet.line">
<field name="marksheet_reg_id" ref="op_marksheet_register_2"/>
<field name="student_id" ref="openeducat_core.op_student_11"/>
</record>
</odoo>
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="op_marksheet_register_1" model="op.marksheet.register">
<field name="name">Mark Sheet for BCA-Exam</field>
<field name="exam_session_id" ref="op_exam_session_1"/>
<field name="generated_date" eval='(DateTime.today())'/>
<field name="generated_by" ref="openeducat_core.op_user_boa"/>
<field name="result_template_id" ref="op_result_template_1"/>
<field name="state">validated</field>
</record>
<record id="op_marksheet_register_2" model="op.marksheet.register">
<field name="name">Mark Sheet for BA-Exam</field>
<field name="exam_session_id" ref="op_exam_session_2"/>
<field name="generated_date" eval='(DateTime.today())'/>
<field name="generated_by" ref="openeducat_core.op_user_boa"/>
<field name="result_template_id" ref="op_result_template_2"/>
<field name="state">validated</field>
</record>
</odoo>
@@ -0,0 +1,260 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="op_result_line_1" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_1"/>
<field name="exam_id" ref="op_exam_1"/>
<field name="student_id" ref="openeducat_core.op_student_1"/>
<field name="status">pass</field>
<field name="marks">55</field>
</record>
<record id="op_result_line_2" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_2"/>
<field name="exam_id" ref="op_exam_1"/>
<field name="student_id" ref="openeducat_core.op_student_2"/>
<field name="status">pass</field>
<field name="marks">59</field>
</record>
<record id="op_result_line_3" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_3"/>
<field name="exam_id" ref="op_exam_1"/>
<field name="student_id" ref="openeducat_core.op_student_3"/>
<field name="status">pass</field>
<field name="marks">75</field>
</record>
<record id="op_result_line_4" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_4"/>
<field name="exam_id" ref="op_exam_1"/>
<field name="student_id" ref="openeducat_core.op_student_4"/>
<field name="status">pass</field>
<field name="marks">67</field>
</record>
<record id="op_result_line_5" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_1"/>
<field name="exam_id" ref="op_exam_2"/>
<field name="student_id" ref="openeducat_core.op_student_1"/>
<field name="status">pass</field>
<field name="marks">45</field>
</record>
<record id="op_result_line_6" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_2"/>
<field name="exam_id" ref="op_exam_2"/>
<field name="student_id" ref="openeducat_core.op_student_2"/>
<field name="status">pass</field>
<field name="marks">85</field>
</record>
<record id="op_result_line_7" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_3"/>
<field name="exam_id" ref="op_exam_2"/>
<field name="student_id" ref="openeducat_core.op_student_3"/>
<field name="status">pass</field>
<field name="marks">65</field>
</record>
<record id="op_result_line_8" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_4"/>
<field name="exam_id" ref="op_exam_2"/>
<field name="student_id" ref="openeducat_core.op_student_4"/>
<field name="status">fail</field>
<field name="marks">0</field>
</record>
<record id="op_result_line_9" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_1"/>
<field name="exam_id" ref="op_exam_3"/>
<field name="student_id" ref="openeducat_core.op_student_1"/>
<field name="status">pass</field>
<field name="marks">55</field>
</record>
<record id="op_result_line_10" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_2"/>
<field name="exam_id" ref="op_exam_3"/>
<field name="student_id" ref="openeducat_core.op_student_2"/>
<field name="status">pass</field>
<field name="marks">69</field>
</record>
<record id="op_result_line_11" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_3"/>
<field name="exam_id" ref="op_exam_3"/>
<field name="student_id" ref="openeducat_core.op_student_3"/>
<field name="status">pass</field>
<field name="marks">84</field>
</record>
<record id="op_result_line_12" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_4"/>
<field name="exam_id" ref="op_exam_3"/>
<field name="student_id" ref="openeducat_core.op_student_4"/>
<field name="status">pass</field>
<field name="marks">58</field>
</record>
<record id="op_result_line_13" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_1"/>
<field name="exam_id" ref="op_exam_4"/>
<field name="student_id" ref="openeducat_core.op_student_1"/>
<field name="status">pass</field>
<field name="marks">88</field>
</record>
<record id="op_result_line_14" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_2"/>
<field name="exam_id" ref="op_exam_4"/>
<field name="student_id" ref="openeducat_core.op_student_2"/>
<field name="status">pass</field>
<field name="marks">83</field>
</record>
<record id="op_result_line_15" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_3"/>
<field name="exam_id" ref="op_exam_4"/>
<field name="student_id" ref="openeducat_core.op_student_3"/>
<field name="status">pass</field>
<field name="marks">57</field>
</record>
<record id="op_result_line_16" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_4"/>
<field name="exam_id" ref="op_exam_4"/>
<field name="student_id" ref="openeducat_core.op_student_4"/>
<field name="status">pass</field>
<field name="marks">47</field>
</record>
<record id="op_result_line_17" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_5"/>
<field name="exam_id" ref="op_exam_5"/>
<field name="student_id" ref="openeducat_core.op_student_9"/>
<field name="status">pass</field>
<field name="marks">56</field>
</record>
<record id="op_result_line_18" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_6"/>
<field name="exam_id" ref="op_exam_5"/>
<field name="student_id" ref="openeducat_core.op_student_10"/>
<field name="status">pass</field>
<field name="marks">77</field>
</record>
<record id="op_result_line_19" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_7"/>
<field name="exam_id" ref="op_exam_5"/>
<field name="student_id" ref="openeducat_core.op_student_11"/>
<field name="status">fail</field>
<field name="marks">0</field>
</record>
<record id="op_result_line_20" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_7"/>
<field name="exam_id" ref="op_exam_5"/>
<field name="student_id" ref="openeducat_core.op_student_12"/>
<field name="status">pass</field>
<field name="marks">65</field>
</record>
<record id="op_result_line_21" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_5"/>
<field name="exam_id" ref="op_exam_6"/>
<field name="student_id" ref="openeducat_core.op_student_9"/>
<field name="status">pass</field>
<field name="marks">55</field>
</record>
<record id="op_result_line_22" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_6"/>
<field name="exam_id" ref="op_exam_6"/>
<field name="student_id" ref="openeducat_core.op_student_10"/>
<field name="status">pass</field>
<field name="marks">68</field>
</record>
<record id="op_result_line_23" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_7"/>
<field name="exam_id" ref="op_exam_6"/>
<field name="student_id" ref="openeducat_core.op_student_11"/>
<field name="status">pass</field>
<field name="marks">61</field>
</record>
<record id="op_result_line_24" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_7"/>
<field name="exam_id" ref="op_exam_6"/>
<field name="student_id" ref="openeducat_core.op_student_12"/>
<field name="status">pass</field>
<field name="marks">61</field>
</record>
<record id="op_result_line_25" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_5"/>
<field name="exam_id" ref="op_exam_7"/>
<field name="student_id" ref="openeducat_core.op_student_9"/>
<field name="status">pass</field>
<field name="marks">85</field>
</record>
<record id="op_result_line_26" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_6"/>
<field name="exam_id" ref="op_exam_7"/>
<field name="student_id" ref="openeducat_core.op_student_10"/>
<field name="status">pass</field>
<field name="marks">54</field>
</record>
<record id="op_result_line_27" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_7"/>
<field name="exam_id" ref="op_exam_7"/>
<field name="student_id" ref="openeducat_core.op_student_11"/>
<field name="status">pass</field>
<field name="marks">59</field>
</record>
<record id="op_result_line_28" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_7"/>
<field name="exam_id" ref="op_exam_7"/>
<field name="student_id" ref="openeducat_core.op_student_12"/>
<field name="status">pass</field>
<field name="marks">65</field>
</record>
<record id="op_result_line_29" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_5"/>
<field name="exam_id" ref="op_exam_8"/>
<field name="student_id" ref="openeducat_core.op_student_9"/>
<field name="status">pass</field>
<field name="marks">55</field>
</record>
<record id="op_result_line_30" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_6"/>
<field name="exam_id" ref="op_exam_8"/>
<field name="student_id" ref="openeducat_core.op_student_10"/>
<field name="status">pass</field>
<field name="marks">77</field>
</record>
<record id="op_result_line_31" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_7"/>
<field name="exam_id" ref="op_exam_8"/>
<field name="student_id" ref="openeducat_core.op_student_11"/>
<field name="status">pass</field>
<field name="marks">79</field>
</record>
<record id="op_result_line_32" model="op.result.line">
<field name="marksheet_line_id" ref="op_marksheet_line_7"/>
<field name="exam_id" ref="op_exam_8"/>
<field name="student_id" ref="openeducat_core.op_student_12"/>
<field name="status">pass</field>
<field name="marks">68</field>
</record>
</odoo>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
noupdate="1">
<record id="op_result_template_1" model="op.result.template">
<field name="name">BCA Template</field>
<field name="result_date" eval='(DateTime.today())'/>
<field name="exam_session_id" ref="op_exam_session_1"/>
</record>
<record id="op_result_template_2" model="op.result.template">
<field name="name">BA Template</field>
<field name="result_date" eval='(DateTime.today())'/>
<field name="exam_session_id" ref="op_exam_session_2"/>
<field name="grade_ids"
eval="[(6,0,[ref('op_grade_configuration_1'),ref('op_grade_configuration_2'),ref('op_grade_configuration_3'),ref('op_grade_configuration_4'),ref('op_grade_configuration_5'),ref('op_grade_configuration_6'),ref('op_grade_configuration_7')])]"/>
</record>
</odoo>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+110
View File
@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<menuitem id="menu_op_exam_root"
name="Exams"
sequence="310"
web_icon="openeducat_exam,static/description/icon.png"/>
<menuitem id="menu_op_school_exam_result"
name="Exams"
parent="menu_op_exam_root"
sequence="10"/>
<menuitem id="menu_op_exam_session"
name="Exam Sessions"
parent="menu_op_school_exam_result"
sequence="10"
action="act_open_op_exam_session_view"
groups="openeducat_exam.group_op_exam_admin,openeducat_exam.group_op_exam_user"/>
<menuitem id="menu_op_exam_main"
name="Exams"
parent="menu_op_school_exam_result"
sequence="20"
action="act_open_op_exam_view"
groups="openeducat_exam.group_op_exam_admin,openeducat_exam.group_op_exam_user"/>
<menuitem id="menu_op_exam_attendees_sub"
name="Exam Attendees"
parent="menu_op_school_exam_result"
sequence="30"
action="act_open_op_exam_attendees_view"
groups="openeducat_exam.group_op_exam_admin,openeducat_exam.group_op_exam_user"/>
<menuitem id="menu_op_result_template"
name="Result Templates"
parent="menu_op_school_exam_result"
sequence="70"
action="act_open_op_result_template_view"
groups="openeducat_exam.group_op_exam_admin,openeducat_exam.group_op_exam_user"/>
<menuitem id="menu_op_marksheet_register_sub"
name="Marksheet Registers"
parent="menu_op_school_exam_result"
sequence="100"
action="act_open_op_marksheet_register_view"
groups="openeducat_exam.group_op_exam_admin,openeducat_exam.group_op_exam_user"/>
<menuitem id="menu_op_marksheet_line_sub"
name="Marksheet Lines"
parent="menu_op_school_exam_result"
sequence="110"
action="act_open_op_marksheet_line_view"
groups="openeducat_exam.group_op_exam_admin,openeducat_exam.group_op_exam_user"/>
<menuitem id="menu_op_result_line_sub"
name="Result Lines"
parent="menu_op_school_exam_result"
sequence="120"
action="act_open_op_result_line_view"
groups="openeducat_exam.group_op_exam_admin,openeducat_exam.group_op_exam_user"/>
<menuitem id="menu_exam_configuration"
parent="menu_op_exam_root"
sequence="30"
name="Configuration"
groups="openeducat_exam.group_op_exam_admin"/>
<menuitem name="Settings"
id="menu_exam_config"
parent="menu_exam_configuration"
action="openeducat_core.action_openeducat_configuration"
groups="base.group_system"
sequence="1"/>
<menuitem id="menu_op_exam_type_sub"
name="Exam Types"
parent="menu_exam_configuration"
sequence="10"
action="act_open_op_exam_type_view"
groups="openeducat_exam.group_op_exam_admin"/>
<menuitem id="menu_op_exam_room_sub"
name="Exam Rooms"
parent="menu_exam_configuration"
sequence="20"
action="act_open_op_exam_room_view"
groups="openeducat_exam.group_op_exam_admin"/>
<menuitem id="menu_op_grade_configuration"
name="Grade Configuration"
parent="menu_exam_configuration"
sequence="40"
action="act_open_op_grade_configuration_view"
groups="openeducat_exam.group_op_exam_admin"/>
<menuitem id="menu_op_exam_general"
name="Reporting"
parent="menu_op_exam_root"
sequence="20"/>
<menuitem id="menu_student_hall_ticket"
name="Result Analysis"
parent="menu_op_exam_general"
sequence="30"
action="act_open_op_result_line_view_graph"
groups="openeducat_exam.group_op_exam_admin,openeducat_exam.group_op_exam_user"/>
</odoo>
+31
View File
@@ -0,0 +1,31 @@
##############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import exam
from . import exam_attendees
from . import exam_room
from . import exam_session
from . import exam_type
from . import grade_configuration
from . import marksheet_line
from . import marksheet_register
from . import res_partner
from . import result_line
from . import result_template
+126
View File
@@ -0,0 +1,126 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
import datetime
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class OpExam(models.Model):
_name = "op.exam"
_inherit = "mail.thread"
_description = "Exam"
session_id = fields.Many2one('op.exam.session', 'Exam Session',
domain=[('state', 'not in',
['cancel', 'done'])])
course_id = fields.Many2one(
'op.course', related='session_id.course_id', store=True,
readonly=True)
batch_id = fields.Many2one(
'op.batch', 'Batch', related='session_id.batch_id', store=True,
readonly=True)
subject_id = fields.Many2one('op.subject', 'Subject', required=True)
exam_code = fields.Char('Exam Code', size=16, required=True)
attendees_line = fields.One2many(
'op.exam.attendees', 'exam_id', 'Attendees', readonly=True)
start_time = fields.Datetime('Start Time', required=True)
end_time = fields.Datetime('End Time', required=True)
state = fields.Selection(
[('draft', 'Draft'), ('schedule', 'Scheduled'), ('held', 'Held'),
('result_updated', 'Result Updated'),
('cancel', 'Cancelled'), ('done', 'Done')], 'State',
readonly=True, default='draft', tracking=True)
note = fields.Text('Note')
responsible_id = fields.Many2many('op.faculty', string='Responsible')
name = fields.Char('Exam', size=256, required=True)
total_marks = fields.Integer('Total Marks', required=True)
min_marks = fields.Integer('Passing Marks', required=True)
active = fields.Boolean(default=True)
attendees_count = fields.Integer(string='Attendees Count',
compute='_compute_attendees_count')
_sql_constraints = [
('unique_exam_code',
'unique(exam_code)', 'Code should be unique per exam!')]
@api.constrains('total_marks', 'min_marks')
def _check_marks(self):
if self.total_marks <= 0.0 or self.min_marks <= 0.0:
raise ValidationError(_('Enter proper marks!'))
if self.min_marks > self.total_marks:
raise ValidationError(_(
"Passing Marks can't be greater than Total Marks"))
@api.constrains('start_time', 'end_time')
def _check_date_time(self):
session_start = datetime.datetime.combine(
fields.Date.from_string(self.session_id.start_date),
datetime.time.min)
session_end = datetime.datetime.combine(
fields.Date.from_string(self.session_id.end_date),
datetime.time.max)
start_time = fields.Datetime.from_string(self.start_time)
end_time = fields.Datetime.from_string(self.end_time)
if start_time > end_time:
raise ValidationError(_('End Time cannot be set before Start Time.'))
elif start_time < session_start or start_time > session_end or \
end_time < session_start or end_time > session_end:
raise ValidationError(
_('Exam Time should in between Exam Session Dates.'))
def open_exam_attendees(self):
return {
"type": "ir.actions.act_window",
"res_model": "op.exam.attendees",
"domain": [("exam_id", "=", self.id)],
"name": "Students",
"view_mode": "list,form",
}
def _compute_attendees_count(self):
for record in self:
record.attendees_count = self.env["op.exam.attendees"].search_count(
[("exam_id", "=", record.id)])
@api.constrains('subject_id', 'start_time', 'end_time')
def _check_overlapping_times(self):
for record in self:
existing_exams = self.env['op.exam'].search([
('subject_id', '=', record.subject_id.id),
('id', '!=', record.id),
('start_time', '<', record.end_time),
('end_time', '>', record.start_time),
])
if existing_exams:
raise ValidationError(_('The exam time overlaps with an existing exam for the same subject.')) # noqa
def act_result_updated(self):
self.state = 'result_updated'
def act_done(self):
self.state = 'done'
def act_draft(self):
self.state = 'draft'
def act_cancel(self):
self.state = 'cancel'
@@ -0,0 +1,58 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class OpExamAttendees(models.Model):
_name = "op.exam.attendees"
_rec_name = "student_id"
_description = "Exam Attendees"
student_id = fields.Many2one('op.student', 'Student', required=True)
status = fields.Selection(
[('present', 'Present'), ('absent', 'Absent')],
'Status', default="present", required=True)
marks = fields.Integer('Marks')
note = fields.Text('Note')
exam_id = fields.Many2one(
'op.exam', 'Exam', required=True, ondelete="cascade")
course_id = fields.Many2one('op.course', 'Course', readonly=True)
batch_id = fields.Many2one('op.batch', 'Batch', readonly=True)
room_id = fields.Many2one('op.exam.room', 'Room')
_sql_constraints = [
('unique_attendees',
'unique(student_id,exam_id)',
'Attendee must be unique per exam.'),
]
@api.onchange('exam_id')
def onchange_exam(self):
self.course_id = self.exam_id.session_id.course_id
self.batch_id = self.exam_id.session_id.batch_id
self.student_id = False
@api.constrains('marks')
def _check_marks(self):
if self.marks < 0.0 or self.marks > self.exam_id.total_marks:
raise ValidationError(_(
"Please Enter Marks between 0 to %d" % self.exam_id.total_marks))
@@ -0,0 +1,42 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class OpExamRoom(models.Model):
_name = "op.exam.room"
_description = "Exam Room"
name = fields.Char('Name', size=256, required=True)
classroom_id = fields.Many2one('op.classroom', 'Classroom', required=True)
capacity = fields.Integer('Capacity', required=True)
@api.constrains('capacity')
def check_capacity(self):
if self.capacity < 0:
raise ValidationError(_('Enter proper Capacity'))
elif self.capacity > self.classroom_id.capacity:
raise ValidationError(_('Capacity over Classroom capacity!'))
@api.onchange('classroom_id')
def onchange_classroom(self):
self.capacity = self.classroom_id.capacity
@@ -0,0 +1,106 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class OpExamSession(models.Model):
_name = "op.exam.session"
_inherit = ["mail.thread"]
_description = "Exam Session"
name = fields.Char(
'Exam Session', size=256, required=True, tracking=True)
course_id = fields.Many2one(
'op.course', 'Course', required=True, tracking=True)
batch_id = fields.Many2one(
'op.batch', 'Batch', required=True, tracking=True)
exam_code = fields.Char(
'Exam Session Code', size=16,
required=True, tracking=True)
start_date = fields.Date(
'Start Date', required=True, tracking=True)
end_date = fields.Date(
'End Date', required=True, tracking=True)
exam_ids = fields.One2many(
'op.exam', 'session_id', 'Exam(s)')
exam_type = fields.Many2one(
'op.exam.type', 'Exam Type',
required=True, tracking=True)
evaluation_type = fields.Selection(
[('normal', 'Normal'), ('grade', 'Grade')],
'Evolution Type', default="normal",
required=True, tracking=True)
venue = fields.Many2one(
'res.partner', 'Venue', tracking=True)
state = fields.Selection([
('draft', 'Draft'),
('schedule', 'Scheduled'),
('held', 'Held'),
('cancel', 'Cancelled'),
('done', 'Done')
], 'State', default='draft', tracking=True)
active = fields.Boolean(default=True)
exams_count = fields.Integer(
compute='_compute_exams_count', string="Exams")
_sql_constraints = [
('unique_exam_session_code',
'unique(exam_code)', 'Code should be unique per exam session!')]
def _compute_exams_count(self):
for rec in self:
rec.exams_count = len(rec.exam_ids)
@api.constrains('start_date', 'end_date')
def _check_date_time(self):
if self.start_date > self.end_date:
raise ValidationError(
_('End Date cannot be set before Start Date.'))
@api.onchange('course_id')
def onchange_course(self):
self.batch_id = False
def act_draft(self):
self.state = 'draft'
def act_schedule(self):
self.state = 'schedule'
def act_held(self):
self.state = 'held'
def act_done(self):
self.state = 'done'
def act_cancel(self):
self.state = 'cancel'
def get_exam(self):
return {
'name': 'Exam ',
'type': 'ir.actions.act_window',
'view_mode': 'list,form',
'res_model': 'op.exam',
'domain': [('id', 'in', self.exam_ids.ids)],
'target': 'current',
}
@@ -0,0 +1,33 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import fields, models
class OpExamType(models.Model):
_name = "op.exam.type"
_description = "Exam Type"
name = fields.Char('Name', size=256, required=True)
code = fields.Char('Code', size=16, required=True)
_sql_constraints = [
('unique_exam_type_code',
'unique(code)', 'Code should be unique per exam type!')]
@@ -0,0 +1,40 @@
##############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class OpGradeConfiguration(models.Model):
_name = "op.grade.configuration"
_rec_name = "result"
_description = "Grade Configuration"
min_per = fields.Integer('Minimum Percentage', required=True)
max_per = fields.Integer('Maximum Percentage', required=True)
result = fields.Char('Result to Display', required=True)
@api.constrains("max_per")
def max_per_validation(self):
if self.max_per > 100:
raise ValidationError(_(
"Maximum percentage should not be greater than 100"))
if self.max_per < self.min_per:
raise ValidationError(_(
"Minimum percentage should be not greater than Maximum percentage"))
@@ -0,0 +1,95 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class OpMarksheetLine(models.Model):
_name = "op.marksheet.line"
_rec_name = "student_id"
_description = "Marksheet Line"
marksheet_reg_id = fields.Many2one(
'op.marksheet.register', 'Marksheet Register')
evaluation_type = fields.Selection(
related='marksheet_reg_id.exam_session_id.evaluation_type',
store=True)
student_id = fields.Many2one('op.student', 'Student', required=True)
result_line = fields.One2many(
'op.result.line', 'marksheet_line_id', 'Results')
total_marks = fields.Integer("Total Marks",
compute='_compute_total_marks',
store=True)
percentage = fields.Float("Percentage", compute='_compute_percentage',
store=True)
generated_date = fields.Date(
'Generated Date', required=True,
default=fields.Date.today())
grade = fields.Char('Grade', readonly=True, compute='_compute_grade')
status = fields.Selection([
('pass', 'Pass'),
('fail', 'Fail')
], 'Status', compute='_compute_status', store=True)
active = fields.Boolean(default=True)
@api.constrains('total_marks', 'percentage')
def _check_marks(self):
for record in self:
if (record.total_marks < 0.0) or (record.percentage < 0.0):
raise ValidationError(_("Enter proper marks or percentage!"))
@api.depends('result_line.marks')
def _compute_total_marks(self):
for record in self:
record.total_marks = sum([
int(x.marks) for x in record.result_line])
@api.depends('total_marks')
def _compute_percentage(self):
for record in self:
total_exam_marks = sum(
[int(x.exam_id.total_marks) for x in record.result_line])
record.percentage = \
record.total_marks and \
(100 * record.total_marks) / total_exam_marks or 0.0
@api.depends('percentage')
def _compute_grade(self):
for record in self:
if record.evaluation_type == 'grade':
grades = record.marksheet_reg_id.result_template_id.grade_ids
for grade in grades:
if grade.min_per <= record.percentage and \
grade.max_per >= record.percentage:
record.grade = grade.result
break
else:
record.grade = None
else:
record.grade = None
@api.depends('result_line.status')
def _compute_status(self):
for record in self:
record.status = 'pass'
for result in record.result_line:
if result.status == 'fail':
record.status = 'fail'
@@ -0,0 +1,90 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class OpMarksheetRegister(models.Model):
_name = "op.marksheet.register"
_inherit = ["mail.thread"]
_description = "Marksheet Register"
exam_session_id = fields.Many2one(
'op.exam.session', 'Exam Session',
required=True, tracking=True)
marksheet_line = fields.One2many(
'op.marksheet.line', 'marksheet_reg_id', 'Marksheets')
generated_date = fields.Date(
'Generated Date', required=True,
default=fields.Date.today(), tracking=True)
generated_by = fields.Many2one(
'res.users', 'Generated By',
default=lambda self: self.env.uid,
required=True, tracking=True)
state = fields.Selection(
[('draft', 'Draft'), ('validated', 'Validated'),
('cancelled', 'Cancelled')], 'Status',
default="draft", required=True, tracking=True)
total_pass = fields.Integer(
'Total Pass', compute='_compute_total_pass',
tracking=True, store=True)
total_failed = fields.Integer(
'Total Fail', compute='_compute_total_failed',
tracking=True, store=True)
name = fields.Char('Marksheet Register', size=256, required=True,
tracking=True)
result_template_id = fields.Many2one(
'op.result.template', 'Result Template',
required=True, tracking=True)
active = fields.Boolean(default=True)
@api.constrains('total_pass', 'total_failed')
def _check_marks(self):
for res in self:
if (res.total_pass < 0.0) or (res.total_failed < 0.0):
raise ValidationError(_('Enter proper pass or fail!'))
@api.depends('marksheet_line.status')
def _compute_total_pass(self):
for record in self:
count = 0
for marksheet in record.marksheet_line:
if marksheet.status == 'pass':
count += 1
record.total_pass = count
@api.depends('marksheet_line.status')
def _compute_total_failed(self):
for record in self:
count = 0
for marksheet in record.marksheet_line:
if marksheet.status == 'fail':
count += 1
record.total_failed = count
def action_validate(self):
self.state = 'validated'
def act_cancel(self):
self.state = 'cancelled'
def act_draft(self):
self.state = 'draft'
@@ -0,0 +1,27 @@
##############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from odoo import fields, models
class ResPartner(models.Model):
_inherit = "res.partner"
is_venue = fields.Boolean('Venue')
@@ -0,0 +1,75 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class OpResultLine(models.Model):
_name = "op.result.line"
_rec_name = "marks"
_description = "Result Line"
marksheet_line_id = fields.Many2one(
'op.marksheet.line', 'Marksheet Line', ondelete='cascade')
exam_id = fields.Many2one('op.exam', 'Exam', required=True)
evaluation_type = fields.Selection(
related='exam_id.session_id.evaluation_type', store=True)
marks = fields.Integer('Marks', required=True)
grade = fields.Char('Grade', readonly=True, compute='_compute_grade')
student_id = fields.Many2one('op.student', 'Student', required=True)
status = fields.Selection([('pass', 'Pass'), ('fail', 'Fail')], 'Status',
compute='_compute_status', store=True)
@api.constrains('marks', 'marks')
def _check_marks(self):
for record in self:
if record.marks < 0.0:
raise ValidationError(_("Enter proper Marks or Percentage!"))
@api.depends('marks')
def _compute_grade(self):
for record in self:
if record.evaluation_type == 'grade':
grades = record.marksheet_line_id.marksheet_reg_id. \
result_template_id.grade_ids
if grades:
for grade in grades:
if grade.min_per <= record.marks and \
grade.max_per >= record.marks:
record.grade = grade.result
else:
record.grade = None
else:
record.grade = None
@api.depends('marks')
def _compute_status(self):
for record in self:
record.status = 'pass'
if record.marks < record.exam_id.min_marks:
record.status = 'fail'
else:
record.status = 'pass'
def unlink(self):
for res in self:
super(OpResultLine, res).unlink()
return self
@@ -0,0 +1,101 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class OpResultTemplate(models.Model):
_name = "op.result.template"
_inherit = ["mail.thread"]
_description = "Result Template"
exam_session_id = fields.Many2one(
'op.exam.session', 'Exam Session',
required=True, tracking=True)
evaluation_type = fields.Selection(
related='exam_session_id.evaluation_type',
store=True, tracking=True)
name = fields.Char("Name", size=254,
required=True, tracking=True)
result_date = fields.Date(
'Result Date', required=True,
default=fields.Date.today(), tracking=True)
grade_ids = fields.Many2many(
'op.grade.configuration', string='Grade Configuration')
state = fields.Selection([
('draft', 'Draft'),
('result_generated', 'Result Generated')
], string='State', default='draft', tracking=True)
active = fields.Boolean(default=True)
@api.constrains('exam_session_id')
def _check_exam_session(self):
for record in self:
for exam in record.exam_session_id.exam_ids:
if exam.state != 'done':
raise ValidationError(
_('All subject exam should be done.'))
@api.constrains('grade_ids')
def _check_min_max_per(self):
for record in self:
count = 0
for grade in record.grade_ids:
for sub_grade in record.grade_ids:
if grade != sub_grade:
if (sub_grade.min_per <= grade.min_per and
sub_grade.max_per >= grade.min_per) or \
(sub_grade.min_per <= grade.max_per and
sub_grade.max_per >= grade.max_per):
count += 1
if count > 0:
raise ValidationError(
_('Percentage range conflict with other record.'))
def generate_result(self):
for record in self:
marksheet_reg_id = self.env['op.marksheet.register'].create({
'name': 'Mark Sheet for %s' % record.exam_session_id.name,
'exam_session_id': record.exam_session_id.id,
'generated_date': fields.Date.today(),
'generated_by': self.env.uid,
'state': 'draft',
'result_template_id': record.id
})
student_dict = {}
for exam in record.exam_session_id.exam_ids:
for attendee in exam.attendees_line:
result_line_id = self.env['op.result.line'].create({
'student_id': attendee.student_id.id,
'exam_id': exam.id,
'marks': str(attendee.marks and attendee.marks or 0),
})
if attendee.student_id.id not in student_dict:
student_dict[attendee.student_id.id] = []
student_dict[attendee.student_id.id].append(result_line_id)
for student in student_dict:
marksheet_line_id = self.env['op.marksheet.line'].create({
'student_id': student,
'marksheet_reg_id': marksheet_reg_id.id,
})
for result_line in student_dict[student]:
result_line.marksheet_line_id = marksheet_line_id
record.state = 'result_generated'
+22
View File
@@ -0,0 +1,22 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from . import student_hall_ticket_report
from . import student_marksheet
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="report_marksheet" model="ir.actions.report">
<field name="name">Marksheet</field>
<field name="model">op.marksheet.line</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">openeducat_exam.report_marksheet_report</field>
<field name="report_file">openeducat_exam.report_marksheet_report</field>
<field name="binding_model_id" ref="model_op_marksheet_line"/>
<field name="binding_type">report</field>
</record>
<record id="action_student_hall_ticket_report" model="ir.actions.report">
<field name="name">Students Hall Tickets</field>
<field name="model">op.exam.session</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">openeducat_exam.report_ticket</field>
<field name="report_file">openeducat_exam.report_ticket</field>
<field name="binding_model_id" ref="model_op_exam_session"/>
</record>
</odoo>
@@ -0,0 +1,125 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="report_ticket">
<style>
.font{
font-size:14px;
font-family:"Helvetica"
}
@page{
margin-top:1%;
size: A4;
}
</style>
<t t-call="web.html_container">
<t t-call="web.external_layout">
<div class="page">
<br/>
<br/>
<br/>
<div class="oe_structure" id="report_ticket_structure"/>
<t t-foreach="get_data" t-as="ticket_data">
<div class="font">
<div class="page">
<br></br>
<br></br>
<br></br>
<div class="text-center">
<h3>
<b>Hall Ticket</b>
</h3>
(
<span t-out="ticket_data['exam'] if ticket_data['exam'] else ''"/>
<span t-out="ticket_data['exam_code'] if ticket_data['exam_code'] else ''"/>
)
</div>
<br></br>
<table width="100%" style="font-size:14px;">
<tbody>
<tr>
<td class="py-2">
<table width="100%">
<tbody>
<tr>
<td>
<b>Student Name :</b>
<span t-esc="ticket_data['student']"/>
</td>
</tr>
<tr>
<td>
<b>Roll No :</b>
<span t-out="ticket_data['roll_number'] if ticket_data['roll_number'] else ''"/>
</td>
</tr>
<tr>
<td>
<b>Course :</b>
<span t-out="ticket_data['course'] if ticket_data['course'] else ''"/>
</td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%">
<tbody>
<tr>
<td>
</td>
</tr>
<tr>
<td class="text-right" style="text-align: center;">
<img t-if="ticket_data['image']" alt="Student Image"
style="padding-top: 16px; padding-bottom: 16px; "
t-att-src="image_data_uri(ticket_data['image'])"
width="75"/>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<br></br>
<br></br>
<table class="table table-bordered">
<thead class="text-center"
style="background-color:#eeeeee; font-size:14px; font-weight:600;">
<th class="text-center">Subject</th>
<th class="text-center">Date</th>
<th class="text-center">Time</th>
<th class="text-center">Supervisor Sign</th>
</thead>
<tbody class="text-center" style="font-size:12px;">
<tr t-foreach="ticket_data['line']" t-as='s'>
<td>
<span t-out="s['subject'] if s['subject'] else ''"/>
</td>
<td>
<span t-out="s['date'] if s['date'] else ''" t-options="{'widget':'date'}"/>
</td>
<td>
<span t-esc="s['time']"/>
</td>
<td>
<span t-out="s['sup_sign'] if s['sup_sign'] else ''"/>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p style="page-break-after:always"></p>
</t>
</div>
</t>
</t>
</template>
</odoo>
@@ -0,0 +1,98 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
import time
from odoo import api, fields, models
class ReportTicket(models.AbstractModel):
_name = "report.openeducat_exam.report_ticket"
_description = "Exam Ticket Report"
def get_date(self, exam_line):
timestamp = fields.Datetime.context_timestamp
dt = fields.Datetime
schedule_start = timestamp(self, dt.from_string(exam_line.start_time))
schedule_end = timestamp(self, dt.from_string(exam_line.end_time))
schedule_start = fields.Datetime.to_string(schedule_start)
schedule_end = fields.Datetime.to_string(schedule_end)
return schedule_start[11:] + ' To ' + schedule_end[11:]
def get_subject(self, exam_session):
lst = []
time_slots = []
for exam_line in exam_session['exam_ids']:
schedule_start = fields.Datetime.from_string(exam_line.start_time)
schedule_end = fields.Datetime.from_string(exam_line.end_time)
overlap = any(
(schedule_start < existing_end and schedule_end > existing_start)
for existing_start, existing_end in time_slots
)
if not overlap:
res1 = {
'subject': exam_line.subject_id.name,
'date': fields.Datetime.to_string(exam_line.start_time)[:10],
'time': self.get_date(exam_line),
'sup_sign': ''
}
lst.append(res1)
time_slots.append((schedule_start, schedule_end))
return lst
def get_data(self, data):
final_lst = []
active_id = data['context'].get('active_id')
exam_session = self.env['op.exam.session'].search([
('id', '=' , active_id), ('state', '=' , 'schedule')])
if exam_session:
student_search = self.env['op.student'].search(
[('course_detail_ids.course_id', '=' , exam_session.course_id.id)])
for student in student_search:
student_course = self.env['op.student.course'].search(
[('student_id', '=' , student.id),
('course_id', '=' , exam_session.course_id.id)])
res = {
'exam': exam_session.name,
'exam_code': exam_session.exam_code,
'course': exam_session.course_id.name,
'student': student.name,
'image': student.image_1920,
'roll_number': student_course.roll_number,
'line': self.get_subject(exam_session),
}
final_lst.append(res)
return final_lst
@api.model
def _get_report_values(self, docids, data=None):
model = self.env.context.get('active_model')
docs = self.env[model].browse(self.env.context.get('active_id'))
docargs = {
'doc_ids': self.ids,
'doc_model': model,
'docs': docs,
'time': time,
'get_data': self.get_data(data),
}
return docargs
@@ -0,0 +1,62 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
import time
from odoo import api, fields, models
class ReportMarksheetReport(models.AbstractModel):
_name = "report.openeducat_exam.report_marksheet_report"
_description = "Exam Marksheet Report"
def get_objects(self, objects):
obj = []
for data in objects:
obj.extend(data)
return obj
def get_lines(self, obj):
lines = []
for line in obj.result_line:
lines.extend(line)
return lines
def get_date(self, date):
date1 = fields.Date.to_date(date)
return str(date1.month) + ' / ' + str(date1.year)
def get_total(self, result_line):
total = [x.exam_id.total_marks for x in result_line]
return sum(total)
@api.model
def _get_report_values(self, docids, data=None):
docs = self.env['op.marksheet.line'].browse(docids)
docargs = {
'doc_model': 'op.marksheet.line',
'docs': docs,
'time': time,
'get_objects': self.get_objects,
'get_lines': self.get_lines,
'get_date': self.get_date,
'get_total': self.get_total,
}
return docargs
@@ -0,0 +1,325 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="report_marksheet_report">
<style>
.font{
font-size:14px;
font-family:"Helvetica"
}
@page{
margin-top:1%;
size: A4;
}
</style>
<t t-call="web.html_container">
<t t-call="web.external_layout">
<div class="font">
<div class="page">
<br/>
<br/>
<br/>
<t t-foreach="get_objects(docs)" t-as="objs">
<t t-foreach="objs" t-as="obj">
<div class="text-center">
<h3>
<strong>MarkSheet
</strong>
</h3>
</div>
<br></br>
<t
t-if="obj.evaluation_type == 'normal'">
<table width="100%">
<tbody style="font-size:14px;">
<tr>
<td>
<b>Student Name:</b>
<span t-out="obj.student_id.name if obj.student_id.name else ''"/>
</td>
<td class="text-right">
<b>Course:</b>
<span t-out="obj.marksheet_reg_id.exam_session_id.course_id.name if obj.marksheet_reg_id.exam_session_id.course_id.name else ''"/>
</td>
</tr>
<tr>
<td>
<b>Exam Name:</b>
<span t-out="obj.marksheet_reg_id.name if obj.marksheet_reg_id.name else ''"/>
</td>
<td class="text-right">
<b>Exam Code:</b>
<span t-out="obj.marksheet_reg_id.exam_session_id.exam_code if obj.marksheet_reg_id.exam_session_id.exam_code else ''"/>
</td>
</tr>
</tbody>
</table>
<br></br>
<br></br>
<table class="table table-bordered">
<thead class="text-center"
style="background-color:#eeeeee; font-size:14px; font-weight:600;">
<th
class="text-center">Subject
</th>
<th
class="text-center">Exam
Type
</th>
<th
class="text-center">Total
Marks
</th>
<th
class="text-center">Passing
Marks
</th>
<th
class="text-center">Obtained
Marks
</th>
</thead>
<tbody class="text-left" style="font-size:12px;">
<t t-foreach="get_lines(obj)" t-as="lines">
<t
t-foreach="lines"
t-as="result">
<tr>
<td
class="text-center">
<span
t-out="result.exam_id.subject_id.name if result.exam_id.subject_id.name else ''"/>
</td>
<td
class="text-center">
<span
t-out="result.exam_id.session_id.exam_type.name if result.exam_id.session_id.exam_type.name else ''"/>
</td>
<td
class="text-right">
<span
t-out="result.exam_id.total_marks if result.exam_id.total_marks else ''"/>
</td>
<td
class="text-right">
<span
t-out="result.exam_id.min_marks if result.exam_id.min_marks else ''"/>
</td>
<td
class="text-right">
<span
t-out="result.marks if result.marks else '--'"/>
</td>
</tr>
</t>
</t>
</tbody>
</table>
<br></br>
<table width="100%"
class="table table-bordered">
<thead class="text-center"
style="background-color:#eeeeee; font-size:14px; font-weight:600;">
<th
class="text-center">Month/Year
of Passing
</th>
<th
class="text-center">Obtained
Marks/Total
Marks
</th>
<th
class="text-center">Percentage
</th>
<th
class="text-center">Result
</th>
</thead>
<tbody class="text-left" style="font-size:12px;">
<tr>
<td
class="text-center">
<span
t-out="get_date(obj.generated_date) if get_date(obj.generated_date) else ''"/>
</td>
<td
class="text-center">
<span
t-out="obj.total_marks if obj.total_marks else ''"/>
/
<span
t-out="get_total(get_lines(obj)) if get_total(get_lines(obj)) else ''"/>
</td>
<td
class="text-center">
<span
t-out="obj.percentage if obj.percentage else ''"/>
%
</td>
<td
class="text-center">
<span
t-out="obj.status if obj.status else ''"/>
</td>
</tr>
</tbody>
</table>
</t>
<t
t-if="obj.evaluation_type == 'grade'">
<table width="100%">
<tbody>
<tr>
<td
width="17%">
<b>Student
Name
</b>
</td>
<td>
:
<span
t-out="obj.student_id.name if obj.student_id.name else ''"/>
</td>
<td
width="15%">
<b>Course
</b>
</td>
<td>
:
<span
t-out="obj.marksheet_reg_id.exam_session_id.course_id.name if obj.marksheet_reg_id.exam_session_id.course_id.name else ''"/>
</td>
</tr>
<tr>
<td
width="17%">
<b>Exam
Name
</b>
</td>
<td>
:
<span
t-out="obj.marksheet_reg_id.name if obj.marksheet_reg_id.name else ''"/>
</td>
<td
width="15%">
<b>Exam
Code
</b>
</td>
<td>
:
<span
t-out="obj.marksheet_reg_id.exam_session_id.exam_code if obj.marksheet_reg_id.exam_session_id.exam_code else ''"/>
</td>
</tr>
</tbody>
</table>
<br></br>
<br></br>
<table
class="table table-bordered">
<thead>
<th
class="text-center">Subject
</th>
<th
class="text-center">Exam
Type
</th>
<th
class="text-center">Grade
</th>
<th
class="text-center">Absent
</th>
</thead>
<tbody>
<t t-foreach="get_lines(obj)" t-as="lines">
<t t-foreach="lines" t-as="result">
<tr>
<td
class="text-left">
<span
t-out="result.exam_id.subject_id.name if result.exam_id.subject_id.name else ''"/>
</td>
<td
class="text-left">
<span
t-out="result.exam_id.session_id.exam_type.name if result.exam_id.session_id.exam_type.name else ''"/>
</td>
<td
class="text-center">
<span
t-out="result.grade if result.grade else '--'"/>
</td>
<td
class="text-center">
<span
t-out="'P' if result.marks &gt; 0 else 'A'"/>
</td>
</tr>
</t>
</t>
</tbody>
</table>
<br></br>
<table width="100%"
class="table table-bordered">
<thead>
<th
class="text-center">Month/Year
of Passing
</th>
<th
class="text-center">Obtained
Grade
</th>
<th
class="text-center">Percentage
</th>
<th
class="text-center">Result
</th>
</thead>
<tbody>
<tr>
<td
class="text-center">
<span
t-out="get_date(obj.generated_date) if get_date(obj.generated_date) else ''"/>
</td>
<td class="text-center">
<span t-out="obj.grade if obj.grade else ''"/>
</td>
<td class="text-center">
<span
t-out="obj.percentage if obj.percentage else ''"/>
%
</td>
<td
class="text-center">
<span
t-out="obj.status if obj.status else ''"/>
</td>
</tr>
</tbody>
</table>
</t>
<p style="page-break-after: always;"></p>
</t>
</t>
</div>
</div>
</t>
</t>
</template>
</odoo>
@@ -0,0 +1,26 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_op_exam_attendees_faculty,op_exam_attendees_faculty,model_op_exam_attendees,openeducat_exam.group_op_exam_user,1,1,1,0
access_op_exam_room_faculty,op_exam_room_faculty,model_op_exam_room,openeducat_exam.group_op_exam_user,1,0,0,0
access_op_exam_room_back_office_admin,op_exam_room_back_office_admin,model_op_exam_room,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_exam_session_faculty,op_exam_session_faculty,model_op_exam_session,openeducat_exam.group_op_exam_user,1,1,1,0
access_op_exam_session_back_office_admin,op_exam_session_back_office_admin,model_op_exam_session,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_exam_type_faculty,op_exam_type_faculty,model_op_exam_type,openeducat_exam.group_op_exam_user,1,0,0,0
access_op_exam_type_back_office_admin,op_exam_type_back_office_admin,model_op_exam_type,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_exam_faculty,op_exam_faculty,model_op_exam,openeducat_exam.group_op_exam_user,1,1,1,0
access_op_exam_back_office_admin,op_exam_back_office_admin,model_op_exam,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_marksheet_register_faculty,op_marksheet_register_faculty,model_op_marksheet_register,openeducat_exam.group_op_exam_user,1,1,1,0
access_op_marksheet_register_back_office_admin,op_marksheet_register_back_office_admin,model_op_marksheet_register,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_marksheet_line_faculty,op_marksheet_line_faculty,model_op_marksheet_line,openeducat_exam.group_op_exam_user,1,1,1,0
access_op_marksheet_line_back_office_admin,op_marksheet_line_back_office_admin,model_op_marksheet_line,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_result_line_faculty,op_result_line_faculty,model_op_result_line,openeducat_exam.group_op_exam_user,1,1,1,0
access_op_result_line_back_office_admin,op_result_line_back_office_admin,model_op_result_line,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_result_template_faculty,name_op_result_template_faculty,model_op_result_template,openeducat_exam.group_op_exam_user,1,1,1,0
access_op_result_template_back_office_admin,name_op_result_template_back_office_admin,model_op_result_template,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_grade_configuration_back_office,access_op_grade_configuration_back_office,model_op_grade_configuration,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_grade_configuration_faculty,access_op_grade_configuration_faculty,model_op_grade_configuration,openeducat_exam.group_op_exam_user,1,0,0,0
access_op_marksheet_line_student,op_marksheet_line_student,model_op_marksheet_line,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_result_line_student,op_result_line_student,model_op_result_line,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_held_exam,name_op_held_exam,model_op_held_exam,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_held_exam_faculty,name_op_held_exam_faculty,model_op_held_exam,openeducat_exam.group_op_exam_user,1,1,1,0
access_op_room_distribution,name_op_room_distribution,model_op_room_distribution,openeducat_exam.group_op_exam_admin,1,1,1,1
access_op_room_distribution_faculty,name_op_room_distribution_faculty,model_op_room_distribution,openeducat_exam.group_op_exam_user,1,1,1,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_op_exam_attendees_faculty op_exam_attendees_faculty model_op_exam_attendees openeducat_exam.group_op_exam_user 1 1 1 0
3 access_op_exam_room_faculty op_exam_room_faculty model_op_exam_room openeducat_exam.group_op_exam_user 1 0 0 0
4 access_op_exam_room_back_office_admin op_exam_room_back_office_admin model_op_exam_room openeducat_exam.group_op_exam_admin 1 1 1 1
5 access_op_exam_session_faculty op_exam_session_faculty model_op_exam_session openeducat_exam.group_op_exam_user 1 1 1 0
6 access_op_exam_session_back_office_admin op_exam_session_back_office_admin model_op_exam_session openeducat_exam.group_op_exam_admin 1 1 1 1
7 access_op_exam_type_faculty op_exam_type_faculty model_op_exam_type openeducat_exam.group_op_exam_user 1 0 0 0
8 access_op_exam_type_back_office_admin op_exam_type_back_office_admin model_op_exam_type openeducat_exam.group_op_exam_admin 1 1 1 1
9 access_op_exam_faculty op_exam_faculty model_op_exam openeducat_exam.group_op_exam_user 1 1 1 0
10 access_op_exam_back_office_admin op_exam_back_office_admin model_op_exam openeducat_exam.group_op_exam_admin 1 1 1 1
11 access_op_marksheet_register_faculty op_marksheet_register_faculty model_op_marksheet_register openeducat_exam.group_op_exam_user 1 1 1 0
12 access_op_marksheet_register_back_office_admin op_marksheet_register_back_office_admin model_op_marksheet_register openeducat_exam.group_op_exam_admin 1 1 1 1
13 access_op_marksheet_line_faculty op_marksheet_line_faculty model_op_marksheet_line openeducat_exam.group_op_exam_user 1 1 1 0
14 access_op_marksheet_line_back_office_admin op_marksheet_line_back_office_admin model_op_marksheet_line openeducat_exam.group_op_exam_admin 1 1 1 1
15 access_op_result_line_faculty op_result_line_faculty model_op_result_line openeducat_exam.group_op_exam_user 1 1 1 0
16 access_op_result_line_back_office_admin op_result_line_back_office_admin model_op_result_line openeducat_exam.group_op_exam_admin 1 1 1 1
17 access_op_result_template_faculty name_op_result_template_faculty model_op_result_template openeducat_exam.group_op_exam_user 1 1 1 0
18 access_op_result_template_back_office_admin name_op_result_template_back_office_admin model_op_result_template openeducat_exam.group_op_exam_admin 1 1 1 1
19 access_op_grade_configuration_back_office access_op_grade_configuration_back_office model_op_grade_configuration openeducat_exam.group_op_exam_admin 1 1 1 1
20 access_op_grade_configuration_faculty access_op_grade_configuration_faculty model_op_grade_configuration openeducat_exam.group_op_exam_user 1 0 0 0
21 access_op_marksheet_line_student op_marksheet_line_student model_op_marksheet_line openeducat_exam.group_op_exam_admin 1 1 1 1
22 access_op_result_line_student op_result_line_student model_op_result_line openeducat_exam.group_op_exam_admin 1 1 1 1
23 access_op_held_exam name_op_held_exam model_op_held_exam openeducat_exam.group_op_exam_admin 1 1 1 1
24 access_op_held_exam_faculty name_op_held_exam_faculty model_op_held_exam openeducat_exam.group_op_exam_user 1 1 1 0
25 access_op_room_distribution name_op_room_distribution model_op_room_distribution openeducat_exam.group_op_exam_admin 1 1 1 1
26 access_op_room_distribution_faculty name_op_room_distribution_faculty model_op_room_distribution openeducat_exam.group_op_exam_user 1 1 1 0
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record model="ir.module.category" id="module_category_all_op_exam">
<field name="name">Exam</field>
<field name="description">Helps you manage your institutes different-different users.</field>
<field name="sequence">108</field>
<field name="parent_id" eval="False"/>
</record>
<record id="module_category_openeducat_exam" model="ir.module.category">
<field name="name">Exam</field>
<field name="description">Helps you manage your institutes different-different users.</field>
<field name="parent_id" ref="openeducat_exam.module_category_all_op_exam"/>
<field name="sequence">18</field>
</record>
<record id="group_op_exam_user" model="res.groups">
<field name="name">User</field>
<field name="category_id" ref="module_category_openeducat_exam"/>
<field name="users" eval="[(4, ref('base.user_admin'))]"/>
<field name="implied_ids"
eval="[(4, ref('base.group_user'))]"/>
</record>
<record id="group_op_exam_admin" model="res.groups">
<field name="name">Manager</field>
<field name="category_id" ref="module_category_openeducat_exam"/>
<field name="users" eval="[(4, ref('base.user_admin'))]"/>
<field name="implied_ids"
eval="[(4, ref('openeducat_exam.group_op_exam_user'))]"/>
</record>
<record model="ir.rule" id="student_marksheet_rule">
<field name="name">Student Marksheet</field>
<field name="model_id" ref="model_op_marksheet_line"/>
<field name="groups"
eval="[(4, ref('openeducat_exam.group_op_exam_admin'))]"/>
<field name="domain_force">['|', ('student_id.user_id','=',user.id),
('student_id.user_id','in',user.child_ids.ids)]
</field>
</record>
<record model="ir.rule" id="admin_marksheet_rule">
<field name="name">Admin Marksheet</field>
<field name="model_id" ref="model_op_marksheet_line"/>
<field name="groups"
eval="[(4, ref('openeducat_exam.group_op_exam_admin'))]"/>
<field name="domain_force">[(1,"=",1)]</field>
</record>
<record model="ir.rule" id="student_result_rule">
<field name="name">Student Result Line</field>
<field name="model_id" ref="model_op_result_line"/>
<field name="groups"
eval="[(4, ref('openeducat_exam.group_op_exam_admin'))]"/>
<field name="domain_force">['|', ('student_id.user_id','=',user.id),
('student_id.user_id','in',user.child_ids.ids)]
</field>
</record>
<record model="ir.rule" id="admin_result_rule">
<field name="name">Admin Result Line</field>
<field name="model_id" ref="model_op_result_line"/>
<field name="groups"
eval="[(4, ref('openeducat_exam.group_op_exam_admin'))]"/>
<field name="domain_force">[(1,'=',1)]</field>
</record>
</odoo>
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_3" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FBB130;}
.st2{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill:#00A079;}
.st4{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st5{fill:#FFFFFF;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<rect y="0" class="st0" width="122.9" height="122.9"/>
<g id="Hotel_1_">
<path class="st1" d="M103.4,107h-28l-7-21l7-28h22c3.3,0,6,2.7,6,6V107z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="68.45" y1="41.3898" x2="103.4903" y2="41.3898" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M103.4,107h-28l-7-21l7-28h22c3.3,0,6,2.7,6,6V107z"/>
<path class="st3" d="M75.4,21.9V107h-21l-7-14l-7,14h-21V21.9c0-3.3,2.7-6,6-6h44.1C72.8,15.9,75.4,18.6,75.4,21.9z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="19.3678" y1="62.4398" x2="75.4323" y2="62.4398" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M75.4,21.9V107h-21l-7-14l-7,14h-21V21.9c0-3.3,2.7-6,6-6h44.1C72.8,15.9,75.4,18.6,75.4,21.9z"/>
<g>
<path class="st5" d="M40.4,93h14v14h-14V93z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1"
id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" xmlns:xodm="http://www.corel.com/coreldraw/odm/2003"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_1_);}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_2_);fill-opacity:0.2;}
.st3{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_3_);}
.st4{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_4_);fill-opacity:0.2;}
.st5{fill-rule:evenodd;clip-rule:evenodd;fill:#102E7A;}
.st6{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_5_);fill-opacity:0.2;}
.st7{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="-2.9" y="-10.2"></sliceSourceBounds>
</sfw>
</metadata>
<g id="Layer_x0020_1">
<rect class="st0" width="122.9" height="122.9"/>
<g id="_2032626019552">
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="42171.3828" y1="-48657.0313" x2="41325.3242" y2="-48566.3828" gradientTransform="matrix(2.845684e-02 0 0 -2.845684e-02 -1161.0911 -1322.0814)">
<stop offset="0" style="stop-color:#22B8F9"/>
<stop offset="1" style="stop-color:#45C4FA"/>
</linearGradient>
<path class="st1" d="M29,4.6l4.1,52.8L29,118.3c-4.4,0-8.1-3.6-8.1-8.1V12.7C20.8,8.3,24.5,4.6,29,4.6L29,4.6z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="42171.3828" y1="-48657.0313" x2="41325.3242" y2="-48566.3828" gradientTransform="matrix(2.845684e-02 0 0 -2.845684e-02 -1161.0911 -1322.0814)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M29,4.6l4.1,52.8L29,118.3c-4.4,0-8.1-3.6-8.1-8.1V12.7C20.8,8.3,24.5,4.6,29,4.6L29,4.6z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="44880.3164" y1="-49655.5664" x2="41403.4648" y2="-47544.6367" gradientTransform="matrix(2.845684e-02 0 0 -2.845684e-02 -1161.0911 -1322.0814)">
<stop offset="0" style="stop-color:#22B8F9"/>
<stop offset="1" style="stop-color:#45C4FA"/>
</linearGradient>
<path class="st3" d="M102,29v83.5c0,3.2-2.6,5.7-5.7,5.7H37.1L33,57.4l4.1-52.8h59.2c3.2,0,5.7,2.6,5.7,5.7v2.3
C102,12.7,102,29,102,29z"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="44880.3164" y1="-49655.5664" x2="41403.4648" y2="-47544.6367" gradientTransform="matrix(2.845684e-02 0 0 -2.845684e-02 -1161.0911 -1322.0814)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M102,29v83.5c0,3.2-2.6,5.7-5.7,5.7H37.1L33,57.4l4.1-52.8h59.2c3.2,0,5.7,2.6,5.7,5.7v2.3
C102,12.7,102,29,102,29z"/>
<polygon class="st5" points="29,4.6 37.1,4.6 37.1,118.3 29,118.3 "/>
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="28.979" y1="61.45" x2="37.0529" y2="61.45">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<polygon class="st6" points="29,4.6 37.1,4.6 37.1,118.3 29,118.3 "/>
<g>
<polygon class="st7" points="45.1,77.7 93.9,77.7 93.9,85.7 45.1,85.7 "/>
<polygon class="st7" points="45.1,93.9 93.9,93.9 93.9,102 45.1,102 "/>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_2_1_" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:#1BB6F9;}
.st1{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st2{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st3{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="114.8" width="87.7" x="17.6" y="4"></sliceSourceBounds>
</sfw>
</metadata>
<path class="st0" d="M91.9,34.5c0,16.8-13.6,30.4-30.4,30.4S31.1,51.3,31.1,34.5S44.7,4.1,61.5,4.1S91.9,17.7,91.9,34.5z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="31.1" y1="34.5" x2="91.9" y2="34.5">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st1" d="M91.9,34.5c0,16.8-13.6,30.4-30.4,30.4S31.1,51.3,31.1,34.5S44.7,4.1,61.5,4.1S91.9,17.7,91.9,34.5z"/>
<path class="st0" d="M17.6,78.4h47.2c22.4,0,40.5,18.1,40.5,40.5H58.1C35.8,118.9,17.6,100.7,17.6,78.4z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="17.6" y1="98.65" x2="105.3" y2="98.65">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M17.6,78.4h47.2c22.4,0,40.5,18.1,40.5,40.5H58.1C35.8,118.9,17.6,100.7,17.6,78.4z"/>
<polygon class="st3" points="56.3,78.4 66.1,78.4 66.1,104.6 56.3,104.6 "/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#00A079;}
.st2{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill:#FBB130;}
.st4{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st5{fill:#006158;}
.st6{fill:url(#SVGID_3_);fill-opacity:0.2;}
.st7{display:none;fill:#FFFFFF;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<g id="Layer_3">
<rect y="0" class="st0" width="122.9" height="122.9"/>
<g id="Layer_2_1_">
<path class="st1" d="M3.3,31.4h116.5V92c0,5.1-4.2,9.3-9.3,9.3H3.3V31.4z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-0.4914" y1="758.4995" x2="123.6299" y2="810.2166" gradientTransform="matrix(1 0 0 1 0 -718)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M3.3,31.4h116.5V92c0,5.1-4.2,9.3-9.3,9.3H3.3V31.4z"/>
<path class="st3" d="M12.6,52.3c-5.1,0-9.3-4.2-9.3-9.3V31.3c0-5.1,4.2-9.3,9.3-9.3h107.2v21c0,5.1-4.2,9.3-9.3,9.3H12.6z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="25.0528" y1="717.3729" x2="100.743" y2="790.1522" gradientTransform="matrix(1 0 0 1 0 -718)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M12.6,52.3c-5.1,0-9.3-4.2-9.3-9.3V31.3c0-5.1,4.2-9.3,9.3-9.3h107.2v21c0,5.1-4.2,9.3-9.3,9.3H12.6z"/>
<path class="st5" d="M3.3,40.7h116.5V50c0,5.1-4.2,9.3-9.3,9.3H12.6c-5.1,0-9.3-4.2-9.3-9.3C3.3,50,3.3,40.7,3.3,40.7z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="41.9011" y1="733.9953" x2="84.2298" y2="800.1337" gradientTransform="matrix(1 0 0 1 0 -718)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st6" d="M3.3,40.7h116.5V50c0,5.1-4.2,9.3-9.3,9.3H12.6c-5.1,0-9.3-4.2-9.3-9.3C3.3,50,3.3,40.7,3.3,40.7z"/>
<path class="st7" d="M98.8,59.3c0,3.9-3.1,7-7,7s-7-3.1-7-7s3.1-7,7-7C95.7,52.3,98.8,55.5,98.8,59.3z"/>
<path class="st7" d="M80.2,71h11.7c6.4,0,11.7,5.2,11.7,11.7H91.8C85.4,82.6,80.2,77.4,80.2,71z"/>
</g>
</g>
<g id="Layer_2">
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 171 KiB

@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1"
id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" xmlns:xodm="http://www.corel.com/coreldraw/odm/2003"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#1BB6F9;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill-rule:evenodd;clip-rule:evenodd;fill:#0382F3;}
.st4{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_2_);fill-opacity:0.2;}
.st5{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_3_);fill-opacity:0.2;}
.st6{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_4_);fill-opacity:0.2;}
.st7{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_5_);fill-opacity:0.2;}
.st8{fill-rule:evenodd;clip-rule:evenodd;fill:#102E7A;}
.st9{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_6_);fill-opacity:0.2;}
.st10{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_7_);fill-opacity:0.2;}
.st11{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_8_);fill-opacity:0.2;}
.st12{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_9_);fill-opacity:0.2;}
.st13{fill:#FFFFFF;}
.st14{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<g id="Layer_x0020_1">
<rect y="0" class="st0" width="122.9" height="122.9"/>
<g id="_2888754740800">
<path class="st1" d="M97.3,119.9h-73c-1.6,0-3-1.3-3-3V14.6c0-6.6,5.4-12,12-12h73c1.7,0,3,1.3,3,3v102.3
C109.3,114.5,103.9,119.9,97.3,119.9z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="21.3" y1="61.25" x2="109.3" y2="61.25">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M97.3,119.9h-73c-1.6,0-3-1.3-3-3V14.6c0-6.6,5.4-12,12-12h73c1.7,0,3,1.3,3,3v102.3
C109.3,114.5,103.9,119.9,97.3,119.9z"/>
<path class="st3" d="M21.3,31.9h-3.7c-2,0-3.7-1.6-3.7-3.7l0,0c0-2,1.6-3.7,3.7-3.7h3.7l7.3,3.7L21.3,31.9z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="13.9" y1="28.2" x2="28.6" y2="28.2">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M21.3,31.9h-3.7c-2,0-3.7-1.6-3.7-3.7l0,0c0-2,1.6-3.7,3.7-3.7h3.7l7.3,3.7L21.3,31.9z"/>
<path class="st3" d="M21.3,53.9h-3.7c-2,0-3.7-1.6-3.7-3.7l0,0c0-2,1.6-3.7,3.7-3.7h3.7l7.3,3.7L21.3,53.9z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="13.9" y1="50.2" x2="28.6" y2="50.2">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st5" d="M21.3,53.9h-3.7c-2,0-3.7-1.6-3.7-3.7l0,0c0-2,1.6-3.7,3.7-3.7h3.7l7.3,3.7L21.3,53.9z"/>
<path class="st3" d="M21.3,75.9h-3.7c-2,0-3.7-1.6-3.7-3.7l0,0c0-2,1.6-3.7,3.7-3.7h3.7l7.3,3.7L21.3,75.9z"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="13.9" y1="72.2" x2="28.6" y2="72.2">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st6" d="M21.3,75.9h-3.7c-2,0-3.7-1.6-3.7-3.7l0,0c0-2,1.6-3.7,3.7-3.7h3.7l7.3,3.7L21.3,75.9z"/>
<path class="st3" d="M21.3,97.9h-3.7c-2,0-3.7-1.6-3.7-3.7l0,0c0-2,1.6-3.7,3.7-3.7h3.7l7.3,3.7L21.3,97.9z"/>
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="13.9" y1="94.2" x2="28.6" y2="94.2">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st7" d="M21.3,97.9h-3.7c-2,0-3.7-1.6-3.7-3.7l0,0c0-2,1.6-3.7,3.7-3.7h3.7l7.3,3.7L21.3,97.9z"/>
<path class="st8" d="M21.3,24.6H25c2,0,3.6,1.6,3.6,3.6l0,0c0,2-1.6,3.6-3.6,3.6h-3.7V24.6z"/>
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="21.3" y1="28.2" x2="28.6" y2="28.2">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st9" d="M21.3,24.6H25c2,0,3.6,1.6,3.6,3.6l0,0c0,2-1.6,3.6-3.6,3.6h-3.7V24.6z"/>
<path class="st8" d="M21.3,46.6H25c2,0,3.6,1.6,3.6,3.6l0,0c0,2-1.6,3.6-3.6,3.6h-3.7V46.6z"/>
<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="21.3" y1="50.2" x2="28.6" y2="50.2">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st10" d="M21.3,46.6H25c2,0,3.6,1.6,3.6,3.6l0,0c0,2-1.6,3.6-3.6,3.6h-3.7V46.6z"/>
<path class="st8" d="M21.3,68.6H25c2,0,3.6,1.6,3.6,3.6l0,0c0,2-1.6,3.6-3.6,3.6h-3.7V68.6z"/>
<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="21.3" y1="72.2" x2="28.6" y2="72.2">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st11" d="M21.3,68.6H25c2,0,3.6,1.6,3.6,3.6l0,0c0,2-1.6,3.6-3.6,3.6h-3.7V68.6z"/>
<path class="st8" d="M21.3,90.6H25c2,0,3.6,1.6,3.6,3.6l0,0c0,2-1.6,3.6-3.6,3.6h-3.7V90.6z"/>
<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="21.3" y1="94.2" x2="28.6" y2="94.2">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st12" d="M21.3,90.6H25c2,0,3.6,1.6,3.6,3.6l0,0c0,2-1.6,3.6-3.6,3.6h-3.7V90.6z"/>
<g>
<path class="st13" d="M57.6,52.6c-6.1,0-11,4.9-11,11v18.3h7.3v-7.3h7.3v7.3h7.3V63.6C68.6,57.5,63.6,52.6,57.6,52.6L57.6,52.6z
M61.2,67.2h-7.3v-3.7c0-2.1,1.6-3.7,3.7-3.7s3.7,1.6,3.7,3.7v3.7H61.2z"/>
<polygon class="st14" points="90.6,45.2 83.2,45.2 83.2,37.9 75.9,37.9 75.9,45.2 68.6,45.2 68.6,52.6 75.9,52.6 75.9,59.9
83.2,59.9 83.2,52.6 90.6,52.6 "/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

@@ -0,0 +1,736 @@
<section class="oe_container">
<div class="container">
<div class="mw-100 py-5 px-lg-5 px-md-5 px-0 bg-100 rounded-4 mt32">
<div class="row mx-0">
<div class="col-md-6 col-12 pb-2 pb-md-0 pr-md-2 mb16">
<div class="oe_padded h-100 ml-md-4" style="padding-left:20px">
<img class="float-left mb-2"
src="students-icon.svg" style="width:15%;"/>
<h3 class="pl-4"
style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:700; font-size:24px; line-height:28.8px; color:#000000">
Student Information Management
</h3>
<div style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:400; font-size:16px; line-height:22px; color:#475569">
A centralized system for managing student data, including profiles, activities, health
information, and parental details, to facilitate informed decision-making.
</div>
</div>
</div>
<div class="col-md-6 col-12 pb-2 pb-md-0 pr-md-2 mb16">
<div class="oe_padded h-100 ml-md-4" style="padding-left:20px">
<img class="float-left mb-2"
src="faculties-icon.svg" style="width:15%;"/>
<h3 class="pl-4"
style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:700; font-size:24px; line-height:28.8px; color:#000000">
Faculty Management
</h3>
<div style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:400; font-size:16px; line-height:22px; color:#475569">
Streamlines faculty information, skills, degrees, and employment history, while integrating with
HR management and payroll systems.
</div>
</div>
</div>
<div class="col-md-6 col-12 pb-2 pb-md-0 pr-md-2 mb16">
<div class="oe_padded h-100 ml-md-4" style="padding-left:20px">
<img class="float-left mb-2"
src="courses-icon 1.svg" style="width:15%;">
<h3 class="pl-4"
style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:700; font-size:24px; line-height:28.8px; color:#000000">
Course Management
</h3>
<div style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:400; font-size:16px; line-height:22px; color:#475569">
Efficiently organizes courses, subjects, and sessions, including curriculum, lesson plans, and
timetables.
</div>
</div>
</div>
<div class="col-md-6 col-12 pb-2 pb-md-0 pr-md-2 mb16">
<div class="oe_padded h-100 ml-md-4" style="padding-left:20px">
<img class="float-left mb-2"
src="openeducat_admission.svg" style="width:15%;"/>
<h3 class="pl-4"
style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:700; font-size:24px; line-height:28.8px; color:#000000">
Admission Management
</h3>
<div style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:400; font-size:16px; line-height:22px; color:#475569">
Simplifies the enrollment process with online applications, planned admissions, and integrated
communication tools.
</div>
</div>
</div>
<div class="col-md-6 col-12 pb-2 pb-md-0 pr-md-2 mb16">
<div class="oe_padded h-100 ml-md-4" style="padding-left:20px">
<img class="float-left mb-2"
src="openeducat_exam.svg" style="width:15%;"/>
<h3 class="pl-4"
style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:700; font-size:24px; line-height:28.8px; color:#000000">
Examination Management
</h3>
<div style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:400; font-size:16px; line-height:22px; color:#475569">
Facilitates exam scheduling using various evaluation methods, supports online exams, and
generates automated report cards.
</div>
</div>
</div>
<div class="col-md-6 col-12 pb-2 pb-md-0 pr-md-2 mb16">
<div class="oe_padded h-100 ml-md-4" style="padding-left:20px">
<img class="float-left mb-2"
src="openeducat_account_financial_reports.svg" style="width:15%;"/>
<h3 class="pl-4"
style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:700; font-size:24px; line-height:28.8px; color:#000000">
Financial Management
</h3>
<div style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:400; font-size:16px; line-height:22px; color:#475569">
Manages financial activities with flexible payment systems, automated fee reminders, and
detailed financial reports.
</div>
</div>
</div>
<div class="col-md-6 col-12 pb-2 pb-md-0 pr-md-2 mb16">
<div class="oe_padded h-100 ml-md-4" style="padding-left:20px">
<img class="float-left mb-2"
src="openeducat_attendance.svg" style="width:15%;"/>
<h3 class="pl-4"
style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:700; font-size:24px; line-height:28.8px; color:#000000">
Attendance Management
</h3>
<div style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:400; font-size:16px; line-height:22px; color:#475569">
Tracks attendance and manages class schedules efficiently to ensure smooth academic operations.
</div>
</div>
</div>
<div class="col-md-6 col-12 pb-2 pb-md-0 pr-md-2 mb16">
<div class="oe_padded h-100 ml-md-4" style="padding-left:20px">
<img class="float-left mb-2"
src="openeducat_library.svg" style="width:15%;"/>
<h3 class="pl-4"
style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:700; font-size:24px; line-height:28.8px; color:#000000">
Library Management
</h3>
<div style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:400; font-size:16px; line-height:22px; color:#475569">
Handles book lending, cataloging, and member management to support educational resources.
</div>
</div>
</div>
<div class="col-md-6 col-12 pb-2 pb-md-0 pr-md-2 mb16">
<div class="oe_padded h-100 ml-md-4" style="padding-left:20px">
<img class="float-left mb-2"
src="lms-icon.svg" style="width:15%;"/>
<h3 class="pl-4"
style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:700; font-size:24px; line-height:28.8px; color:#000000">
Learning Management System
</h3>
<div style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:400; font-size:16px; line-height:22px; color:#475569">
Enhances collaboration with integrated messaging and notifications to keep stakeholders
informed.
</div>
</div>
</div>
<div class="col-md-6 col-12 pb-2 pb-md-0 pr-md-2 mb16">
<div class="oe_padded h-100 ml-md-4" style="padding-left:20px">
<img class="float-left mb-2"
src="openeducat_classroom.svg" style="width:15%;"/>
<h3 class="pl-4"
style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:700; font-size:24px; line-height:28.8px; color:#000000">
Classroom Management
</h3>
<div style="font-family:'Open Sans', sans-serif; font-style:normal; font-weight:400; font-size:16px; line-height:22px; color:#475569">
Generates insightful reports for data-driven decision-making, helping institutions optimize
their operations.
</div>
</div>
</div></div>
</div>
</div>
</section>
<section class="oe_container pt64">
<div class="container">
<div class="mw-100 py-5 px-lg-5 px-md-5 px-0 bg-100 rounded-4">
<div class="oe_padded ml-md-4" style="padding-left:20px">
<h3 class="pl-4"
style="font-family:'Open Sans', sans-serif; font-weight:700; font-size:26px; line-height:31px; color:#000000">
Highlights
</h3>
</div>
<div class="d-flex row">
<div class="col-md-6 col-lg-4 col-sm-12 p-0" style="border:none">
<div class="ms-3 position-relative">
<img class="mb-2 me-2" src="openeducat_assignment.svg" alt="Icon" style="width:48px;"/>
<span style="font-family:'Open Sans', sans-serif; font-style:normal; color:black; font-size:16px; font-weight:400; line-height:24px; letter-spacing:0em; text-align:left">
Assignment Allocation
</span>
</div>
</div>
<div class="col-md-6 col-lg-4 col-sm-12 p-0 mt-2" style="border:none">
<div class="ms-3 position-relative">
<img class="mb-2 me-2" src="openeducat_exam.svg" alt="Icon" style="width:48px;"/>
<span style="font-family:'Open Sans', sans-serif; font-style:normal; color:black; font-size:16px; font-weight:400; line-height:24px; letter-spacing:0em; text-align:left">
Exam Management
</span>
</div>
</div>
<div class="col-md-6 col-lg-4 col-sm-12 p-0 mt-2" style="border:none">
<div class="ms-3 position-relative">
<img class="mb-2 me-2" src="fees.svg" alt="Icon" style="width:48px;"/>
<span style="font-family:'Open Sans', sans-serif; font-style:normal; color:black; font-size:16px; font-weight:400; line-height:24px; letter-spacing:0em; text-align:left">
Fees Management
</span>
</div>
</div>
<div class="col-md-6 col-lg-4 col-sm-12 p-0 mt-2" style="border:none">
<div class="ms-3 position-relative">
<img class="float-left mb-2" src="inventory.svg" style="width:15%;">
<span style="font-family:'Open Sans', sans-serif; font-style:normal; color:black; font-size:16px; font-weight:400; line-height:24px; letter-spacing:0em; text-align:left">
Inventory Management
</span>
</div>
</div>
<div class="col-md-6 col-lg-4 col-sm-12 p-0 mt-2" style="border:none">
<div class="ms-3 position-relative">
<img class="mb-2 me-2" src="campus-icon.svg" alt="Icon" style="width:48px;"/>
<span style="font-family:'Open Sans', sans-serif; font-style:normal; color:black; font-size:16px; font-weight:400; line-height:24px; letter-spacing:0em; text-align:left">
Campus Management
</span>
</div>
</div>
<div class="col-md-6 col-lg-4 col-sm-12 p-0 mt-2" style="border:none">
<div class="ms-3 position-relative">
<img class="mb-2 me-2" src="notice-board-icon.svg" alt="Icon" style="width:48px;"/>
<span style="font-family:'Open Sans', sans-serif; font-style:normal; color:black; font-size:16px; font-weight:400; line-height:24px; letter-spacing:0em; text-align:left">
Notice Board
</span>
<span class="badge badge-secondary bg-success text-white position-absolute p-1">Enterprise</span>
</div>
</div>
<div class="col-md-6 col-lg-4 col-sm-12 p-0" style="border:none">
<div class="ms-3 position-relative">
<img class="mb-2 me-2" src="grade-book-icon.svg" alt="Icon" style="width:48px;"/>
<span style="font-family:'Open Sans', sans-serif; font-style:normal; color:black; font-size:16px; font-weight:400; line-height:24px; letter-spacing:0em; text-align:left">
Gradebook Management
</span>
<span class="badge badge-secondary bg-success text-white position-absolute p-1">Enterprise</span>
</div>
</div>
<div class="col-md-6 col-lg-4 col-sm-12 p-0 mt-2" style="border:none">
<div class="ms-3 position-relative">
<img class="mb-2 me-2" src="assignment-annotation-icon.png" alt="Icon" style="width:48px;"/>
<span style="font-family:'Open Sans', sans-serif; font-style:normal; color:black; font-size:16px; font-weight:400; line-height:24px; letter-spacing:0em; text-align:left">
Assignment Annotation
</span>
<span class="badge badge-secondary bg-success text-white position-absolute p-1">Enterprise</span>
</div>
</div>
<div class="col-md-6 col-lg-4 col-sm-12 p-0 mt-2" style="border:none">
<div class="ms-3 position-relative">
<img class="mb-2 me-2" src="openeducat_alumni_enterprise.svg" alt="Icon" style="width:48px;"/>
<span style="font-family:'Open Sans', sans-serif; font-style:normal; color:black; font-size:16px; font-weight:400; line-height:24px; letter-spacing:0em; text-align:left">
Alumni Management
</span>
<span class="badge badge-secondary bg-success text-white position-absolute p-1">Enterprise</span>
</div>
</div>
<div class="col-md-6 col-lg-4 col-sm-12 p-0 mt-2" style="border:none">
<div class="ms-3 position-relative">
<img class="mb-2 me-2" src="transportation-icon.svg" alt="Icon" style="width:48px;"/>
<span style="font-family:'Open Sans', sans-serif; font-style:normal; color:black; font-size:16px; font-weight:400; line-height:24px; letter-spacing:0em; text-align:left">
Transpotation Management
</span>
<span class="badge badge-secondary bg-success text-white position-absolute p-1">Enterprise</span>
</div>
</div>
<div class="col-md-6 col-lg-4 col-sm-12 p-0 mt-2" style="border:none">
<div class="ms-3 position-relative">
<img class="mb-2 me-2" src="kpi-dashboard-icon.svg" alt="Icon" style="width:48px;"/>
<span style="font-family:'Open Sans', sans-serif; font-style:normal; color:black; font-size:16px; font-weight:400; line-height:24px; letter-spacing:0em; text-align:left">
KPI Dashboards
</span>
<span class="badge badge-secondary bg-success text-white position-absolute p-1">Enterprise</span>
</div>
</div>
<div class="col-md-6 col-lg-4 col-sm-12 p-0 mt-2" style="border:none">
<div class="ms-3 position-relative">
<img class="float-left mb-2" src="news.svg" style="width:15%;">
<span style="font-family:'Open Sans', sans-serif; font-style:normal; color:black; font-size:16px; font-weight:400; line-height:24px; letter-spacing:0em; text-align:left">
News Portal
</span>
<span class="badge badge-secondary bg-success text-white position-absolute p-1">Enterprise</span>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="oe_container pt64">
<div class="container">
<div class="row no-gutters mw-100 mx-0">
<section class="" id="inner_page_banner_section">
<div class="container pt32 pb32">
<div class="row align-items-center">
<div class="col-12 col-lg-12 col-md-12 col-sm-12 col-xs-12 mb32">
<h1 class="mt0 font-weight-normal page-title text-center">OpenEduCat vs other odoo
educational modules
and applications </h1>
<p class="text-center">Below is a concise side-by-side comparison table highlighting why
OpenEduCat stands out
from other Odoo-based education management modules: </p>
<div class="erp_compare_table my-5 text-dark table-responsive">
<!-- <table class="table table-bordered table-striped">-->
<table class="table table-bordered table-striped">
<thead class="bg-black text-white">
<tr class="">
<th>Criteria</th>
<th>OpenEduCat</th>
<th>Other Odoo Educational Modules</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. History &amp; Expertise</td>
<td>- First specialized solution in the Odoo ecosystem
- Deep expertise in both ERP and education
- Decades of combined industry knowledge
</td>
<td>- Often smaller scale or a byproduct of broader Odoo offerings
- Typically less domain-focused and less proven
</td>
</tr>
<tr>
<td>2. Track Record</td>
<td>- 3M+ users and 50,000+ institutes worldwide
- Global community of educators and administrators
</td>
<td>- Limited user base and references
- Less recognized in global education circles
</td>
</tr>
<tr>
<td>3. Core Product Focus</td>
<td>- Maintained as a flagship product at OpenEduCat, Inc.
- Continuous investments in enhancements and new features
</td>
<td>- Generally one of the many modules a developer might offer, leading to
divided attention
</td>
</tr>
<tr>
<td>4. Reviews &amp; Reputation</td>
<td>- Highly rated on G2 and SourceForge
- Consistent positive customer feedback and testimonials
</td>
<td>- Fewer or less visible third-party reviews</td>
</tr>
<tr>
<td>5. Active Development</td>
<td>- Frequent releases and timely updates
- Dedicated roadmap for education-related improvements
</td>
<td>- Irregular or slow updates
- May not keep pace with evolving education technology
</td>
</tr>
<tr>
<td>6. Open Source &amp; Enterprise</td>
<td>- Fully open source with an optional Enterprise Edition
- Flexible, cost-effective solutions for institutions of all sizes
</td>
<td>- Some may offer only limited versions or features, requiring more
customization
</td>
</tr>
<tr>
<td>7. Customer Support &amp; Community</td>
<td>- Extensive documentation, tutorials, and an active community
- Professional support from experts in both ERP and education
</td>
<td>- Limited or ad-hoc support
- Smaller community and less specialized resources
</td>
</tr>
<tr>
<td>8. Scalability &amp; Reliability</td>
<td>- Proven performance in large-scale deployments
- Designed to handle complex workflows and multiple campuses
</td>
<td>- Often suitable only for smaller environments</td>
</tr>
<tr>
<td>9. Integration &amp; Customization</td>
<td>- Native Odoo integration plus easy compatibility with third-party tools
- Customizable for unique academic workflows
</td>
<td>- May require extra effort or third-party help to integrate</td>
</tr>
<tr>
<td>10. Overall Value &amp; ROI</td>
<td>- High-quality features and ongoing innovation
- A trusted, long-term solution backed by a large user base and active
development
</td>
<td>- Uncertain support or updates, risking higher long-term costs</td>
</tr>
</tbody>
</table>
</div>
<div class="mt48"> <h3 class="pl-4" style="font-family:'Open Sans', sans-serif; font-weight:700; font-size:26px; line-height:31px; color:#000000">Why OpenEduCat Matters</h3>
<!-- <h5 class="mb24">Why OpenEduCat Matters 🎓 </h5>-->
<ul class="mb32 list-unstyled">
<li class="mb-3 text-black">
Institutional Longevity :
OpenEduCat's unwavering commitment to education ensures a future-proof solution,
providing your institution with long-term stability and reliability.
</li>
<li class="mb-3 text-black">
Cost-Effective Investment
Leveraging a robust open-source foundation coupled with optional enterprise
support, OpenEduCat minimizes your total cost of ownership by eliminating hidden
maintenance and upgrade expenses.
</li>
<li class="mb-3 text-black">
Proven Industry Expertise
Our extensive experience in both ERP systems and the education sector guarantees
a mature, high-performance solution capable of addressing complex institutional
requirements.
</li>
<li class="mb-3 text-black">
Scalable Solutions for All
"Choosing OpenEduCat isn't merely implementing another module—it's an investment
in a global leader in education management, purpose-built for the Odoo platform.
From small institutions to large universities, OpenEduCat seamlessly scales to
meet your evolving needs."
</li>
<li class="mb-3 text-black">
Tailored for Education
As a specialized solution for the education sector, OpenEduCat offers features
and functionalities specifically designed to enhance academic operations and
student management.
</li>
<li class="mb-3 text-black">
Data Security and Compliance
With increasing focus on data protection in education, OpenEduCat prioritizes
security measures and compliance with educational data regulations.
</li>
</ul>
<blockquote class="text-black border-0" style="font-size: 22px;"> When you choose <b
class="text-o-color-1">OpenEduCat</b> you are not just installing another
module you are investing in a <b class="text-o-color-1">global leader </b> in
education management built specifically for the Odoo platform. Whether you are a
small institution or a large university OpenEduCat scales seamlessly to meet your
needs
</blockquote>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</section>
<section class="oe_container pt64">
<div class="container">
<div class="mw-100 py-5 px-5 bg-100 rounded-4">
<div class="oe_padded ml-md-4" style="padding-left:20px">
<h3 class="pl-4"
style="font-family:'Open Sans', sans-serif; font-weight:700; font-size:26px; line-height:31px; color:#000000">
Badges &amp; Awards
</h3>
</div>
<div class="d-flex row">
<img class="img img-fluid" src="g2-img.svg"/>
</div>
<div class="d-flex row">
<img class="img img-fluid" src="sourceforge-img.svg"/>
</div>
</div>
</div>
</section>
<section class="oe_container pt32">
<div class="container">
<!-- <div class="mt64 oec_feature row mx-0 align-items-center"-->
<!-- style="border: 1px solid #e3eaf2;border-radius: 12px;padding: 40px 20px;background: #f6fafe;">-->
<!-- <div class="col-12 col-sm-12 col-md-12 col-lg-7"><h5>Get in touch for a personalized-->
<!-- demo or to discuss how we can tailor OpenEduCat to your institutions unique-->
<!-- requirements. </h5></div>-->
<!-- <div class="col-12 col-sm-12 col-md-12 col-lg-5 text-center">-->
<!-- <div class="banner_btn"><a href="https://openeducat.org/demo"-->
<!-- title="Try For Free"-->
<!-- class="mr-2 mr-lg-2 mr-md-2 my-1 text-center btn btn-primary banner-btn-fill">-->
<!-- Try For Free </a> <a href="https://openeducat.org/booking"-->
<!-- title="Talk to Expert"-->
<!-- class="mr-2 mr-lg-2 mr-md-2 my-1 text-center btn btn-primary banner-btn-light">-->
<!-- Talk to Expert </a></div>-->
<!-- </div>-->
<!-- </div>-->
<div class="row no-gutters mw-100 mx-0 py-5 px-lg-5 px-md-5 rounded-4 mt32 mb32 bg-100">
<div class="mb16">
<h1 class="text-center">Need Any Help?</h1>
</div>
<div class="text-left col-12">
<ul class="inlineBlock list-unstyled row">
<li class="col-12 p-2 col-lg-6"><div style="text-align: center;border: 1px solid #ddd;padding: 10px;"><h4 style="line-height: 1.5;">Website : <br/> openeducat.org</h4></div></li>
<li class="col-12 p-2 col-lg-6"><div style="text-align: center;border: 1px solid #ddd;padding: 10px;"><h4 style="line-height: 1.5;">Contact Us : <br/> openeducat.org/contactus </h4></div></li>
<li class="col-12 p-2 col-lg-6"><div style="text-align: center;border: 1px solid #ddd;padding: 10px;"><h4 style="line-height: 1.5;">Try for Free : <br/> openeducat.org/demo </h4></div></li>
<li class="col-12 p-2 col-lg-6"><div style="text-align: center;border: 1px solid #ddd;padding: 10px;"><h4 style="line-height: 1.5;">Talk to Expert : <br/> openeducat.org/booking </h4></div></li>
</ul>
</div>
<!-- <div class="text-left col-6">-->
<!-- <img class="img img-fluid" src="help.jpg"/>-->
<!-- </div>-->
</div>
</div>
</section>
<!--<section class="oe_container">-->
<!-- <div class="oe_mt16 oe_mb16">-->
<!-- <h2 class="oe_slogan">Need Any Help?</h2>-->
<!-- </div>-->
<!-- <div class="oe_slogan">-->
<!-- <a class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;" href="mailto:support@openeducat.org"><i-->
<!-- class="fa fa-envelope"></i> Email </a>-->
<!-- <a class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;"-->
<!-- href="https://www.openeducat.org/page/contactus"><i class="fa fa-phone"></i> Contact Us </a>-->
<!-- <a class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;"-->
<!-- href="https://www.openeducat.org/page/contactus"><i class="fa fa-check-square"></i> Request Customization-->
<!-- </a>-->
<!-- <a class="mt8 btn btn-primary btn-lg" style="color: #FFFFFF !important;margin-right: 7px;"-->
<!-- href="https://www.openeducat.org/page/return-and-refund-policy"><i class="fa fa-share-square" style=""></i>-->
<!-- Returns and Refunds Policy</a>-->
<!-- </div>-->
<!--</section>-->
<!--old-->
<!--<section class="oe_container">-->
<!-- <div class="oe_row oe_spaced">-->
<!-- <div class="oe_span12">-->
<!-- <h2 class="oe_slogan">OpenEduCat Core</h2>-->
<!-- <h3 class="oe_slogan">Efficient management of students,-->
<!-- faculties, courses and batches with a collaborative platform</h3>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <div class="oe_demo oe_picture oe_screenshot">-->
<!-- <a href="https://www.openeducat.org/demo"> <img-->
<!-- src="openeducat_logo.png">-->
<!-- </a>-->
<!-- <div class="oe_demo_footer oe_centeralign">Online Demo</div>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <p class="oe_mt32">Based on best of class enterprise level-->
<!-- architecture, OpenEduCat is ready to be used from local-->
<!-- infrastructure to a highly scalable cloud environment.</p>-->
<!-- <div class="oe_centeralign oe_websiteonly">-->
<!-- <a href="https://www.openeducat.org/contactus/"-->
<!-- class="oe_button oe_big oe_tacky">Contact Us</a>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!--</section>-->
<!--<section class="oe_container oe_dark">-->
<!-- <div class="oe_row oe_spaced">-->
<!-- <h2 class="oe_slogan">Student Information At Your Click</h2>-->
<!-- <div class="oe_span6">-->
<!-- <p class="oe_mt32">A complete student management system which-->
<!-- enables you to store all information related to students such as-->
<!-- address, blood group, achievements and much more.</p>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <div class="oe_row_img oe_centered">-->
<!-- <img class="oe_picture oe_screenshot" src="student.png">-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!--</section>-->
<!--<section class="oe_container">-->
<!-- <div class="oe_row oe_spaced">-->
<!-- <h2 class="oe_slogan">Easier Faculty Management</h2>-->
<!-- <div class="oe_span6">-->
<!-- <div class="oe_row_img oe_centered">-->
<!-- <img class="oe_picture" src="faculty.png">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <p class="oe_mt32">Faculty management system with integrated HR-->
<!-- management system gives full control over information related to-->
<!-- faculty like educational degree, skills and payroll.</p>-->
<!-- </div>-->
<!-- </div>-->
<!--</section>-->
<!--<section class="oe_container oe_dark">-->
<!-- <div class="oe_row oe_spaced">-->
<!-- <h2 class="oe_slogan">Subject Management</h2>-->
<!-- <div class="oe_span6">-->
<!-- <p class="oe_mt32">Subject management system to manage-->
<!-- details of subject like name, code and type such as theory, practical-->
<!-- or both.</p>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <div class="oe_row_img oe_centered">-->
<!-- <img class="oe_picture" src="subjects.png">-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!--</section>-->
<!--<section class="oe_container">-->
<!-- <div class="oe_row oe_spaced">-->
<!-- <h2 class="oe_slogan">Course Management</h2>-->
<!-- <div class="oe_span6">-->
<!-- <div class="oe_row_img oe_centered">-->
<!-- <img class="oe_picture oe_screenshot" src="courses.png">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <p class="oe_mt32">A Course management system provides detailed-->
<!-- information of course and subjects related to that course. You-->
<!-- can manage parent-child relationship between courses.</p>-->
<!-- </div>-->
<!-- </div>-->
<!--</section>-->
<!--<section class="oe_container oe_dark">-->
<!-- <div class="oe_row oe_spaced">-->
<!-- <h2 class="oe_slogan">Batch Management</h2>-->
<!-- <div class="oe_span6">-->
<!-- <p class="oe_mt32">Batch management system to manage batches of-->
<!-- students from different courses.</p>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <div class="oe_row_img oe_centered">-->
<!-- <img class="oe_picture oe_screenshot" src="batch.png">-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!--</section>-->
<!--<section class="oe_container">-->
<!-- <div class="oe_row oe_spaced">-->
<!-- <div class="oe_span12">-->
<!-- <h2 class="oe_slogan">OpenEduCat Core</h2>-->
<!-- <h3 class="oe_slogan">Efficient management of students,-->
<!-- faculties, courses and batches with a collaborative platform</h3>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <div class="oe_demo oe_picture oe_screenshot">-->
<!-- <a href="https://www.openeducat.org/demo"> <img-->
<!-- src="openeducat_logo.png">-->
<!-- </a>-->
<!-- <div class="oe_demo_footer oe_centeralign">Online Demo</div>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <p class="oe_mt32">Based on best of class enterprise level-->
<!-- architecture, OpenEduCat is ready to be used from local-->
<!-- infrastructure to a highly scalable cloud environment.</p>-->
<!-- <div class="oe_centeralign oe_websiteonly">-->
<!-- <a href="https://www.openeducat.org/contactus/"-->
<!-- class="oe_button oe_big oe_tacky">Contact Us</a>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!--</section>-->
<!--<section class="oe_container oe_dark">-->
<!-- <div class="oe_row oe_spaced">-->
<!-- <h2 class="oe_slogan">Student Information At Your Click</h2>-->
<!-- <div class="oe_span6">-->
<!-- <p class="oe_mt32">A complete student management system which -->
<!-- enables you to store all information related to students such as-->
<!-- address, blood group, achievements and much more.</p>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <div class="oe_row_img oe_centered">-->
<!-- <img class="oe_picture oe_screenshot" src="student.png">-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!--</section>-->
<!--<section class="oe_container">-->
<!-- <div class="oe_row oe_spaced">-->
<!-- <h2 class="oe_slogan">Easier Faculty Management</h2>-->
<!-- <div class="oe_span6">-->
<!-- <div class="oe_row_img oe_centered">-->
<!-- <img class="oe_picture" src="faculty.png">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <p class="oe_mt32">Faculty management system with integrated HR-->
<!-- management system gives full control over information related to-->
<!-- faculty like educational degree, skills and payroll.</p>-->
<!-- </div>-->
<!-- </div>-->
<!--</section>-->
<!--<section class="oe_container oe_dark">-->
<!-- <div class="oe_row oe_spaced">-->
<!-- <h2 class="oe_slogan">Subject Management</h2>-->
<!-- <div class="oe_span6">-->
<!-- <p class="oe_mt32">Subject management system to manage -->
<!-- details of subject like name, code and type such as theory, practical-->
<!-- or both.</p>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <div class="oe_row_img oe_centered">-->
<!-- <img class="oe_picture" src="subjects.png">-->
<!-- </div>-->
<!-- </div>-->
<!-- -->
<!-- </div>-->
<!--</section>-->
<!--<section class="oe_container">-->
<!-- <div class="oe_row oe_spaced">-->
<!-- <h2 class="oe_slogan">Course Management</h2>-->
<!-- <div class="oe_span6">-->
<!-- <div class="oe_row_img oe_centered">-->
<!-- <img class="oe_picture oe_screenshot" src="courses.png">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <p class="oe_mt32">A Course management system provides detailed-->
<!-- information of course and subjects related to that course. You-->
<!-- can manage parent-child relationship between courses.</p>-->
<!-- </div>-->
<!-- </div>-->
<!--</section>-->
<!--<section class="oe_container oe_dark">-->
<!-- <div class="oe_row oe_spaced">-->
<!-- <h2 class="oe_slogan">Batch Management</h2>-->
<!-- <div class="oe_span6">-->
<!-- <p class="oe_mt32">Batch management system to manage batches of-->
<!-- students from different courses.</p>-->
<!-- </div>-->
<!-- <div class="oe_span6">-->
<!-- <div class="oe_row_img oe_centered">-->
<!-- <img class="oe_picture oe_screenshot" src="batch.png">-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!--</section>-->
<!--<section class="oe_container">-->
<!-- <div class="oe_mt16 oe_mb16">-->
<!-- <h2 class="oe_slogan">Need Any Help?</h2>-->
<!-- </div>-->
<!-- <div class="oe_slogan">-->
<!-- <a class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;" href="mailto:support@openeducat.org"><i class="fa fa-envelope"></i> Email </a>-->
<!-- <a class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;" href="https://www.openeducat.org/page/contactus"><i class="fa fa-phone"></i> Contact Us </a>-->
<!-- <a class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;" href="https://www.openeducat.org/page/contactus"><i class="fa fa-check-square"></i> Request Customization </a>-->
<!-- <a class="mt8 btn btn-primary btn-lg" style="color: #FFFFFF !important;margin-right: 7px;" href="https://www.openeducat.org/page/return-and-refund-policy"><i class="fa fa-share-square" style=""></i> Returns and Refunds Policy</a>-->
<!-- </div>-->
<!--</section>-->
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_2_1_" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FBB945;}
.st2{fill:#F86126;}
.st3{fill:#985184;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<rect y="0" class="st0" width="122.9" height="122.9"/>
<g id="Layer_3">
<path class="st1" d="M61.5,2l19.4,11.3L34.6,44.5v45.3L36,106L10.5,91.2V31.7L61.5,2z"/>
<path class="st2" d="M41.9,109.5L24.5,99.3V40.2l51.2-29.9l17.8,10.4L53,57.2L41.9,109.5L41.9,109.5z"/>
<path class="st3" d="M93.5,20.7l18.9,11v59.4l-50.9,29.7l-19.6-11.4V50.8L93.5,20.7L93.5,20.7z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_2" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#00CEB3;}
.st2{fill:#FC787D;}
.st3{fill:#FBB130;}
.st4{fill:#1BB6F9;}
.st5{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st6{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st7{fill:url(#SVGID_3_);fill-opacity:0.2;}
.st8{fill:url(#SVGID_4_);fill-opacity:0.2;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<rect x="0" y="0" class="st0" width="122.9" height="122.9"/>
<g>
<g>
<path class="st1" d="M28.9,86.2v26L18,119.4l-10.9-7.2v-26c0-1.7,1.3-3,3-3h15.7C27.5,83.2,28.9,84.5,28.9,86.2z"/>
<path class="st2" d="M57.8,64.4v47.7L47,119.4l-10.9-7.2V64.4c0-1.7,1.3-3,3-3h15.7C56.5,61.5,57.8,62.8,57.8,64.4z"/>
<path class="st3" d="M86.8,35.5v76.6l-10.9,7.2l-10.9-7.2V35.5c0-1.7,1.3-3,3-3h15.7C85.4,32.5,86.8,33.8,86.8,35.5z"/>
<path class="st4" d="M115.7,6.5v105.6l-10.9,7.2L94,112.1V6.5c0-1.7,1.3-3,3-3h15.7C114.4,3.5,115.7,4.9,115.7,6.5z"/>
</g>
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="7.1592" y1="101.2632" x2="28.8755" y2="101.2632">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st5" d="M28.9,86.2v26L18,119.4l-10.9-7.2v-26c0-1.7,1.3-3,3-3h15.7C27.5,83.2,28.9,84.5,28.9,86.2z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="36.1143" y1="90.4051" x2="57.8306" y2="90.4051">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st6" d="M57.8,64.4v47.7L47,119.4l-10.9-7.2V64.4c0-1.7,1.3-3,3-3h15.7C56.5,61.5,57.8,62.8,57.8,64.4z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="65.0694" y1="75.9275" x2="86.7857" y2="75.9275">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st7" d="M86.8,35.5v76.6l-10.9,7.2l-10.9-7.2V35.5c0-1.7,1.3-3,3-3h15.7C85.4,32.5,86.8,33.8,86.8,35.5z"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="94.0245" y1="61.45" x2="115.7408" y2="61.45">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st8" d="M115.7,6.5v105.6l-10.9,7.2L94,112.1V6.5c0-1.7,1.3-3,3-3h15.7C114.4,3.5,115.7,4.9,115.7,6.5z"/>
</g>
<path class="st4" d="M94,112.1h21.7v7.2H94V112.1z"/>
<path class="st3" d="M65.1,112.1h21.7v7.2H65.1V112.1z"/>
<path class="st2" d="M36.1,112.1h21.7v7.2H36.1V112.1z"/>
<path class="st1" d="M7.2,112.1h21.7v7.2H7.2V112.1z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#1BB6F9;}
.st2{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill:#1B567A;}
.st4{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st5{display:none;fill:url(#SVGID_3_);fill-opacity:0.2;}
.st6{fill:#FFFFFF;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="-0.9"></sliceSourceBounds>
</sfw>
</metadata>
<g id="Layer_2_1_">
<rect y="0.9" class="st0" width="122.9" height="122.9"/>
<g>
<path class="st1" d="M15.4,11.6c-6.6,0-12,5.4-12,12v9.8l58,7.3l58-7.3V11.6H15.4z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.4" y1="744.15" x2="119.4" y2="744.15" gradientTransform="matrix(1 0 0 1 0 -718)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M15.4,11.6c-6.6,0-12,5.4-12,12v9.8l58,7.3l58-7.3V11.6H15.4z"/>
<path class="st3" d="M3.4,33.3h116v67.8c0,6.6-5.4,12-12,12H3.4V33.3z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.4" y1="73.2" x2="119.4" y2="73.2">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M3.4,33.3h116v67.8c0,6.6-5.4,12-12,12H3.4V33.3z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="3.45" y1="791.2" x2="119.45" y2="791.2" gradientTransform="matrix(1 0 0 1 0 -718)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st5" d="M3.5,33.3h116v67.8c0,6.6-5.4,12-12,12H3.5V33.3z"/>
</g>
</g>
<g id="Layer_3">
<path class="st6" d="M86.4,54.1v37.5c0,2.3-1.8,4.1-4.1,4.1H40.5c-2.3,0-4.1-1.8-4.1-4.1V54.8c0-2.3,1.8-4.1,4.1-4.1h15.9
c2.7,0,5,2.3,5,5c0-2.7,2.3-5,5-5H83C84.9,50.7,86.4,52.2,86.4,54.1z"/>
<path class="st3" d="M43.8,65.7h10.1c1.4,0,2.5,1.1,2.5,2.5l0,0c0,1.4-1.1,2.5-2.5,2.5H43.8c-1.4,0-2.5-1.1-2.5-2.5l0,0
C41.3,66.8,42.4,65.7,43.8,65.7z"/>
<path class="st3" d="M43.8,75.7h10.1c1.4,0,2.5,1.1,2.5,2.5l0,0c0,1.4-1.1,2.5-2.5,2.5H43.8c-1.4,0-2.5-1.1-2.5-2.5l0,0
C41.3,76.8,42.4,75.7,43.8,75.7z"/>
<path class="st3" d="M68.8,65.7h10c1.4,0,2.5,1.1,2.5,2.5l0,0c0,1.4-1.1,2.5-2.5,2.5h-10c-1.4,0-2.5-1.1-2.5-2.5l0,0
C66.3,66.8,67.4,65.7,68.8,65.7z"/>
<path class="st3" d="M68.8,75.7h10c1.4,0,2.5,1.1,2.5,2.5l0,0c0,1.4-1.1,2.5-2.5,2.5h-10c-1.4,0-2.5-1.1-2.5-2.5l0,0
C66.3,76.8,67.4,75.7,68.8,75.7z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_2_1_" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FBB130;}
.st2{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill:#00A079;}
.st4{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st5{fill:#006158;}
.st6{fill:url(#SVGID_3_);fill-opacity:0.2;}
.st7{fill:#FFFFFF;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<rect y="0" class="st0" width="122.9" height="122.9"/>
<g id="Layer_3">
<path class="st1" d="M94.6,116.1H28.2c-11.3,0-20.4-8.9-20.4-19.9V8.9h76.6c5.6,0,10.2,4.5,10.2,10V116.1z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-0.7339" y1="769.0675" x2="103.4924" y2="790.161" gradientTransform="matrix(1 0 0 1 0 -718)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M94.6,116.1H28.2c-11.3,0-20.4-8.9-20.4-19.9V8.9h76.6c5.6,0,10.2,4.5,10.2,10V116.1z"/>
<path class="st3" d="M94.6,116.1H28.2c-11.3,0-20.4-8.9-20.4-19.9V8.9h76.6c5.6,0,10.2,4.5,10.2,10V116.1z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-0.7339" y1="769.0675" x2="103.4924" y2="790.161" gradientTransform="matrix(1 0 0 1 0 -718)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M94.6,116.1H28.2c-11.3,0-20.4-8.9-20.4-19.9V8.9h76.6c5.6,0,10.2,4.5,10.2,10V116.1z"/>
<path class="st5" d="M28.2,116.1h66.4c2.7,0,5.3-0.5,7.8-1.6c2.5-1,4.7-2.5,6.6-4.4s3.4-4.1,4.4-6.6s1.6-5.1,1.6-7.8H48.7
C48.7,106.9,39.5,116.1,28.2,116.1z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="46.1171" y1="796.8245" x2="97.072" y2="850.9641" gradientTransform="matrix(1 0 0 1 0 -718)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st6" d="M28.2,116.1h66.4c2.7,0,5.3-0.5,7.8-1.6c2.5-1,4.7-2.5,6.6-4.4s3.4-4.1,4.4-6.6s1.6-5.1,1.6-7.8H48.7
C48.7,106.9,39.5,116.1,28.2,116.1z"/>
<path class="st7" d="M18.3,21.7h55.8c5.5,0,9.9,4.4,9.9,9.9v19.3H25.9c-4.2,0-7.6-3.4-7.6-7.6V21.7z"/>
<path class="st7" d="M58.5,58.2h21.9c2,0,3.7,1.6,3.7,3.7v0c0,2-1.6,3.7-3.7,3.7l-21.9,0c-2,0-3.7-1.6-3.7-3.7v0
C54.9,59.9,56.5,58.2,58.5,58.2z"/>
<path class="st7" d="M22,58.2h21.9c2,0,3.7,1.6,3.7,3.7v0c0,2-1.6,3.7-3.7,3.7l-21.9,0c-2,0-3.7-1.6-3.7-3.7v0
C18.3,59.9,20,58.2,22,58.2z"/>
<path class="st7" d="M22,72.8h21.9c2,0,3.7,1.6,3.7,3.7v0c0,2-1.6,3.7-3.7,3.7H22c-2,0-3.7-1.6-3.7-3.7v0
C18.3,74.5,20,72.8,22,72.8z"/>
<path class="st7" d="M58.5,72.8h21.9c2,0,3.7,1.6,3.7,3.7v0c0,2-1.6,3.7-3.7,3.7H58.5c-2,0-3.7-1.6-3.7-3.7v0
C54.9,74.5,56.5,72.8,58.5,72.8z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1"
id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" xmlns:xodm="http://www.corel.com/coreldraw/odm/2003"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FBB130;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill-rule:evenodd;clip-rule:evenodd;fill:#006158;}
.st4{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_2_);fill-opacity:0.2;}
.st5{fill-rule:evenodd;clip-rule:evenodd;fill:#00A079;}
.st6{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_3_);fill-opacity:0.2;}
.st7{fill-rule:evenodd;clip-rule:evenodd;fill:#EBF6F0;}
.st8{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_4_);}
.st9{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_5_);fill-opacity:0.2;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<rect y="0" class="st0" width="122.9" height="122.9"/>
<g id="Layer_2_1_">
<path class="st1" d="M52.9,16.7c-0.1-0.3-0.3-0.6-0.6-0.7s-0.7-0.1-1,0.1L16.6,41.8c-0.4,0.3-0.5,0.9-0.3,1.3
c0.2,0.4,0.8,0.6,1.2,0.4c1.7-0.7,3.6-1.1,5.6-1.1h5.3c0.2,0,0.4-0.1,0.6-0.2l26.2-19.4c0.2-0.2,0.4-0.4,0.4-0.7
c0-0.3-0.1-0.6-0.3-0.8C54.1,20.1,53.2,18.5,52.9,16.7z M71.6,16c-0.3-0.2-0.6-0.3-1-0.1C70.3,16,70,16.3,70,16.6
c-0.3,1.8-1.2,3.4-2.5,4.6c-0.2,0.2-0.3,0.5-0.3,0.8s0.2,0.6,0.4,0.7l26.2,19.4c0.2,0.1,0.4,0.2,0.6,0.2h5.3c2,0,3.9,0.4,5.6,1.1
c0.5,0.2,1,0,1.2-0.4s0.1-1-0.3-1.3L71.6,16z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="16.2" y1="29.6847" x2="106.6" y2="29.6847">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M52.9,16.7c-0.1-0.3-0.3-0.6-0.6-0.7s-0.7-0.1-1,0.1L16.6,41.8c-0.4,0.3-0.5,0.9-0.3,1.3
c0.2,0.4,0.8,0.6,1.2,0.4c1.7-0.7,3.6-1.1,5.6-1.1h5.3c0.2,0,0.4-0.1,0.6-0.2l26.2-19.4c0.2-0.2,0.4-0.4,0.4-0.7
c0-0.3-0.1-0.6-0.3-0.8C54.1,20.1,53.2,18.5,52.9,16.7z M71.6,16c-0.3-0.2-0.6-0.3-1-0.1C70.3,16,70,16.3,70,16.6
c-0.3,1.8-1.2,3.4-2.5,4.6c-0.2,0.2-0.3,0.5-0.3,0.8s0.2,0.6,0.4,0.7l26.2,19.4c0.2,0.1,0.4,0.2,0.6,0.2h5.3c2,0,3.9,0.4,5.6,1.1
c0.5,0.2,1,0,1.2-0.4s0.1-1-0.3-1.3L71.6,16z"/>
<path class="st3" d="M116.8,57.5c0-9.4-7.7-17.1-17.1-17.1H23.2c-9.4,0-17.1,7.7-17.1,17.1v43.8c0,9.4,7.7,17.1,17.1,17.1h76.6
c9.4,0,17.1-7.7,17.1-17.1L116.8,57.5L116.8,57.5z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="6.1" y1="79.4" x2="116.9" y2="79.4">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M116.8,57.5c0-9.4-7.7-17.1-17.1-17.1H23.2c-9.4,0-17.1,7.7-17.1,17.1v43.8c0,9.4,7.7,17.1,17.1,17.1h76.6
c9.4,0,17.1-7.7,17.1-17.1L116.8,57.5L116.8,57.5z"/>
<path class="st5" d="M109.4,57.5c0-5.3-4.3-9.6-9.6-9.6H23.2c-5.3,0-9.7,4.3-9.7,9.6v43.8c0,5.3,4.3,9.6,9.7,9.6h76.6
c5.3,0,9.6-4.3,9.6-9.6V57.5z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="13.5" y1="79.4" x2="109.4" y2="79.4">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st6" d="M109.4,57.5c0-5.3-4.3-9.6-9.6-9.6H23.2c-5.3,0-9.7,4.3-9.7,9.6v43.8c0,5.3,4.3,9.6,9.7,9.6h76.6
c5.3,0,9.6-4.3,9.6-9.6V57.5z"/>
<path class="st7" d="M28.4,72.7h66c0.6,0,1-0.4,1-1s-0.4-1-1-1h-66c-0.6,0-1,0.4-1,1C27.4,72.2,27.9,72.7,28.4,72.7L28.4,72.7z"/>
<path class="st7" d="M28.4,88.2h66c0.6,0,1-0.4,1-1s-0.4-1-1-1h-66c-0.6,0-1,0.4-1,1C27.4,87.8,27.9,88.2,28.4,88.2L28.4,88.2z"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="50.7414" y1="108.8898" x2="72.1414" y2="108.8898" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FBB232"/>
<stop offset="1" style="stop-color:#FCBB4B"/>
</linearGradient>
<circle class="st8" cx="61.5" cy="15" r="10.7"/>
<circle class="st3" cx="61.5" cy="15" r="6.8"/>
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="54.7" y1="15" x2="68.3" y2="15">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<circle class="st9" cx="61.5" cy="15" r="6.8"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1"
id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" xmlns:xodm="http://www.corel.com/coreldraw/odm/2003"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#32BDFA;}
.st2{fill:#FFFFFF;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<g id="Layer_x0020_1">
<rect x="0" y="0" class="st0" width="122.9" height="122.9"/>
<g id="_2888529216576">
<path class="st1" d="M23.6,2.9h84.8v108.2c-0.1,5.1-4,8.8-8.9,9H14.6V11.7C14.8,6.9,18.4,3.1,23.6,2.9z"/>
<g>
<g>
<path class="st2" d="M57.8,65.1V45.6c-10.8,0-19.5,8.7-19.5,19.5c0,10.8,8.7,19.5,19.5,19.5s19.5-8.7,19.5-19.5
C77.3,65.1,57.8,65.1,57.8,65.1z"/>
<path class="st2" d="M85.1,57.3H65.6V37.8C76.4,37.8,85.1,46.5,85.1,57.3z"/>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1"
id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" xmlns:xodm="http://www.corel.com/coreldraw/odm/2003"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FC787D;}
.st2{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill:#911E3D;}
.st4{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st5{fill:#FFFFFF;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<rect x="0" class="st0" width="122.9" height="122.9"/>
<g id="Layer_2">
<path class="st1" d="M96.7,118.3H26.3c-12,0-21.7-9.5-21.7-21.2V4.6h81.2c6,0,10.8,4.7,10.8,10.6V118.3z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-4.3898" y1="74.5658" x2="106.1182" y2="52.201" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M96.7,118.3H26.3c-12,0-21.7-9.5-21.7-21.2V4.6h81.2c6,0,10.8,4.7,10.8,10.6V118.3z"/>
<path class="st3" d="M26.3,118.3h70.4c2.8,0,5.7-0.6,8.3-1.6c2.6-1.1,5-2.7,7-4.7c2-2,3.6-4.4,4.7-7c1.1-2.6,1.6-5.4,1.6-8.3H48
C48,108.6,38.3,118.3,26.3,118.3z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="45.3095" y1="45.1319" x2="99.3439" y2="-12.2796" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M26.3,118.3h70.4c2.8,0,5.7-0.6,8.3-1.6c2.6-1.1,5-2.7,7-4.7c2-2,3.6-4.4,4.7-7c1.1-2.6,1.6-5.4,1.6-8.3H48
C48,108.6,38.3,118.3,26.3,118.3z"/>
</g>
<g id="Layer_2_1_">
<path class="st5" d="M39.1,24.1c0,5.4-4.3,9.7-9.7,9.7s-9.7-4.3-9.7-9.7s4.3-9.7,9.7-9.7S39.1,18.7,39.1,24.1z"/>
<path class="st5" d="M15.5,38h14.9c7.1,0,12.8,5.7,12.8,12.8H28.4C21.3,50.8,15.5,45.1,15.5,38z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_2_1_" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#00A079;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill:#FBB130;}
.st4{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st5{fill:#00A079;}
.st6{fill:url(#SVGID_3_);fill-opacity:0.2;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<rect y="0" class="st0" width="122.9" height="122.9"/>
<g>
<path class="st1" d="M103.8,83.3V47.5h9.8v35.9c0,2.7-2.2,4.9-4.9,4.9C106,88.2,103.8,86,103.8,83.3z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="103.8203" y1="55.9648" x2="113.5986" y2="55.9648" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M103.8,83.3V47.5h9.8v35.9c0,2.7-2.2,4.9-4.9,4.9C106,88.2,103.8,86,103.8,83.3z"/>
<path class="st3" d="M87.9,73.2c0,14.6-11.8,26.4-26.4,26.4S35,87.8,35,73.2s11.9-26.4,26.4-26.4S87.9,58.6,87.9,73.2z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="35" y1="50.6648" x2="87.8" y2="50.6648" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M87.9,73.2c0,14.6-11.8,26.4-26.4,26.4S35,87.8,35,73.2s11.9-26.4,26.4-26.4S87.9,58.6,87.9,73.2z"/>
<path class="st5" d="M9.5,44.5l44-19.6c5.1-2.2,10.8-2.2,15.9,0l44,19.6c2.6,1.1,2.6,4.8,0,6L69.4,70c-5.1,2.2-10.8,2.2-15.9,0
l-44-19.6C6.9,49.3,6.9,45.7,9.5,44.5L9.5,44.5z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="7.55" y1="76.4148" x2="115.35" y2="76.4148" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st6" d="M9.5,44.5l44-19.6c5.1-2.2,10.8-2.2,15.9,0l44,19.6c2.6,1.1,2.6,4.8,0,6L69.4,70c-5.1,2.2-10.8,2.2-15.9,0
l-44-19.6C6.9,49.3,6.9,45.7,9.5,44.5L9.5,44.5z"/>
</g>
<g id="Layer_3">
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_2_1_" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FC787D;}
.st2{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill:#1BB6F9;}
.st4{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st5{fill:#1B567A;}
.st6{fill:url(#SVGID_3_);fill-opacity:0.2;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<rect y="0" class="st0" width="122.9" height="122.9"/>
<g>
<path class="st1" d="M43.1,14.9h60.1c4.9,0,8.9,3.9,8.9,8.9v85.7c0,4.9-3.9,8.9-8.9,8.9H43.1c-4.9,0-8.9-3.9-8.9-8.9V23.8
C34.2,18.9,38.2,14.9,43.1,14.9z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="34.2403" y1="66.6518" x2="112.0862" y2="66.6518">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M43.1,14.9h60.1c4.9,0,8.9,3.9,8.9,8.9v85.7c0,4.9-3.9,8.9-8.9,8.9H43.1c-4.9,0-8.9-3.9-8.9-8.9V23.8
C34.2,18.9,38.2,14.9,43.1,14.9z"/>
<path class="st3" d="M19.7,4.5h60.1c4.9,0,8.9,3.9,8.9,8.9v85.7c0,4.9-3.9,8.9-8.9,8.9H19.7c-4.9,0-8.9-3.9-8.9-8.9V13.4
C10.8,8.4,14.7,4.5,19.7,4.5z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="10.8138" y1="67.6417" x2="88.763" y2="67.6417" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M19.7,4.5h60.1c4.9,0,8.9,4,8.9,8.9v85.7c0,4.9-4,8.9-8.9,8.9H19.7c-4.9,0-8.9-4-8.9-8.9V13.4
C10.8,8.5,14.8,4.5,19.7,4.5z"/>
<path class="st5" d="M79.8,108H34.1V23.8c0-4.9,4-8.9,8.9-8.9h45.7v84.2C88.7,104,84.7,108,79.8,108z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="34.0851" y1="61.454" x2="88.6597" y2="61.454">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st6" d="M79.8,108H34.1V23.8c0-4.9,4-8.9,8.9-8.9h45.7v84.2C88.7,104,84.7,108,79.8,108z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_2" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FBB130;}
.st2{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st4{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_3_);}
.st5{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_4_);fill-opacity:0.2;}
.st6{fill:#FFFFFF;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="-0.9"></sliceSourceBounds>
</sfw>
</metadata>
<g id="Layer_x0020_1_1_">
<rect x="0" y="0.9" class="st0" width="122.9" height="122.9"/>
<g id="_2032653888192">
<g>
<path class="st1" d="M67.3,30.1c0,14.6-11.8,26.4-26.4,26.4S14.4,44.7,14.4,30.1S26.3,3.7,40.8,3.7S67.3,15.5,67.3,30.1z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="14.45" y1="30.1398" x2="67.25" y2="30.1398">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M67.3,30.1c0,14.6-11.8,26.4-26.4,26.4S14.4,44.7,14.4,30.1S26.3,3.7,40.8,3.7S67.3,15.5,67.3,30.1z"/>
<path class="st1" d="M2.6,68.3h41c19.5,0,35.2,15.7,35.2,35.2h-41C18.4,103.5,2.6,87.7,2.6,68.3z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.65" y1="85.9398" x2="78.85" y2="85.9398">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st3" d="M2.6,68.3h41c19.5,0,35.2,15.7,35.2,35.2h-41C18.4,103.5,2.6,87.7,2.6,68.3z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="28706.5918" y1="33678.8594" x2="26852.752" y2="31825.041" gradientTransform="matrix(2.834646e-02 0 0 2.834646e-02 -693.7606 -833.6236)">
<stop offset="0" style="stop-color:#22B8F9"/>
<stop offset="1" style="stop-color:#45C4FA"/>
</linearGradient>
<path class="st4" d="M119.8,95.2c0,14.1-11.5,25.6-25.6,25.6c-14.1,0-25.6-11.5-25.6-25.6c0-1.2,0.3-2.5,0.3-3.7
c0-8.4,9-17.3,13.9-19.2v-0.1c3.4-1.8,7.3-2.7,11.4-2.7C108.3,69.6,119.8,81.1,119.8,95.2L119.8,95.2z"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="28706.5918" y1="33678.8594" x2="26852.752" y2="31825.041" gradientTransform="matrix(2.834646e-02 0 0 2.834646e-02 -693.7606 -833.6236)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st5" d="M119.8,95.2c0,14.1-11.5,25.6-25.6,25.6c-14.1,0-25.6-11.5-25.6-25.6c0-1.2,0.3-2.5,0.3-3.7
c0-8.4,9-17.3,13.9-19.2v-0.1c3.4-1.8,7.3-2.7,11.4-2.7C108.3,69.6,119.8,81.1,119.8,95.2L119.8,95.2z"/>
</g>
</g>
</g>
<polygon class="st6" points="90.5,106.3 80.7,96.5 85.8,91.3 90.5,96 102.5,84 107.6,89.2 "/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1"
id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" xmlns:xodm="http://www.corel.com/coreldraw/odm/2003"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#11D1B8;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#0D3F61;}
.st3{fill:#245170;}
.st4{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_1_);}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="-0.2" y="-0.2"></sliceSourceBounds>
</sfw>
</metadata>
<g id="Layer_x0020_1">
<rect x="-0.2" y="0.2" class="st0" width="122.9" height="122.9"/>
<g id="_1873264624496">
<path class="st1" d="M19.5,21h100.5v63.8c0,9.2-7.5,16.7-16.7,16.7H2.8V37.8C2.8,28.5,10.3,21,19.5,21z"/>
<path class="st2" d="M24,28.8h89.1v52.1c0,7.5-6.2,13.7-13.7,13.7H10.3V42.3C10.3,34.8,16.5,28.8,24,28.8z"/>
<polygon class="st3" points="61.5,87.3 90.8,87.3 90.8,101.9 61.5,101.9 "/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="18927.9766" y1="28778.9902" x2="18806.5723" y2="28293.3926" gradientTransform="matrix(2.834646e-02 0 0 2.834646e-02 -458.6204 -718)">
<stop offset="0" style="stop-color:#22B8F9"/>
<stop offset="1" style="stop-color:#45C4FA"/>
</linearGradient>
<polygon class="st4" points="61.5,87.3 90.8,87.3 90.8,94.6 61.5,94.6 "/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_2_1_" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FBB130;}
.st2{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill:#00CEB3;}
.st4{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st5{fill:#006158;}
.st6{fill:url(#SVGID_3_);fill-opacity:0.2;}
.st7{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<rect y="0" class="st0" width="122.9" height="122.9"/>
<g id="Layer_3">
<path class="st1" d="M94.6,115.1H28.2c-11.3,0-20.4-8.9-20.4-19.9V7.9h76.6c5.6,0,10.2,4.5,10.2,10V115.1z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-0.6839" y1="768.0175" x2="103.5424" y2="789.111" gradientTransform="matrix(1 0 0 1 0 -718)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M94.6,115.1H28.2c-11.3,0-20.4-8.9-20.4-19.9V7.9h76.6c5.6,0,10.2,4.5,10.2,10V115.1z"/>
<path class="st3" d="M94.6,115.1H28.2c-11.3,0-20.4-8.9-20.4-19.9V7.9h76.6c5.6,0,10.2,4.5,10.2,10V115.1z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-0.6839" y1="768.0175" x2="103.5424" y2="789.111" gradientTransform="matrix(1 0 0 1 0 -718)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M94.6,115.1H28.2c-11.3,0-20.4-8.9-20.4-19.9V7.9h76.6c5.6,0,10.2,4.5,10.2,10V115.1z"/>
<path class="st5" d="M28.2,115.1h66.4c2.7,0,5.3-0.5,7.8-1.6c2.5-1,4.7-2.5,6.6-4.4s3.4-4.1,4.4-6.6s1.6-5.1,1.6-7.8H48.7
C48.7,105.9,39.5,115.1,28.2,115.1z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="46.1671" y1="795.7744" x2="97.122" y2="849.9141" gradientTransform="matrix(1 0 0 1 0 -718)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st6" d="M28.2,115.1h66.4c2.7,0,5.3-0.5,7.8-1.6c2.5-1,4.7-2.5,6.6-4.4s3.4-4.1,4.4-6.6s1.6-5.1,1.6-7.8H48.7
C48.7,105.9,39.5,115.1,28.2,115.1z"/>
<path class="st7" d="M50.2,36.3c-12.2,0-22,9.8-22,22c0,12.1,9.8,21.9,21.9,21.9s22-9.8,22-21.9C72.3,46.1,62.4,36.3,50.2,36.3z
M61.2,61.9H46.5V43.6h7.4v11h7.3V61.9z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1"
id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" xmlns:xodm="http://www.corel.com/coreldraw/odm/2003"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FBB130;}
.st2{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st4{fill:#F77B09;}
.st5{fill:#00CEB3;}
.st6{fill:url(#SVGID_3_);fill-opacity:0.2;}
.st7{fill:url(#SVGID_4_);fill-opacity:0.2;}
.st8{fill:#006158;}
.st9{fill:#1BB6F9;}
.st10{fill:url(#SVGID_5_);fill-opacity:0.2;}
.st11{fill:url(#SVGID_6_);fill-opacity:0.2;}
.st12{fill:#102E7A;}
.st13{fill:url(#SVGID_7_);fill-opacity:0.2;}
.st14{fill:url(#SVGID_8_);fill-opacity:0.2;}
.st15{fill:url(#SVGID_9_);fill-opacity:0.2;}
.st16{fill:url(#SVGID_10_);fill-opacity:0.2;}
.st17{fill:url(#SVGID_11_);fill-opacity:0.2;}
.st18{fill:url(#SVGID_12_);fill-opacity:0.2;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="-0.2" y="-0.2"></sliceSourceBounds>
</sfw>
</metadata>
<rect x="-0.2" y="0.2" class="st0" width="122.9" height="122.9"/>
<g id="_1873289427872">
<path class="st1" d="M39,20.4v14.9L24.1,40l-15-4.7v-4.6c0.2-8.2,7.4-10.4,10.2-10.3H39z"/>
<path class="st1" d="M39,42.8v71.9c0,1.6-1.3,2.9-2.9,2.9H12c-1.6,0-2.9-1.3-2.9-2.9V42.8L24,40L39,42.8z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="9.0878" y1="78.7606" x2="39.0227" y2="78.7606">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M39,42.8v71.9c0,1.6-1.3,2.9-2.9,2.9H12c-1.6,0-2.9-1.3-2.9-2.9V42.8L24,40L39,42.8z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="9.0878" y1="93.7152" x2="39.0227" y2="93.7152" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st3" d="M39,20.4v14.9L24.1,40l-15-4.7v-4.6c0.2-8.2,7.4-10.4,10.2-10.3H39z"/>
<polygon class="st4" points="16.5,57.8 31.5,57.8 31.5,95.2 16.5,95.2 "/>
<path class="st5" d="M76.4,5.4v14.9l-14.9,2.8l-14.9-2.8v-4.9c-0.4-2.1,1.8-9.7,9.9-10H76.4z"/>
<path class="st5" d="M76.4,27.8v86.8c0,1.6-1.3,2.9-2.9,2.9H49.4c-1.6,0-2.9-1.3-2.9-2.9V27.8l14.9-4.7L76.4,27.8z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="46.4825" y1="70.3444" x2="76.4175" y2="70.3444">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st6" d="M76.4,27.8v86.8c0,1.6-1.3,2.9-2.9,2.9H49.4c-1.6,0-2.9-1.3-2.9-2.9V27.8l14.9-4.7L76.4,27.8z"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="46.4429" y1="109.6853" x2="76.3816" y2="109.6853" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st7" d="M76.4,5.4v14.9l-14.9,2.8l-14.9-2.8v-4.9c-0.4-2.1,1.8-9.7,9.9-10H76.4z"/>
<polygon class="st8" points="53.9,42.8 68.9,42.8 68.9,95.2 53.9,95.2 "/>
<path class="st9" d="M113.8,12.9v14.9l-14.7,4.7l-15.2-4.7v-4.7C84,16,90.2,12.7,94.2,12.9H113.8z"/>
<path class="st9" d="M113.8,35.3v79.4c0,1.6-1.3,2.9-2.9,2.9H86.7c-1.6,0-2.9-1.3-2.9-2.9V35.3l15.2-2.8L113.8,35.3z"/>
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="83.8773" y1="75.0307" x2="113.8122" y2="75.0307">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st10" d="M113.8,35.3v79.4c0,1.6-1.3,2.9-2.9,2.9H86.7c-1.6,0-2.9-1.3-2.9-2.9V35.3l15.2-2.8L113.8,35.3z"/>
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="83.8773" y1="101.1775" x2="113.8122" y2="101.1775" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st11" d="M113.8,12.9v14.9l-14.7,4.7l-15.2-4.7v-4.7C84,16,90.2,12.7,94.2,12.9H113.8z"/>
<polygon class="st12" points="91.3,50.3 106.3,50.3 106.3,95.2 91.3,95.2 "/>
<polygon class="st4" points="9.1,35.3 39,35.3 39,42.8 9.1,42.8 "/>
<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="16.5476" y1="47.4246" x2="31.5041" y2="47.4246" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<polygon class="st13" points="16.5,57.8 31.5,57.8 31.5,95.2 16.5,95.2 "/>
<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="9.0878" y1="84.8671" x2="39.0227" y2="84.8671" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<polygon class="st14" points="9.1,35.3 39,35.3 39,42.8 9.1,42.8 "/>
<polygon class="st8" points="46.5,20.4 76.4,20.4 76.4,27.8 46.5,27.8 "/>
<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="53.9424" y1="54.9322" x2="68.8988" y2="54.9322" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<polygon class="st15" points="53.9,42.8 68.9,42.8 68.9,95.2 53.9,95.2 "/>
<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="46.4825" y1="99.7867" x2="76.4175" y2="99.7867" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<polygon class="st16" points="46.5,20.4 76.4,20.4 76.4,27.8 46.5,27.8 "/>
<polygon class="st12" points="83.9,27.8 113.8,27.8 113.8,35.3 83.9,35.3 "/>
<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="91.3371" y1="51.1545" x2="106.2937" y2="51.1545" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<polygon class="st17" points="91.3,50.3 106.3,50.3 106.3,95.2 91.3,95.2 "/>
<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="83.8773" y1="92.3269" x2="113.8122" y2="92.3269" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<polygon class="st18" points="83.9,27.8 113.8,27.8 113.8,35.3 83.9,35.3 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_2_1_" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FBB130;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill-rule:evenodd;clip-rule:evenodd;fill:#FC787D;}
.st4{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_2_);fill-opacity:0.2;}
.st5{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.st6{fill-rule:evenodd;clip-rule:evenodd;fill:#F85318;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<rect y="0" class="st0" width="122.9" height="122.9"/>
<g id="_2032718428560">
<g id="Calendar">
<path class="st1" d="M119.9,39.6v61.1c0,6.6-5.4,12-12,12H6c-1.7,0-3-1.3-3-3V39.6l62.2-3.7L119.9,39.6z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3" y1="49.6398" x2="119.9" y2="49.6398" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M119.9,39.6v61.1c0,6.6-5.4,12-12,12H6c-1.7,0-3-1.3-3-3V39.6l62.2-3.7L119.9,39.6z"/>
<path class="st3" d="M119.9,13.3v19l-54.8,3.6L3,32.3v-10c0-6.6,5.4-12,12-12h2.6l7.3,0h29.3h7.3h29.3h7.3H117
C118.6,10.3,119.9,11.6,119.9,13.3z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3" y1="23.05" x2="119.9" y2="23.05">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M119.9,13.3v19l-54.8,3.6L3,32.3v-10c0-6.6,5.4-12,12-12h2.6l7.3,0h29.3h7.3h29.3h7.3H117
C118.6,10.3,119.9,11.6,119.9,13.3z"/>
<g>
<path class="st5" d="M61.5,54.2c-12.2,0-22,9.8-22,22c0,12.1,9.8,21.9,21.9,21.9s22-9.8,22-21.9C83.5,64,73.7,54.2,61.5,54.2z
M72.5,79.8H57.8V61.5h7.4v11h7.3V79.8z"/>
<polygon class="st6" points="3,32.3 119.9,32.3 119.9,39.6 3,39.6 "/>
<line class="st0" x1="119.9" y1="39.6" x2="3" y2="39.6"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_2_1_" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#00CEB3;}
.st2{fill:#003458;}
.st3{fill:url(#SVGID_1_);fill-opacity:0.3;}
.st4{fill:#0382F3;}
.st5{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st6{fill:url(#SVGID_3_);fill-opacity:0.3;}
.st7{fill:url(#SVGID_4_);fill-opacity:0.2;}
.st8{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.st9{fill:#FFFFFF;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<rect y="0" class="st0" width="122.9" height="122.9"/>
<g id="Layer_3_3_">
<path class="st1" d="M109.6,58.7c0,7.4-6,13.4-13.4,13.4s-13.4-6-13.4-13.4s6-13.4,13.4-13.4S109.6,51.4,109.6,58.7z"/>
<path class="st2" d="M109.6,58.7c0,7.4-6,13.4-13.4,13.4s-13.4-6-13.4-13.4s6-13.4,13.4-13.4S109.6,51.4,109.6,58.7z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="82.75" y1="65.1898" x2="109.55" y2="65.1898" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st3" d="M109.6,58.7c0,7.4-6,13.4-13.4,13.4s-13.4-6-13.4-13.4s6-13.4,13.4-13.4S109.6,51.4,109.6,58.7z"/>
<path class="st4" d="M69.5,37.4c0,14.8-12,26.7-26.7,26.7s-26.7-12-26.7-26.7s12-26.7,26.7-26.7S69.5,22.6,69.5,37.4z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="11.3465" y1="-623.6437" x2="74.1936" y2="-639.3557" gradientTransform="matrix(1 0 0 -1 0 -594.1102)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st5" d="M69.5,37.4c0,14.8-12,26.7-26.7,26.7s-26.7-12-26.7-26.7s12-26.7,26.7-26.7S69.5,22.6,69.5,37.4z"/>
<path class="st1" d="M37.5,77.4h69.4c5.9,0,10.7,4.8,10.7,10.7v13.4c0,5.9-4.8,10.7-10.7,10.7H37.5V77.4z"/>
<path class="st2" d="M37.5,77.4h69.4c5.9,0,10.7,4.8,10.7,10.7v13.4c0,5.9-4.8,10.7-10.7,10.7H37.5V77.4z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="37.5" y1="29.0898" x2="117.6" y2="29.0898" gradientTransform="matrix(1 0 0 -1 0 123.8898)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st6" d="M37.5,77.4h69.4c5.9,0,10.7,4.8,10.7,10.7v13.4c0,5.9-4.8,10.7-10.7,10.7H37.5V77.4z"/>
<path class="st4" d="M5.4,77.4H48c19.2,0,34.7,15.5,34.7,34.7H40.1C21,112.2,5.4,96.6,5.4,77.4z"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="7.1845" y1="-668.3104" x2="80.9834" y2="-709.4675" gradientTransform="matrix(1 0 0 -1 0 -594.1102)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st7" d="M5.4,77.4H48c19.2,0,34.7,15.5,34.7,34.7H40.1C21,112.2,5.4,96.6,5.4,77.4z"/>
<path class="st8" d="M55.9,46V34.9h3V46c0,0.8-0.7,1.5-1.5,1.5C56.6,47.5,55.9,46.8,55.9,46z"/>
<path class="st9" d="M26.6,33.9l13.7-6.1c1.6-0.7,3.4-0.7,5,0L59,33.9c0.8,0.4,0.8,1.5,0,1.8l-13.7,6.1c-1.6,0.7-3.4,0.7-5,0
l-13.7-6.1C25.8,35.4,25.8,34.3,26.6,33.9L26.6,33.9z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

@@ -0,0 +1,970 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1300 286.9"
style="enable-background:new 0 0 1300 286.9;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-161_1_);}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#F06A2B;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-163_2_);}
.st3{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-163_3_);}
.st4{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Rectangle_6_);}
.st5{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Rectangle_7_);}
.st6{enable-background:new ;}
.st7{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Rectangle_8_);}
.st8{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Rectangle_9_);}
.st9{fill-rule:evenodd;clip-rule:evenodd;}
.st10{fill-rule:evenodd;clip-rule:evenodd;fill:#F06A2A;}
.st11{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-161_3_);}
.st12{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-163_6_);}
.st13{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-163_7_);}
.st14{fill-rule:evenodd;clip-rule:evenodd;fill:#FFCB00;}
.st15{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Rectangle_20_);}
.st16{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Rectangle_21_);}
.st17{fill:#FFFFFF;}
.st18{fill-rule:evenodd;clip-rule:evenodd;fill:#C7BAAF;}
.st19{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.st20{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Rectangle_28_);}
.st21{fill-rule:evenodd;clip-rule:evenodd;stroke:#000000;stroke-width:0.2965;}
.st22{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Rectangle_29_);}
.st23{fill-rule:evenodd;clip-rule:evenodd;fill:#F1692A;stroke:#DCD4D1;stroke-width:3.1125;}
.st24{fill-rule:evenodd;clip-rule:evenodd;fill:#333333;stroke:#DCD4D1;stroke-width:2.3343;}
.st25{fill:#F1692A;}
.st26{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#FFFFFF;stroke-width:0.7781;}
.st27{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;stroke:#FFFFFF;stroke-width:1.5562;}
</style>
<metadata>
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="219.8" width="1263.5" x="16" y="35.8"></sliceSourceBounds>
</sfw>
</metadata>
<g id="Layer_1_1_">
</g>
<g id="Layer_2_1_">
<g id="customers-love-us-white">
<g id="Group-3">
<g id="White-leader-badge-2">
<g id="White-leader-badge">
<g id="Group-6">
<g id="Group-5">
<g id="shield">
<linearGradient id="Fill-161_1_" gradientUnits="userSpaceOnUse" x1="4.396" y1="-275.7393" x2="5.5894" y2="-274.9384" gradientTransform="matrix(286 0 0 302.6096 -285 83579.375)">
<stop offset="0" style="stop-color:#C2C2BD"/>
<stop offset="1" style="stop-color:#F06A2A"/>
</linearGradient>
<path id="Fill-161" class="st0" d="M861.8,175.5V63.9c0-0.6,0.4-1.1,1-1.2l83.6-12.4c0.1,0,0.2,0,0.3,0l83.6,12.4
c0.6,0.1,1,0.6,1,1.2v111.6c0,0.4-0.2,0.8-0.6,1l-83.6,53c-0.4,0.2-0.9,0.2-1.3,0l-83.6-53
C862,176.3,861.8,175.9,861.8,175.5z"/>
<path id="Fill-162" class="st1" d="M1028.1,67.1c-0.1-0.4-0.4-1.1-0.7-1.4l-79.7-12c-0.1,0-0.2,0-1.1,0c-1,0-1.1,0-1.1,0
l-79.9,12c-0.3,0.3-0.6,1-0.7,1.4v106.1c0.1,0.4,0.4,1.1,0.7,1.4l81,52l80.9-52c0.3-0.2,0.6-1,0.7-1.4L1028.1,67.1z"/>
<linearGradient id="Fill-163_2_" gradientUnits="userSpaceOnUse" x1="4.5728" y1="-275.7262" x2="4.4486" y2="-275.8208" gradientTransform="matrix(261.9238 0 0 279.8408 -249.0124 77281.3906)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#E7E7E7"/>
</linearGradient>
<polygon id="Fill-163" class="st2" points="868.8,68.6 868.8,171.6 946.6,223.1 1024.1,171.6 1024.1,68.6 946.6,57.2
"/>
<linearGradient id="Fill-163_3_" gradientUnits="userSpaceOnUse" x1="7.8033" y1="-275.7764" x2="7.9425" y2="-275.3571" gradientTransform="matrix(131.4054 0 0 279.8408 -118.8108 77281.3906)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#F3F3F3"/>
</linearGradient>
<polygon id="Fill-163_1_" class="st3" points="868.6,171.6 946.6,223.1 946.6,57.2 868.8,68.6 "/>
</g>
</g>
<g id="Sash-and-text" transform="translate(11.391892, 89.044586)">
<linearGradient id="Rectangle_6_" gradientUnits="userSpaceOnUse" x1="-17.3555" y1="-274.3208" x2="-18.0709" y2="-274.1344" gradientTransform="matrix(262.2406 0 0 107 5713.7954 29373.8945)">
<stop offset="0" style="stop-color:#FFCB00"/>
<stop offset="1" style="stop-color:#F06A2B"/>
</linearGradient>
<polygon id="Rectangle" class="st4" points="857.4,14 1012.7,14 1012.7,77.5 857.3,77.5 "/>
</g>
<g id="Sash-and-text_1_" transform="translate(17.391892, 164.044586)">
</g>
<linearGradient id="Rectangle_7_" gradientUnits="userSpaceOnUse" x1="3.7776" y1="-274.2031" x2="4.5588" y2="-274.0944" gradientTransform="matrix(262.4054 0 0 107 -249.8108 29462.8965)">
<stop offset="0" style="stop-color:#FFCB00"/>
<stop offset="1" style="stop-color:#F06A2B"/>
</linearGradient>
<polygon id="Rectangle_1_" class="st5" points="868.7,103.1 1024.2,103.1 868.6,166.5 "/>
<g class="st6">
<path d="M888.8,121.9l4.2,1.3c-0.6,2.3-1.7,4-3.2,5.2s-3.4,1.7-5.6,1.7c-2.8,0-5.1-1-6.9-2.9c-1.8-1.9-2.7-4.6-2.7-7.9
c0-3.5,0.9-6.3,2.7-8.2c1.8-2,4.2-2.9,7.2-2.9c2.6,0,4.7,0.8,6.3,2.3c1,0.9,1.7,2.2,2.2,3.9l-4.2,1c-0.3-1.1-0.8-2-1.6-2.6
c-0.8-0.6-1.8-1-2.9-1c-1.6,0-2.8,0.6-3.8,1.7c-1,1.1-1.5,3-1.5,5.5c0,2.7,0.5,4.6,1.4,5.7s2.2,1.7,3.8,1.7
c1.1,0,2.1-0.4,2.9-1.1S888.4,123.5,888.8,121.9z"/>
<path d="M906.7,129.7v-2.3c-0.6,0.8-1.3,1.5-2.2,1.9s-1.9,0.7-2.9,0.7c-1,0-2-0.2-2.8-0.7s-1.4-1.1-1.8-1.9
c-0.4-0.8-0.6-2-0.6-3.4v-9.7h4.1v7.1c0,2.2,0.1,3.5,0.2,4s0.4,0.9,0.8,1.2c0.4,0.3,0.9,0.4,1.5,0.4c0.7,0,1.3-0.2,1.9-0.6
c0.6-0.4,0.9-0.9,1.1-1.4c0.2-0.6,0.3-1.9,0.3-4.1v-6.5h4.1v15.4H906.7z"/>
<path d="M913.3,125.4l4.1-0.6c0.2,0.8,0.5,1.4,1.1,1.8c0.5,0.4,1.3,0.6,2.2,0.6c1.1,0,1.8-0.2,2.4-0.6
c0.4-0.3,0.5-0.6,0.5-1.1c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.2-0.7-0.4-1.4-0.5c-3.3-0.7-5.4-1.4-6.2-2c-1.2-0.8-1.8-2-1.8-3.5
c0-1.3,0.5-2.5,1.6-3.4s2.7-1.4,4.9-1.4c2.1,0,3.7,0.3,4.7,1c1,0.7,1.7,1.7,2.1,3l-3.8,0.7c-0.2-0.6-0.5-1.1-0.9-1.4
c-0.5-0.3-1.1-0.5-2-0.5c-1.1,0-1.8,0.1-2.3,0.4c-0.3,0.2-0.5,0.5-0.5,0.8c0,0.3,0.1,0.5,0.4,0.7c0.4,0.3,1.6,0.7,3.8,1.1
c2.2,0.5,3.7,1.1,4.5,1.8c0.8,0.7,1.3,1.7,1.3,3c0,1.4-0.6,2.6-1.8,3.6c-1.2,1-2.9,1.5-5.2,1.5c-2.1,0-3.8-0.4-5-1.3
C914.4,128,913.6,126.8,913.3,125.4z"/>
<path d="M938.2,114.4v3.2h-2.8v6.2c0,1.3,0,2,0.1,2.2c0.1,0.2,0.2,0.4,0.4,0.5c0.2,0.1,0.4,0.2,0.7,0.2
c0.4,0,0.9-0.1,1.6-0.4l0.3,3.2c-0.9,0.4-2,0.6-3.2,0.6c-0.7,0-1.4-0.1-2-0.4c-0.6-0.2-1-0.6-1.3-1c-0.3-0.4-0.5-0.9-0.6-1.6
c-0.1-0.5-0.1-1.4-0.1-2.9v-6.7h-1.9v-3.2h1.9v-3.1l4.1-2.4v5.4H938.2z"/>
<path d="M940.1,121.8c0-1.4,0.3-2.7,1-3.9c0.7-1.3,1.6-2.2,2.8-2.9s2.6-1,4.1-1c2.3,0,4.2,0.8,5.7,2.3
c1.5,1.5,2.2,3.4,2.2,5.7c0,2.3-0.8,4.3-2.3,5.8c-1.5,1.5-3.4,2.3-5.7,2.3c-1.4,0-2.8-0.3-4-1c-1.3-0.6-2.3-1.6-2.9-2.8
C940.4,125.1,940.1,123.6,940.1,121.8z M944.3,122.1c0,1.5,0.4,2.7,1.1,3.5c0.7,0.8,1.6,1.2,2.7,1.2s2-0.4,2.7-1.2
c0.7-0.8,1.1-2,1.1-3.5c0-1.5-0.4-2.7-1.1-3.5c-0.7-0.8-1.6-1.2-2.7-1.2s-2,0.4-2.7,1.2C944.6,119.4,944.3,120.5,944.3,122.1
z"/>
<path d="M958.9,114.4h3.8v2.1c1.3-1.6,2.9-2.4,4.8-2.4c1,0,1.8,0.2,2.6,0.6c0.7,0.4,1.3,1,1.8,1.8c0.7-0.8,1.4-1.4,2.2-1.8
c0.8-0.4,1.6-0.6,2.5-0.6c1.1,0,2.1,0.2,2.9,0.7c0.8,0.5,1.4,1.1,1.8,2c0.3,0.7,0.4,1.7,0.4,3.2v9.8h-4.1V121
c0-1.5-0.1-2.5-0.4-3c-0.4-0.6-1-0.9-1.7-0.9c-0.6,0-1.1,0.2-1.6,0.5c-0.5,0.3-0.9,0.9-1.1,1.5c-0.2,0.7-0.3,1.7-0.3,3.2v7.4
h-4.1v-8.4c0-1.5-0.1-2.5-0.2-2.9c-0.1-0.4-0.4-0.8-0.7-1c-0.3-0.2-0.7-0.3-1.2-0.3c-0.6,0-1.2,0.2-1.7,0.5
c-0.5,0.3-0.9,0.8-1.1,1.5c-0.2,0.6-0.3,1.7-0.3,3.2v7.5h-4.1V114.4z"/>
<path d="M994.4,124.9l4.1,0.7c-0.5,1.5-1.3,2.6-2.5,3.4c-1.1,0.8-2.5,1.2-4.2,1.2c-2.7,0-4.7-0.9-5.9-2.6
c-1-1.4-1.5-3.2-1.5-5.3c0-2.5,0.7-4.5,2-6c1.3-1.4,3-2.2,5.1-2.2c2.3,0,4.1,0.8,5.4,2.3c1.3,1.5,2,3.8,1.9,6.9h-10.2
c0,1.2,0.4,2.1,1,2.8c0.6,0.7,1.4,1,2.3,1c0.6,0,1.2-0.2,1.6-0.5C993.9,126.2,994.2,125.6,994.4,124.9z M994.7,120.7
c0-1.2-0.3-2.1-0.9-2.7c-0.6-0.6-1.3-0.9-2.1-0.9c-0.9,0-1.6,0.3-2.2,1c-0.6,0.6-0.9,1.5-0.9,2.6H994.7z"/>
<path d="M1005.9,129.7h-4.1v-15.4h3.8v2.2c0.6-1,1.2-1.7,1.7-2c0.5-0.3,1.1-0.5,1.8-0.5c0.9,0,1.8,0.3,2.7,0.8l-1.3,3.5
c-0.7-0.4-1.3-0.7-1.9-0.7c-0.6,0-1.1,0.2-1.4,0.5c-0.4,0.3-0.7,0.9-0.9,1.7s-0.3,2.5-0.3,5.2V129.7z"/>
</g>
<g class="st6">
<path d="M896,158.8v-21h4.3v17.5h10.7v3.6H896z"/>
<path d="M913,150.9c0-1.4,0.3-2.7,1-3.9c0.7-1.3,1.6-2.2,2.8-2.9s2.6-1,4.1-1c2.3,0,4.2,0.8,5.7,2.3c1.5,1.5,2.2,3.4,2.2,5.7
c0,2.3-0.8,4.3-2.3,5.8c-1.5,1.5-3.4,2.3-5.7,2.3c-1.4,0-2.8-0.3-4-1c-1.3-0.6-2.3-1.6-2.9-2.8
C913.3,154.2,913,152.7,913,150.9z M917.2,151.1c0,1.5,0.4,2.7,1.1,3.5s1.6,1.2,2.7,1.2c1.1,0,2-0.4,2.7-1.2s1.1-2,1.1-3.5
c0-1.5-0.4-2.7-1.1-3.5s-1.6-1.2-2.7-1.2c-1.1,0-2,0.4-2.7,1.2S917.2,149.6,917.2,151.1z"/>
<path d="M936.3,158.8l-6.2-15.4h4.3l2.9,7.8l0.8,2.6c0.2-0.7,0.4-1.1,0.4-1.3c0.1-0.4,0.3-0.9,0.4-1.3l2.9-7.8h4.2l-6.1,15.4
H936.3z"/>
<path d="M957.4,153.9l4.1,0.7c-0.5,1.5-1.3,2.6-2.5,3.4c-1.1,0.8-2.5,1.2-4.2,1.2c-2.7,0-4.7-0.9-5.9-2.6
c-1-1.4-1.5-3.2-1.5-5.3c0-2.5,0.7-4.5,2-6c1.3-1.4,3-2.2,5.1-2.2c2.3,0,4.1,0.8,5.4,2.3c1.3,1.5,2,3.8,1.9,6.9h-10.2
c0,1.2,0.4,2.1,1,2.8s1.4,1,2.3,1c0.6,0,1.2-0.2,1.6-0.5C956.9,155.2,957.2,154.7,957.4,153.9z M957.7,149.8
c0-1.2-0.3-2.1-0.9-2.7c-0.6-0.6-1.3-0.9-2.1-0.9c-0.9,0-1.6,0.3-2.2,1c-0.6,0.6-0.9,1.5-0.9,2.6H957.7z"/>
<path d="M973.3,137.6h4.3v11.5c0,1.8,0.1,3,0.2,3.5c0.2,0.9,0.6,1.6,1.3,2.1c0.7,0.5,1.6,0.8,2.8,0.8c1.2,0,2.1-0.2,2.8-0.7
s1-1.1,1.1-1.8c0.1-0.7,0.2-1.9,0.2-3.6v-11.7h4.3v11.1c0,2.5-0.1,4.3-0.3,5.4c-0.2,1.1-0.7,1.9-1.3,2.7
c-0.6,0.7-1.5,1.3-2.5,1.7c-1,0.4-2.4,0.6-4.1,0.6c-2,0-3.6-0.2-4.6-0.7c-1-0.5-1.9-1.1-2.5-1.8s-1-1.5-1.2-2.4
c-0.3-1.2-0.4-3-0.4-5.4V137.6z"/>
<path d="M993.2,154.4l4.1-0.6c0.2,0.8,0.5,1.4,1.1,1.8c0.5,0.4,1.3,0.6,2.2,0.6c1.1,0,1.8-0.2,2.4-0.6
c0.4-0.3,0.5-0.6,0.5-1.1c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.2-0.7-0.4-1.4-0.5c-3.3-0.7-5.4-1.4-6.2-2c-1.2-0.8-1.8-2-1.8-3.5
c0-1.3,0.5-2.5,1.6-3.4c1.1-0.9,2.7-1.4,4.9-1.4c2.1,0,3.7,0.3,4.7,1s1.7,1.7,2.1,3l-3.8,0.7c-0.2-0.6-0.5-1.1-0.9-1.4
s-1.1-0.5-2-0.5c-1.1,0-1.8,0.1-2.3,0.4c-0.3,0.2-0.5,0.5-0.5,0.8c0,0.3,0.1,0.5,0.4,0.7c0.4,0.3,1.6,0.7,3.8,1.1
c2.2,0.5,3.7,1.1,4.5,1.8c0.8,0.7,1.3,1.7,1.3,3c0,1.4-0.6,2.6-1.8,3.6c-1.2,1-2.9,1.5-5.2,1.5c-2.1,0-3.8-0.4-5-1.3
C994.4,157,993.6,155.9,993.2,154.4z"/>
</g>
<linearGradient id="Rectangle_8_" gradientUnits="userSpaceOnUse" x1="5.4283" y1="-274.3208" x2="4.7129" y2="-274.1344" gradientTransform="matrix(262.2406 0 0 107 -249.646 29462.9434)">
<stop offset="0" style="stop-color:#FFCB00"/>
<stop offset="1" style="stop-color:#F06A2B"/>
</linearGradient>
<polygon id="Rectangle_2_" class="st7" points="868.8,103.1 1024.1,103.1 1024.1,166.5 868.6,166.5 "/>
<linearGradient id="Rectangle_9_" gradientUnits="userSpaceOnUse" x1="3.7776" y1="-274.2031" x2="4.5588" y2="-274.0944" gradientTransform="matrix(262.4054 0 0 107 -249.8108 29462.8965)">
<stop offset="0" style="stop-color:#FFCB00"/>
<stop offset="1" style="stop-color:#F06A2B"/>
</linearGradient>
<polygon id="Rectangle_3_" class="st8" points="868.7,103.1 1024.2,103.1 868.6,166.5 "/>
<g class="st6">
<path d="M885.8,121.5l4.1,1.3c-0.6,2.3-1.7,4-3.1,5.1c-1.5,1.1-3.3,1.7-5.5,1.7c-2.8,0-5-0.9-6.8-2.8
c-1.8-1.9-2.7-4.5-2.7-7.7c0-3.5,0.9-6.1,2.7-8.1s4.1-2.9,7.1-2.9c2.5,0,4.6,0.8,6.2,2.3c0.9,0.9,1.7,2.2,2.1,3.8l-4.2,1
c-0.2-1.1-0.8-1.9-1.5-2.6c-0.8-0.6-1.7-0.9-2.8-0.9c-1.5,0-2.8,0.6-3.8,1.7c-1,1.1-1.4,2.9-1.4,5.4c0,2.6,0.5,4.5,1.4,5.6
s2.2,1.7,3.7,1.7c1.1,0,2.1-0.4,2.9-1.1C884.9,124.1,885.4,123,885.8,121.5z"/>
<path d="M903.4,129.2v-2.3c-0.5,0.8-1.3,1.4-2.2,1.9c-0.9,0.5-1.8,0.7-2.8,0.7c-1,0-1.9-0.2-2.7-0.7s-1.4-1.1-1.7-1.9
c-0.4-0.8-0.5-1.9-0.5-3.3v-9.5h4v6.9c0,2.1,0.1,3.4,0.2,3.9c0.1,0.5,0.4,0.9,0.8,1.1c0.4,0.3,0.9,0.4,1.5,0.4
c0.7,0,1.3-0.2,1.8-0.6c0.5-0.4,0.9-0.8,1.1-1.4c0.2-0.6,0.3-1.9,0.3-4.1v-6.4h4v15.1H903.4z"/>
<path d="M909.8,124.9l4-0.6c0.2,0.8,0.5,1.4,1,1.8c0.5,0.4,1.2,0.6,2.2,0.6c1,0,1.8-0.2,2.3-0.6c0.3-0.3,0.5-0.6,0.5-1.1
c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.2-0.6-0.4-1.3-0.5c-3.2-0.7-5.3-1.4-6.1-1.9c-1.2-0.8-1.8-1.9-1.8-3.4c0-1.3,0.5-2.4,1.5-3.3
c1-0.9,2.6-1.3,4.8-1.3c2.1,0,3.6,0.3,4.6,1c1,0.7,1.7,1.7,2.1,3l-3.8,0.7c-0.2-0.6-0.5-1-0.9-1.3s-1.1-0.5-1.9-0.5
c-1,0-1.8,0.1-2.3,0.4c-0.3,0.2-0.5,0.5-0.5,0.8c0,0.3,0.1,0.5,0.4,0.7c0.4,0.3,1.6,0.6,3.7,1.1s3.6,1.1,4.4,1.8
c0.8,0.7,1.2,1.7,1.2,3c0,1.4-0.6,2.6-1.7,3.6c-1.2,1-2.9,1.5-5.1,1.5c-2.1,0-3.7-0.4-4.9-1.2
C910.9,127.4,910.2,126.3,909.8,124.9z"/>
<path d="M934.3,114.1v3.2h-2.7v6.1c0,1.2,0,1.9,0.1,2.1s0.2,0.4,0.4,0.5c0.2,0.1,0.4,0.2,0.7,0.2c0.4,0,0.9-0.1,1.6-0.4
l0.3,3.1c-0.9,0.4-2,0.6-3.1,0.6c-0.7,0-1.4-0.1-1.9-0.4c-0.6-0.2-1-0.6-1.3-0.9c-0.3-0.4-0.5-0.9-0.6-1.6
c-0.1-0.5-0.1-1.4-0.1-2.8v-6.6h-1.8v-3.2h1.8v-3l4-2.3v5.3H934.3z"/>
<path d="M936.1,121.4c0-1.3,0.3-2.6,1-3.8s1.6-2.2,2.8-2.8c1.2-0.7,2.5-1,4-1c2.3,0,4.1,0.7,5.6,2.2c1.5,1.5,2.2,3.3,2.2,5.6
c0,2.3-0.7,4.2-2.2,5.7c-1.5,1.5-3.3,2.2-5.6,2.2c-1.4,0-2.7-0.3-4-0.9s-2.2-1.5-2.9-2.7S936.1,123.1,936.1,121.4z
M940.2,121.6c0,1.5,0.4,2.6,1.1,3.4c0.7,0.8,1.6,1.2,2.6,1.2s1.9-0.4,2.6-1.2c0.7-0.8,1.1-1.9,1.1-3.5
c0-1.5-0.4-2.6-1.1-3.4c-0.7-0.8-1.6-1.2-2.6-1.2s-1.9,0.4-2.6,1.2C940.5,119,940.2,120.1,940.2,121.6z"/>
<path d="M954.5,114.1h3.7v2.1c1.3-1.6,2.9-2.4,4.7-2.4c1,0,1.8,0.2,2.5,0.6c0.7,0.4,1.3,1,1.7,1.8c0.7-0.8,1.4-1.4,2.1-1.8
c0.8-0.4,1.6-0.6,2.5-0.6c1.1,0,2,0.2,2.8,0.7s1.3,1.1,1.7,2c0.3,0.6,0.4,1.7,0.4,3.1v9.6h-4v-8.6c0-1.5-0.1-2.5-0.4-2.9
c-0.4-0.6-0.9-0.9-1.7-0.9c-0.6,0-1.1,0.2-1.6,0.5c-0.5,0.3-0.8,0.8-1.1,1.5c-0.2,0.7-0.3,1.7-0.3,3.1v7.2h-4v-8.3
c0-1.5-0.1-2.4-0.2-2.8c-0.1-0.4-0.4-0.7-0.7-1s-0.7-0.3-1.2-0.3c-0.6,0-1.2,0.2-1.7,0.5c-0.5,0.3-0.8,0.8-1.1,1.4
s-0.3,1.7-0.3,3.1v7.3h-4V114.1z"/>
<path d="M989.3,124.4l4,0.7c-0.5,1.5-1.3,2.6-2.4,3.3c-1.1,0.8-2.5,1.1-4.1,1.1c-2.6,0-4.6-0.9-5.8-2.6
c-1-1.4-1.5-3.1-1.5-5.2c0-2.5,0.7-4.5,2-5.9c1.3-1.4,3-2.1,5-2.1c2.2,0,4,0.7,5.3,2.2c1.3,1.5,1.9,3.7,1.9,6.8h-10
c0,1.2,0.3,2.1,1,2.8c0.6,0.7,1.4,1,2.3,1c0.6,0,1.1-0.2,1.6-0.5S989.1,125.1,989.3,124.4z M989.6,120.3c0-1.2-0.3-2-0.9-2.6
s-1.3-0.9-2.1-0.9c-0.9,0-1.6,0.3-2.2,1s-0.8,1.5-0.8,2.6H989.6z"/>
<path d="M1000.6,129.2h-4v-15.1h3.7v2.1c0.6-1,1.2-1.7,1.7-2c0.5-0.3,1.1-0.5,1.7-0.5c0.9,0,1.8,0.3,2.6,0.8l-1.2,3.5
c-0.7-0.4-1.3-0.7-1.9-0.7c-0.6,0-1,0.2-1.4,0.5c-0.4,0.3-0.7,0.9-0.9,1.7s-0.3,2.5-0.3,5V129.2z"/>
<path d="M1006.7,124.9l4-0.6c0.2,0.8,0.5,1.4,1,1.8c0.5,0.4,1.2,0.6,2.2,0.6c1,0,1.8-0.2,2.3-0.6c0.3-0.3,0.5-0.6,0.5-1.1
c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.2-0.6-0.4-1.3-0.5c-3.2-0.7-5.3-1.4-6.1-1.9c-1.2-0.8-1.8-1.9-1.8-3.4c0-1.3,0.5-2.4,1.5-3.3
s2.6-1.3,4.8-1.3c2.1,0,3.6,0.3,4.6,1c1,0.7,1.7,1.7,2.1,3l-3.8,0.7c-0.2-0.6-0.5-1-0.9-1.3s-1.1-0.5-1.9-0.5
c-1,0-1.8,0.1-2.3,0.4c-0.3,0.2-0.5,0.5-0.5,0.8c0,0.3,0.1,0.5,0.4,0.7c0.4,0.3,1.6,0.6,3.7,1.1s3.6,1.1,4.4,1.8
c0.8,0.7,1.2,1.7,1.2,3c0,1.4-0.6,2.6-1.7,3.6c-1.2,1-2.9,1.5-5.1,1.5c-2.1,0-3.7-0.4-4.9-1.2
C1007.8,127.4,1007,126.3,1006.7,124.9z"/>
</g>
<g class="st6">
<path d="M892.8,158.2v-20.6h4.2v17.1h10.4v3.5H892.8z"/>
<path d="M909.5,150.5c0-1.3,0.3-2.6,1-3.8s1.6-2.2,2.8-2.8c1.2-0.7,2.5-1,4-1c2.3,0,4.1,0.7,5.6,2.2c1.5,1.5,2.2,3.3,2.2,5.6
c0,2.3-0.7,4.2-2.2,5.7c-1.5,1.5-3.3,2.2-5.6,2.2c-1.4,0-2.7-0.3-4-0.9c-1.3-0.6-2.2-1.5-2.9-2.7S909.5,152.2,909.5,150.5z
M913.6,150.7c0,1.5,0.4,2.6,1.1,3.4c0.7,0.8,1.6,1.2,2.6,1.2c1,0,1.9-0.4,2.6-1.2c0.7-0.8,1.1-1.9,1.1-3.5
c0-1.5-0.4-2.6-1.1-3.4c-0.7-0.8-1.6-1.2-2.6-1.2c-1,0-1.9,0.4-2.6,1.2C913.9,148,913.6,149.2,913.6,150.7z"/>
<path d="M932.3,158.2l-6.1-15.1h4.2l2.8,7.7l0.8,2.6c0.2-0.7,0.4-1.1,0.4-1.3c0.1-0.4,0.3-0.9,0.4-1.3l2.9-7.7h4.1l-6,15.1
H932.3z"/>
<path d="M953,153.4l4,0.7c-0.5,1.5-1.3,2.6-2.4,3.3c-1.1,0.8-2.5,1.1-4.1,1.1c-2.6,0-4.6-0.9-5.8-2.6c-1-1.4-1.5-3.1-1.5-5.2
c0-2.5,0.7-4.5,2-5.9c1.3-1.4,3-2.1,5-2.1c2.2,0,4,0.7,5.3,2.2c1.3,1.5,1.9,3.7,1.9,6.8h-10c0,1.2,0.3,2.1,1,2.8
c0.6,0.7,1.4,1,2.3,1c0.6,0,1.1-0.2,1.6-0.5S952.8,154.2,953,153.4z M953.3,149.4c0-1.2-0.3-2-0.9-2.6s-1.3-0.9-2.1-0.9
c-0.9,0-1.6,0.3-2.2,1s-0.8,1.5-0.8,2.6H953.3z"/>
<path d="M968.5,137.4h4.2v11.3c0,1.8,0.1,2.9,0.2,3.5c0.2,0.9,0.6,1.5,1.3,2c0.7,0.5,1.6,0.8,2.8,0.8c1.2,0,2.1-0.2,2.7-0.7
c0.6-0.5,1-1.1,1.1-1.8c0.1-0.7,0.2-1.9,0.2-3.5v-11.5h4.2v10.9c0,2.5-0.1,4.3-0.3,5.3c-0.2,1-0.6,1.9-1.3,2.6
s-1.4,1.3-2.4,1.7s-2.4,0.6-4,0.6c-2,0-3.5-0.2-4.5-0.7c-1-0.5-1.8-1.1-2.4-1.8c-0.6-0.7-1-1.5-1.2-2.3
c-0.3-1.2-0.4-3-0.4-5.3V137.4z"/>
<path d="M988.1,153.9l4-0.6c0.2,0.8,0.5,1.4,1,1.8c0.5,0.4,1.2,0.6,2.2,0.6c1,0,1.8-0.2,2.3-0.6c0.3-0.3,0.5-0.6,0.5-1.1
c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.2-0.6-0.4-1.3-0.5c-3.2-0.7-5.3-1.4-6.1-1.9c-1.2-0.8-1.8-1.9-1.8-3.4c0-1.3,0.5-2.4,1.5-3.3
s2.6-1.3,4.8-1.3c2.1,0,3.6,0.3,4.6,1c1,0.7,1.7,1.7,2.1,3l-3.8,0.7c-0.2-0.6-0.5-1-0.9-1.3s-1.1-0.5-1.9-0.5
c-1,0-1.8,0.1-2.3,0.4c-0.3,0.2-0.5,0.5-0.5,0.8c0,0.3,0.1,0.5,0.4,0.7c0.4,0.3,1.6,0.6,3.7,1.1s3.6,1.1,4.4,1.8
c0.8,0.7,1.2,1.7,1.2,3c0,1.4-0.6,2.6-1.7,3.6c-1.2,1-2.9,1.5-5.1,1.5c-2.1,0-3.7-0.4-4.9-1.2
C989.3,156.5,988.5,155.3,988.1,153.9z"/>
</g>
</g>
</g>
</g>
</g>
<g id="SourceForge-Logo-White-vector" transform="translate(23.000000, 47.000000)">
<path id="Fill-953" class="st9" d="M860.6,33.2c-0.1,0.1-0.1,0.2-0.3,0.2c-0.1,0-0.2-0.1-0.3-0.2c-0.1-0.1-0.3-0.3-0.6-0.4
c-0.3-0.2-0.5-0.3-0.9-0.4c-0.4-0.1-0.8-0.2-1.3-0.2s-1,0.1-1.4,0.2c-0.4,0.1-0.7,0.4-1,0.6c-0.3,0.3-0.5,0.6-0.6,0.9
S854,34.6,854,35c0,0.5,0.1,0.9,0.3,1.3c0.2,0.3,0.5,0.6,0.8,0.8s0.7,0.4,1.2,0.6c0.4,0.2,0.9,0.3,1.3,0.5
c0.4,0.1,0.9,0.3,1.3,0.5c0.4,0.2,0.8,0.4,1.2,0.7s0.6,0.6,0.8,1s0.3,0.9,0.3,1.5s-0.1,1.2-0.3,1.8s-0.5,1.1-0.9,1.5
s-0.9,0.7-1.5,1c-0.6,0.2-1.2,0.3-2,0.3c-0.9,0-1.8-0.2-2.5-0.5s-1.3-0.8-1.8-1.5l0.3-0.5c0.1-0.1,0.2-0.1,0.3-0.1s0.1,0,0.2,0.1
c0.1,0.1,0.2,0.2,0.3,0.3s0.3,0.3,0.5,0.4c0.2,0.1,0.4,0.3,0.7,0.4c0.3,0.1,0.5,0.2,0.9,0.3c0.3,0.1,0.7,0.1,1.1,0.1
c0.6,0,1.1-0.1,1.5-0.3s0.8-0.4,1.1-0.7s0.6-0.7,0.7-1.1c0.2-0.4,0.3-0.9,0.3-1.4s-0.1-1-0.3-1.3c-0.2-0.4-0.5-0.6-0.8-0.9
c-0.3-0.2-0.7-0.4-1.2-0.6s-0.9-0.3-1.3-0.5c-0.4-0.1-0.9-0.3-1.3-0.5c-0.4-0.2-0.8-0.4-1.2-0.7c-0.3-0.3-0.6-0.6-0.8-1.1
c-0.2-0.4-0.3-1-0.3-1.6c0-0.5,0.1-1,0.3-1.5s0.5-0.9,0.8-1.3c0.4-0.3,0.8-0.6,1.3-0.9c0.5-0.2,1.1-0.3,1.8-0.3
c0.8,0,1.4,0.1,2,0.4s1.1,0.6,1.7,1.1L860.6,33.2z"/>
<path id="Fill-955" class="st9" d="M876.4,38.9c0-1-0.1-2-0.4-2.8c-0.3-0.8-0.7-1.5-1.2-2.1s-1.1-1-1.9-1.3
c-0.7-0.3-1.5-0.5-2.4-0.5s-1.7,0.1-2.4,0.5c-0.7,0.3-1.4,0.8-1.9,1.3c-0.5,0.6-0.9,1.3-1.2,2.1s-0.4,1.8-0.4,2.8s0.1,2,0.4,2.8
c0.3,0.8,0.7,1.5,1.2,2.1s1.1,1,1.9,1.3c0.7,0.3,1.5,0.5,2.4,0.5s1.7-0.1,2.4-0.5c0.7-0.3,1.4-0.8,1.9-1.3
c0.5-0.6,0.9-1.3,1.2-2.1C876.2,40.9,876.4,39.9,876.4,38.9 M877.3,38.9c0,1.2-0.2,2.2-0.5,3.2s-0.8,1.8-1.4,2.4
c-0.6,0.7-1.3,1.2-2.2,1.6c-0.8,0.4-1.8,0.5-2.8,0.5s-1.9-0.2-2.8-0.5c-0.8-0.4-1.5-0.9-2.2-1.6c-0.6-0.7-1.1-1.5-1.4-2.4
c-0.3-1-0.5-2-0.5-3.2s0.2-2.2,0.5-3.2s0.8-1.8,1.4-2.4c0.6-0.7,1.3-1.2,2.2-1.6c0.8-0.4,1.8-0.5,2.8-0.5s2,0.2,2.8,0.5
c0.8,0.4,1.5,0.9,2.2,1.6c0.6,0.7,1.1,1.5,1.4,2.4C877.1,36.7,877.3,37.7,877.3,38.9"/>
<path id="Fill-957" class="st9" d="M885,45.6c0.7,0,1.3-0.1,1.8-0.4c0.5-0.3,1-0.6,1.4-1.1c0.4-0.4,0.6-1,0.8-1.6s0.3-1.3,0.3-2
v-9.4h1v9.4c0,0.9-0.1,1.6-0.4,2.3c-0.2,0.7-0.6,1.4-1.1,1.9s-1,1-1.7,1.3c-0.6,0.3-1.4,0.5-2.2,0.5s-1.6-0.1-2.2-0.5
c-0.6-0.3-1.2-0.7-1.7-1.3c-0.5-0.5-0.8-1.2-1.1-1.9c-0.2-0.7-0.4-1.5-0.4-2.3v-9.4h1v9.4c0,0.7,0.1,1.4,0.3,2s0.5,1.1,0.8,1.6
c0.4,0.4,0.8,0.8,1.4,1.1C883.7,45.5,884.4,45.6,885,45.6"/>
<path id="Fill-959" class="st9" d="M896.5,38.8h0.3h0.7c0.8,0,1.5-0.1,2.1-0.2c0.6-0.2,1.1-0.4,1.5-0.7s0.7-0.7,1-1.1
c0.2-0.4,0.3-0.9,0.3-1.5c0-1.1-0.4-1.9-1.2-2.4s-2-0.8-3.5-0.8h-3.1v6.7v0.8v7h-1.2V31.2h4.4c2,0,3.5,0.4,4.4,1
c1,0.7,1.5,1.7,1.5,3c0,0.6-0.1,1.1-0.3,1.6s-0.6,0.9-1,1.3c-0.4,0.4-0.9,0.7-1.5,0.9s-1.3,0.4-2,0.5c0.2,0.1,0.4,0.3,0.5,0.4
l5.9,6.7h-1.1c-0.1,0-0.2,0-0.3-0.1c-0.1,0-0.2-0.1-0.3-0.2l-5.5-6.2c-0.1-0.1-0.3-0.3-0.4-0.3c-0.2-0.1-1.1-0.1-1.5-0.1
C896.1,38.9,896.2,38.8,896.5,38.8"/>
<path id="Fill-961" class="st9" d="M915.3,43.9c0.1,0,0.1,0,0.2,0.1l0.4,0.5c-0.3,0.3-0.6,0.6-1,0.9c-0.4,0.3-0.7,0.5-1.2,0.7
c-0.4,0.2-0.9,0.3-1.4,0.4c-0.5,0.1-1.1,0.1-1.6,0.1c-1,0-1.9-0.2-2.7-0.6c-0.8-0.4-1.5-0.9-2.1-1.6c-0.6-0.7-1.1-1.5-1.4-2.4
c-0.3-1-0.5-2-0.5-3.2c0-1.1,0.2-2.2,0.5-3.1c0.3-1,0.8-1.7,1.4-2.4c0.6-0.7,1.4-1.2,2.2-1.6c0.9-0.4,1.8-0.6,2.8-0.6
c0.5,0,1,0,1.4,0.1s0.8,0.2,1.2,0.3s0.7,0.3,1,0.6c0.3,0.2,0.7,0.5,1,0.8l-0.3,0.5c-0.1,0.1-0.1,0.1-0.3,0.1
c-0.1,0-0.1,0-0.2-0.1c-0.1-0.1-0.2-0.2-0.4-0.3c-0.1-0.1-0.3-0.2-0.5-0.3s-0.4-0.3-0.7-0.3c-0.3-0.1-0.6-0.2-1-0.3
s-0.8-0.1-1.3-0.1c-0.9,0-1.7,0.1-2.4,0.5c-0.7,0.3-1.4,0.8-1.9,1.4c-0.5,0.6-0.9,1.3-1.2,2.1s-0.4,1.8-0.4,2.8
c0,1.1,0.1,2,0.4,2.8c0.3,0.8,0.7,1.5,1.2,2.1s1.1,1,1.8,1.3s1.5,0.5,2.3,0.5c0.5,0,1,0,1.4-0.1s0.8-0.2,1.1-0.3s0.7-0.3,0.9-0.5
c0.3-0.2,0.6-0.4,0.9-0.7l0.1-0.1C915.2,43.9,915.2,43.9,915.3,43.9"/>
<polygon id="Fill-963" class="st9" points="927.7,31.2 927.7,32.1 919.4,32.1 919.4,38.3 926.3,38.3 926.3,39.2 919.4,39.2
919.4,45.7 927.7,45.7 927.7,46.6 918.2,46.6 918.2,31.2 "/>
<polygon id="Fill-965" class="st9" points="940.7,31.2 940.7,33.5 933.2,33.5 933.2,38 939.6,38 939.6,40.3 933.2,40.3
933.2,46.6 930.1,46.6 930.1,31.2 "/>
<path id="Fill-966" class="st9" d="M953.9,38.9c0-0.8-0.1-1.6-0.3-2.2c-0.2-0.7-0.5-1.2-0.9-1.7s-0.9-0.8-1.5-1
c-0.6-0.3-1.3-0.4-2-0.4s-1.4,0.1-2,0.4c-0.6,0.3-1.1,0.6-1.5,1c-0.4,0.5-0.7,1-1,1.7c-0.2,0.6-0.3,1.4-0.3,2.2s0.1,1.6,0.3,2.2
c0.2,0.6,0.5,1.2,1,1.7c0.4,0.5,0.9,0.8,1.5,1.1s1.3,0.4,2,0.4s1.4-0.1,2-0.4c0.6-0.3,1.1-0.6,1.5-1.1s0.7-1,0.9-1.7
C953.8,40.4,953.9,39.7,953.9,38.9 M956.8,38.9c0,1.1-0.2,2.1-0.5,3.1c-0.4,0.9-0.9,1.8-1.6,2.4c-0.7,0.7-1.5,1.2-2.4,1.6
c-0.9,0.4-2,0.6-3.2,0.6c-1.1,0-2.2-0.2-3.2-0.6c-0.9-0.4-1.7-0.9-2.4-1.6c-0.7-0.7-1.2-1.5-1.6-2.4c-0.4-0.9-0.5-2-0.5-3.1
s0.2-2.1,0.5-3.1c0.4-0.9,0.9-1.8,1.6-2.4c0.7-0.7,1.5-1.2,2.4-1.6s2-0.6,3.2-0.6c1.1,0,2.2,0.2,3.2,0.6c0.9,0.4,1.7,0.9,2.4,1.6
s1.2,1.5,1.6,2.4C956.6,36.7,956.8,37.8,956.8,38.9"/>
<path id="Fill-967" class="st9" d="M961.5,38.5h0.6c0.5,0,0.9-0.1,1.3-0.2c0.4-0.1,0.6-0.3,0.9-0.6c0.2-0.2,0.4-0.5,0.5-0.8
s0.2-0.7,0.2-1.1c0-0.8-0.2-1.4-0.7-1.8c-0.5-0.4-1.2-0.6-2.1-0.6h-1.7v5.1v2.1v6h-2.6V31.2h4.2c0.9,0,1.7,0.1,2.4,0.3
c0.7,0.2,1.2,0.5,1.6,0.9c0.4,0.4,0.7,0.9,0.9,1.4s0.3,1.1,0.3,1.8c0,0.5-0.1,1-0.2,1.5c-0.1,0.5-0.3,0.9-0.6,1.2
c-0.3,0.4-0.6,0.7-1,1s-0.8,0.5-1.3,0.7c0.3,0.2,0.6,0.5,0.8,0.9l3.4,5.7h-2.3c-0.2,0-0.4-0.1-0.6-0.1c-0.2-0.1-0.3-0.2-0.4-0.4
l-2.9-4.9c-0.1-0.1-0.2-0.4-0.4-0.4h-0.9v-1.9C961.2,38.5,961.5,38.5,961.5,38.5"/>
<path id="Fill-968" class="st9" d="M977.2,44.4c0.6,0,1.2-0.1,1.7-0.2c0.5-0.1,0.9-0.3,1.4-0.5v-3.4h-1.9c-0.2,0-0.3-0.1-0.4-0.1
c-0.1-0.1-0.2-0.2-0.2-0.4v-1.6h5.1V45c-0.4,0.3-0.8,0.5-1.2,0.7s-0.9,0.4-1.4,0.5s-1,0.2-1.5,0.3c-0.6,0.1-1.1,0.1-1.8,0.1
c-1.1,0-2.1-0.2-3.1-0.6c-1-0.4-1.8-0.9-2.4-1.6c-0.7-0.7-1.2-1.5-1.6-2.4c-0.4-0.9-0.6-2-0.6-3.1s0.2-2.2,0.6-3.1
c0.4-0.9,0.9-1.8,1.6-2.4c0.7-0.7,1.5-1.2,2.5-1.6s2.1-0.6,3.3-0.6s2.3,0.2,3.2,0.5c0.9,0.4,1.7,0.9,2.3,1.4l-0.8,1.3
c-0.2,0.3-0.4,0.4-0.6,0.4c-0.2,0-0.3-0.1-0.5-0.2c-0.2-0.1-0.5-0.3-0.7-0.4c-0.2-0.1-0.5-0.3-0.8-0.3c-0.3-0.1-0.6-0.2-1-0.2
c-0.3-0.1-0.8-0.1-1.2-0.1c-0.8,0-1.5,0.1-2.1,0.4c-0.6,0.3-1.1,0.6-1.6,1.1c-0.4,0.5-0.8,1-1,1.7s-0.4,1.4-0.4,2.2
c0,0.9,0.1,1.6,0.4,2.3c0.3,0.7,0.6,1.3,1,1.7c0.4,0.5,1,0.8,1.6,1.1C975.7,44.3,976.5,44.4,977.2,44.4"/>
<path id="Fill-969" class="st9" d="M993,40.4h-5.1v3.9h7.5v2.3h-10.7V31.2h10.7v2.3h-7.5v4.7h5.9v1.7
C993.7,39.9,993.7,40.4,993,40.4"/>
</g>
<g id="SF-logo-vector" transform="translate(115.000000, 212.000000)">
<path id="Rectangle_4_" class="st10" d="M829-36h4c0.2,0,0.4,0.2,0.4,0.4v0.1c0,0.1-0.1,0.3-0.2,0.4l-12.6,13.8
c-0.2,0.2-0.2,0.6,0,0.8l10,10.9c0.2,0.2,0.2,0.6,0,0.8l-1.8,2c-0.2,0.2-0.6,0.3-0.8,0l0,0l-12.5-13.7c-0.2-0.2-0.2-0.6,0-0.8
l13.2-14.5C828.6-35.9,828.8-36,829-36z"/>
<path id="Rectangle_5_" class="st10" d="M834.7-4h-4c-0.2,0-0.4-0.2-0.4-0.4v-0.1c0-0.1,0.1-0.3,0.2-0.4l12.6-13.8
c0.2-0.2,0.2-0.6,0-0.8l-9.9-10.9c-0.2-0.2-0.2-0.6,0-0.8l1.8-2c0.2-0.2,0.6-0.3,0.8,0l0,0l12.5,13.7c0.2,0.2,0.2,0.6,0,0.8
L835.2-4.2C835-4.1,834.9-4,834.7-4z"/>
<path id="Oval" class="st10" d="M832.3-13.5c2.7,0,4.8-3,4.6-6.2c-0.1-1.4-1-4-1.3-3.5c-0.1,0.2,0.2,2,0.1,3.1
c-0.2,1.8-0.9,2.9-1.2,2.2c-0.4-0.6-0.2-1.9-0.3-3.2c-0.1-1.4-0.3-2.9-0.6-3.7c-0.1-0.4-1.4-3.7-2.2-4c-0.1,0-0.1,0-0.1,0
s-0.1,0-0.2,0.1c-0.2,0.2,0.1,1.3-0.7,2.7c-0.5,0.9-1.6,2.1-2.1,3.2c-0.7,1.6-0.8,3.1-0.8,3.9C827.6-15.5,829.6-13.5,832.3-13.5z
"/>
</g>
</g>
</g>
<g id="Layer_3">
<g id="leader-winter-2021-white_1_">
<g id="White-leader-badge-3_1_">
<g id="White-leader-badge-2_2_">
<g id="White-leader-badge_2_">
<g id="Group-6_2_">
<g id="Group-5_2_">
<g id="shield_2_">
<linearGradient id="Fill-161_3_" gradientUnits="userSpaceOnUse" x1="2.3067" y1="-275.7392" x2="3.5" y2="-274.9383" gradientTransform="matrix(286 0 0 302.6096 -285 83579.375)">
<stop offset="0" style="stop-color:#C2C2BD"/>
<stop offset="1" style="stop-color:#F06A2A"/>
</linearGradient>
<path id="Fill-161_2_" class="st11" d="M264.2,175.5V63.9c0-0.6,0.4-1.1,1-1.2l83.6-12.4c0.1,0,0.2,0,0.3,0l83.6,12.4
c0.6,0.1,1,0.6,1,1.2v111.6c0,0.4-0.2,0.8-0.6,1l-83.6,53c-0.4,0.2-0.9,0.2-1.3,0l-83.6-53
C264.5,176.3,264.2,175.9,264.2,175.5z"/>
<path id="Fill-162_2_" class="st1" d="M430.6,67.1c-0.1-0.4-0.4-1.1-0.7-1.4l-79.7-12c-0.1,0-0.2,0-1.1,0c-1,0-1.1,0-1.1,0
l-79.9,12c-0.3,0.3-0.6,1-0.7,1.4v106.1c0.1,0.4,0.4,1.1,0.7,1.4l81,52l80.9-52c0.3-0.2,0.6-1,0.7-1.4L430.6,67.1z"/>
<linearGradient id="Fill-163_6_" gradientUnits="userSpaceOnUse" x1="2.2916" y1="-275.7263" x2="2.1674" y2="-275.8209" gradientTransform="matrix(261.9238 0 0 279.8408 -249.0124 77281.3906)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#E7E7E7"/>
</linearGradient>
<polygon id="Fill-163_5_" class="st12" points="271.3,68.6 271.3,171.6 349,223.1 426.6,171.6 426.6,68.6 349,57.2
"/>
<linearGradient id="Fill-163_7_" gradientUnits="userSpaceOnUse" x1="3.256" y1="-275.7764" x2="3.3952" y2="-275.3571" gradientTransform="matrix(131.4054 0 0 279.8408 -118.8108 77281.3906)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#F3F3F3"/>
</linearGradient>
<polygon id="Fill-163_4_" class="st13" points="271.1,171.6 349,223.1 349,57.2 271.3,68.6 "/>
</g>
<g class="st6">
<path d="M289.6,107.3H303v4.6h-19.3V82h6V107.3z"/>
<path d="M315.8,112.4c-3.2,0-5.8-1-7.7-3.1s-2.9-4.7-2.9-7.8v-0.8c0-3.3,0.9-6,2.7-8.2s4.3-3.2,7.3-3.2c3,0,5.3,0.9,7,2.7
c1.7,1.8,2.5,4.3,2.5,7.3v3.3h-13.3l0,0.1c0.1,1.5,0.6,2.7,1.5,3.6c0.9,0.9,2.1,1.4,3.5,1.4c1.3,0,2.4-0.1,3.3-0.4
c0.9-0.3,1.8-0.7,2.9-1.3l1.6,3.7c-0.9,0.7-2.1,1.4-3.6,1.8C319.2,112.1,317.6,112.4,315.8,112.4z M315.2,93.9
c-1.1,0-2,0.4-2.6,1.3c-0.6,0.9-1,2-1.2,3.4l0.1,0.1h7.4v-0.5c0-1.3-0.3-2.3-0.9-3.1C317.3,94.3,316.4,93.9,315.2,93.9z"/>
<path d="M341.3,112c-0.2-0.5-0.4-1-0.6-1.6c-0.2-0.6-0.3-1.1-0.3-1.7c-0.6,1.1-1.4,2-2.4,2.7c-1,0.7-2.2,1.1-3.6,1.1
c-2.3,0-4.1-0.6-5.4-1.8c-1.3-1.2-1.9-2.8-1.9-4.9c0-2.2,0.8-3.9,2.5-5.1s4.1-1.8,7.3-1.8h3.4v-1.8c0-1.1-0.3-1.9-0.8-2.5
c-0.6-0.6-1.4-0.9-2.5-0.9c-1,0-1.7,0.2-2.3,0.7s-0.8,1.1-0.8,2l-5.8,0l0-0.1c-0.1-1.9,0.7-3.5,2.4-4.9s4-2,6.8-2
c2.7,0,4.8,0.7,6.5,2s2.5,3.3,2.5,5.8v9.2c0,1,0.1,2,0.2,2.9s0.4,1.8,0.8,2.7H341.3z M335.8,107.9c1.1,0,2-0.3,2.8-0.8
s1.4-1.1,1.7-1.8v-3.1h-3.4c-1.3,0-2.2,0.3-2.9,1c-0.7,0.6-1,1.4-1,2.3c0,0.7,0.2,1.3,0.7,1.8S334.9,107.9,335.8,107.9z"/>
<path d="M349.9,101c0-3.5,0.8-6.3,2.3-8.5s3.6-3.2,6.4-3.2c1.1,0,2.1,0.2,3,0.7c0.9,0.5,1.7,1.2,2.3,2.1V79.9h6V112h-5.2
l-0.5-2.7c-0.7,1-1.5,1.8-2.5,2.3c-1,0.5-2,0.8-3.3,0.8c-2.7,0-4.8-1-6.4-3s-2.3-4.6-2.3-7.9V101z M355.9,101.5
c0,2,0.3,3.5,1,4.6c0.7,1.1,1.7,1.7,3.2,1.7c0.9,0,1.6-0.2,2.3-0.5s1.2-0.9,1.6-1.5v-9.5c-0.4-0.7-0.9-1.3-1.6-1.6
c-0.6-0.4-1.4-0.6-2.2-0.6c-1.5,0-2.5,0.7-3.2,2c-0.7,1.3-1,3-1,5.1V101.5z"/>
<path d="M384.4,112.4c-3.2,0-5.8-1-7.7-3.1s-2.9-4.7-2.9-7.8v-0.8c0-3.3,0.9-6,2.7-8.2s4.3-3.2,7.3-3.2c3,0,5.3,0.9,7,2.7
c1.7,1.8,2.5,4.3,2.5,7.3v3.3h-13.3l0,0.1c0.1,1.5,0.6,2.7,1.5,3.6c0.9,0.9,2.1,1.4,3.5,1.4c1.3,0,2.4-0.1,3.3-0.4
c0.9-0.3,1.8-0.7,2.9-1.3l1.6,3.7c-0.9,0.7-2.1,1.4-3.6,1.8C387.8,112.1,386.2,112.4,384.4,112.4z M383.9,93.9
c-1.1,0-2,0.4-2.6,1.3c-0.6,0.9-1,2-1.2,3.4l0.1,0.1h7.4v-0.5c0-1.3-0.3-2.3-0.9-3.1C386,94.3,385.1,93.9,383.9,93.9z"/>
<path d="M408.6,94.9l-2.2-0.1c-0.9,0-1.6,0.2-2.2,0.6c-0.6,0.4-1,0.9-1.3,1.6v15h-6V89.7h5.6l0.3,3.3c0.5-1.2,1.2-2.1,2-2.7
c0.8-0.7,1.8-1,2.9-1c0.3,0,0.6,0,0.8,0.1c0.3,0,0.5,0.1,0.8,0.2L408.6,94.9z"/>
</g>
</g>
<polygon id="Fill-18-Copy-4_8_" class="st14" points="416.4,125.1 418.2,128.9 422.2,129.5 419.3,132.4 420,136.6
416.4,134.6 412.9,136.6 413.6,132.4 410.7,129.5 414.7,128.9 "/>
<polygon id="Fill-18-Copy-4_5_" class="st14" points="281.2,125.1 283,128.9 287,129.5 284.1,132.4 284.8,136.6 281.2,134.6
277.7,136.6 278.4,132.4 275.5,129.5 279.5,128.9 "/>
<g id="Sash-and-text_5_" transform="translate(17.391892, 164.044586)">
<linearGradient id="Rectangle_20_" gradientUnits="userSpaceOnUse" x1="-31.5917" y1="-272.6844" x2="-32.3072" y2="-272.6167" gradientTransform="matrix(251.2162 0 0 61.758 8488.0332 16836.8535)">
<stop offset="0" style="stop-color:#FFCB00"/>
<stop offset="1" style="stop-color:#F06A2B"/>
</linearGradient>
<polygon id="Rectangle_19_" class="st15" points="257.2,-16.5 406.1,-16.5 406.1,5.7 382.8,20.1 280.4,20.1 257.2,5.7
"/>
</g>
<g id="Sash-and-text_4_" transform="translate(17.391892, 164.044586)">
</g>
<linearGradient id="Rectangle_21_" gradientUnits="userSpaceOnUse" x1="1.5351" y1="-272.638" x2="2.3163" y2="-272.5985" gradientTransform="matrix(251.2162 0 0 61.758 -232.8243 17000.8965)">
<stop offset="0" style="stop-color:#FFCB00"/>
<stop offset="1" style="stop-color:#F06A2B"/>
</linearGradient>
<polygon id="Rectangle_18_" class="st16" points="274.6,147.6 423.5,147.6 297.8,184.2 274.6,169.8 "/>
</g>
<g class="st6">
<path class="st17" d="M313.3,174.8l-5.9-22.1h3l3.4,14.5c0.4,1.5,0.7,3,0.9,4.5c0.6-2.4,0.9-3.7,1-4.1l4.2-14.9h3.5l3.2,11.2
c0.8,2.8,1.4,5.4,1.7,7.8c0.3-1.4,0.6-3,1.1-4.8l3.5-14.2h2.9l-6.1,22.1H327l-4.7-16.8c-0.4-1.4-0.6-2.3-0.7-2.6
c-0.2,1-0.4,1.9-0.6,2.6l-4.7,16.8H313.3z"/>
<path class="st17" d="M338.2,155.9v-3.1h2.7v3.1H338.2z M338.2,174.8v-16h2.7v16H338.2z"/>
<path class="st17" d="M345.1,174.8v-16h2.4v2.3c1.2-1.8,2.9-2.6,5.1-2.6c1,0,1.8,0.2,2.7,0.5c0.8,0.3,1.4,0.8,1.8,1.4
c0.4,0.6,0.7,1.2,0.8,2c0.1,0.5,0.2,1.4,0.2,2.6v9.8h-2.7v-9.7c0-1.1-0.1-1.9-0.3-2.5c-0.2-0.5-0.6-1-1.1-1.3
c-0.5-0.3-1.2-0.5-1.9-0.5c-1.2,0-2.2,0.4-3,1.1s-1.3,2.1-1.3,4.2v8.7H345.1z"/>
<path class="st17" d="M368.1,172.4l0.4,2.4c-0.8,0.2-1.4,0.2-2,0.2c-1,0-1.7-0.2-2.3-0.5c-0.5-0.3-0.9-0.7-1.1-1.2
s-0.3-1.6-0.3-3.2v-9.2h-2v-2.1h2v-4l2.7-1.6v5.6h2.7v2.1h-2.7v9.3c0,0.8,0,1.3,0.1,1.5c0.1,0.2,0.3,0.4,0.5,0.5
c0.2,0.1,0.5,0.2,0.9,0.2C367.3,172.5,367.7,172.5,368.1,172.4z"/>
<path class="st17" d="M381.7,169.7l2.8,0.3c-0.4,1.6-1.3,2.9-2.5,3.8s-2.7,1.4-4.6,1.4c-2.3,0-4.2-0.7-5.6-2.2
s-2.1-3.5-2.1-6.1c0-2.7,0.7-4.8,2.1-6.3c1.4-1.5,3.2-2.2,5.4-2.2c2.1,0,3.9,0.7,5.2,2.2s2,3.5,2,6.1c0,0.2,0,0.4,0,0.7h-11.9
c0.1,1.8,0.6,3.1,1.5,4c0.9,0.9,2,1.4,3.3,1.4c1,0,1.8-0.3,2.5-0.8C380.8,171.6,381.3,170.8,381.7,169.7z M372.8,165.3h8.9
c-0.1-1.3-0.5-2.4-1-3c-0.9-1-2-1.6-3.4-1.6c-1.2,0-2.3,0.4-3.1,1.2C373.4,162.8,372.9,163.9,372.8,165.3z"/>
<path class="st17" d="M387.9,174.8v-16h2.4v2.4c0.6-1.1,1.2-1.9,1.7-2.2c0.5-0.4,1.1-0.5,1.7-0.5c0.9,0,1.8,0.3,2.8,0.9
l-0.9,2.5c-0.7-0.4-1.3-0.6-2-0.6c-0.6,0-1.1,0.2-1.6,0.5s-0.8,0.9-1,1.5c-0.3,1-0.5,2-0.5,3.2v8.4H387.9z"/>
</g>
<g class="st6">
<path d="M339.5,201.1v2.2h-8.3c0.1-0.8,0.4-1.6,0.8-2.4c0.4-0.7,1.3-1.7,2.7-3c1.1-1,1.7-1.7,2-2c0.3-0.5,0.5-1,0.5-1.4
c0-0.5-0.1-0.9-0.4-1.2c-0.3-0.3-0.7-0.4-1.2-0.4c-0.5,0-0.9,0.1-1.2,0.4c-0.3,0.3-0.5,0.8-0.5,1.5l-2.4-0.2
c0.1-1.3,0.6-2.2,1.3-2.8s1.7-0.8,2.8-0.8c1.2,0,2.2,0.3,2.9,1c0.7,0.7,1,1.5,1,2.4c0,0.6-0.1,1.1-0.3,1.6s-0.5,1-0.9,1.6
c-0.3,0.4-0.8,0.9-1.5,1.6c-0.7,0.7-1.2,1.1-1.4,1.4c-0.2,0.2-0.4,0.4-0.5,0.7H339.5z"/>
<path d="M345,190.9c1.2,0,2.1,0.4,2.8,1.3c0.8,1,1.2,2.7,1.2,5c0,2.3-0.4,4-1.2,5c-0.7,0.8-1.6,1.3-2.8,1.3
c-1.2,0-2.2-0.5-2.9-1.4s-1.1-2.6-1.1-4.9c0-2.3,0.4-4,1.2-5C342.9,191.3,343.9,190.9,345,190.9z M345,192.9
c-0.3,0-0.5,0.1-0.8,0.3c-0.2,0.2-0.4,0.5-0.5,1c-0.2,0.6-0.2,1.6-0.2,3.1s0.1,2.4,0.2,3s0.3,0.9,0.5,1.1
c0.2,0.2,0.5,0.3,0.8,0.3c0.3,0,0.5-0.1,0.8-0.3c0.2-0.2,0.4-0.5,0.5-1c0.2-0.6,0.2-1.6,0.2-3.1s-0.1-2.4-0.2-3
c-0.1-0.5-0.3-0.9-0.6-1.1C345.6,193,345.3,192.9,345,192.9z"/>
<path d="M358.6,201.1v2.2h-8.3c0.1-0.8,0.4-1.6,0.8-2.4c0.4-0.7,1.3-1.7,2.7-3c1.1-1,1.7-1.7,2-2c0.3-0.5,0.5-1,0.5-1.4
c0-0.5-0.1-0.9-0.4-1.2c-0.3-0.3-0.7-0.4-1.2-0.4c-0.5,0-0.9,0.1-1.2,0.4c-0.3,0.3-0.5,0.8-0.5,1.5l-2.4-0.2
c0.1-1.3,0.6-2.2,1.3-2.8s1.7-0.8,2.8-0.8c1.2,0,2.2,0.3,2.9,1c0.7,0.7,1,1.5,1,2.4c0,0.6-0.1,1.1-0.3,1.6s-0.5,1-0.9,1.6
c-0.3,0.4-0.8,0.9-1.5,1.6c-0.7,0.7-1.2,1.1-1.4,1.4c-0.2,0.2-0.4,0.4-0.5,0.7H358.6z"/>
<path d="M360.2,200.1l2.4-0.2c0.1,0.5,0.3,1,0.6,1.3s0.7,0.5,1.1,0.5c0.5,0,0.9-0.2,1.3-0.6c0.3-0.4,0.5-1,0.5-1.8
c0-0.8-0.2-1.3-0.5-1.7c-0.3-0.4-0.8-0.6-1.3-0.6c-0.7,0-1.3,0.3-1.8,0.9l-1.9-0.3l1.2-6.4h6.2v2.2h-4.4l-0.4,2.1
c0.5-0.3,1.1-0.4,1.6-0.4c1,0,1.9,0.4,2.7,1.1c0.7,0.8,1.1,1.7,1.1,3c0,1-0.3,1.9-0.9,2.7c-0.8,1.1-1.9,1.6-3.3,1.6
c-1.1,0-2.1-0.3-2.8-0.9C360.8,202,360.4,201.1,360.2,200.1z"/>
</g>
</g>
</g>
<g id="SourceForge-Logo-White-vector_3_" transform="translate(45.675676, 126.000000)">
<path id="Fill-953_3_" class="st9" d="M252.8,0.6c-0.1,0.1-0.1,0.1-0.2,0.1c-0.1,0-0.2,0-0.3-0.2c-0.1-0.1-0.3-0.2-0.5-0.4
c-0.2-0.1-0.5-0.3-0.8-0.4s-0.7-0.2-1.2-0.2s-0.8,0.1-1.2,0.2c-0.3,0.1-0.6,0.3-0.9,0.5c-0.2,0.2-0.4,0.5-0.5,0.8
S247,1.6,247,1.9c0,0.4,0.1,0.8,0.3,1c0.2,0.3,0.4,0.5,0.7,0.7s0.6,0.4,1,0.5c0.4,0.1,0.8,0.3,1.2,0.4s0.8,0.3,1.2,0.4
s0.7,0.4,1,0.6s0.5,0.5,0.7,0.8s0.3,0.8,0.3,1.2c0,0.5-0.1,1-0.3,1.4s-0.4,0.8-0.8,1.2c-0.3,0.3-0.8,0.6-1.3,0.8
s-1.1,0.3-1.7,0.3c-0.8,0-1.5-0.1-2.1-0.4c-0.6-0.3-1.1-0.7-1.6-1.2l0.2-0.4c0.1-0.1,0.1-0.1,0.2-0.1c0.1,0,0.1,0,0.2,0.1
c0.1,0.1,0.2,0.2,0.3,0.3s0.3,0.2,0.4,0.3c0.2,0.1,0.4,0.2,0.6,0.3c0.2,0.1,0.5,0.2,0.8,0.3s0.6,0.1,1,0.1
c0.5,0,0.9-0.1,1.3-0.2c0.4-0.1,0.7-0.4,1-0.6c0.3-0.2,0.5-0.6,0.6-0.9c0.1-0.4,0.2-0.7,0.2-1.1s-0.1-0.8-0.3-1.1
c-0.2-0.3-0.4-0.5-0.7-0.7s-0.6-0.4-1-0.5s-0.8-0.3-1.2-0.4s-0.8-0.3-1.2-0.4s-0.7-0.3-1-0.6c-0.3-0.2-0.5-0.5-0.7-0.9
S246,2.3,246,1.8c0-0.4,0.1-0.8,0.2-1.2c0.2-0.4,0.4-0.7,0.7-1s0.7-0.5,1.1-0.7c0.5-0.2,1-0.3,1.6-0.3c0.7,0,1.2,0.1,1.8,0.3
c0.5,0.2,1,0.5,1.4,0.9V0.6z"/>
<path id="Fill-955_3_" class="st9" d="M265,5.2c0-0.8-0.1-1.6-0.4-2.3c-0.2-0.7-0.6-1.2-1-1.7s-0.9-0.8-1.5-1.1s-1.3-0.4-2-0.4
s-1.4,0.1-2,0.4s-1.1,0.6-1.5,1.1s-0.8,1-1,1.7s-0.4,1.4-0.4,2.3c0,0.8,0.1,1.6,0.4,2.3s0.6,1.2,1,1.7s0.9,0.8,1.5,1.1
s1.3,0.4,2,0.4s1.4-0.1,2-0.4c0.6-0.2,1.1-0.6,1.5-1.1s0.7-1,1-1.7S265,6.1,265,5.2 M265.8,5.2c0,0.9-0.1,1.8-0.4,2.6
s-0.7,1.4-1.2,2c-0.5,0.5-1.1,1-1.8,1.3c-0.7,0.3-1.5,0.4-2.3,0.4s-1.6-0.1-2.3-0.4c-0.7-0.3-1.3-0.7-1.8-1.3
c-0.5-0.5-0.9-1.2-1.2-2s-0.4-1.6-0.4-2.6c0-0.9,0.1-1.8,0.4-2.5c0.3-0.8,0.7-1.4,1.2-2c0.5-0.5,1.1-1,1.8-1.3
c0.7-0.3,1.5-0.4,2.3-0.4s1.6,0.1,2.3,0.4c0.7,0.3,1.3,0.7,1.8,1.3c0.5,0.5,0.9,1.2,1.2,2C265.7,3.4,265.8,4.3,265.8,5.2"/>
<path id="Fill-957_3_" class="st9" d="M272.1,10.7c0.6,0,1.1-0.1,1.5-0.3c0.5-0.2,0.8-0.5,1.1-0.9c0.3-0.4,0.5-0.8,0.7-1.3
s0.2-1,0.2-1.6V-1h0.8v7.6c0,0.7-0.1,1.3-0.3,1.9c-0.2,0.6-0.5,1.1-0.9,1.5s-0.9,0.8-1.4,1s-1.2,0.4-1.9,0.4
c-0.7,0-1.3-0.1-1.9-0.4c-0.5-0.3-1-0.6-1.4-1s-0.7-0.9-0.9-1.5c-0.2-0.6-0.3-1.2-0.3-1.9V-1h0.9v7.6c0,0.6,0.1,1.1,0.2,1.6
c0.2,0.5,0.4,0.9,0.7,1.3c0.3,0.4,0.7,0.6,1.1,0.9C271,10.6,271.5,10.7,272.1,10.7"/>
<path id="Fill-959_3_" class="st9" d="M280.8,4.9h0.2h0.6c0.6,0,1.2-0.1,1.6-0.2c0.5-0.1,0.9-0.3,1.2-0.5
c0.3-0.2,0.6-0.5,0.8-0.8c0.2-0.3,0.3-0.7,0.3-1.1c0-0.8-0.3-1.5-1-1.9c-0.6-0.4-1.6-0.6-2.8-0.6h-2.5V5v0.6V11h-1V-1h3.5
c1.6,0,2.8,0.3,3.5,0.8c0.8,0.5,1.2,1.3,1.2,2.3c0,0.5-0.1,0.9-0.3,1.2c-0.2,0.4-0.5,0.7-0.8,1s-0.7,0.5-1.2,0.7s-1,0.3-1.6,0.4
c0.2,0.1,0.3,0.2,0.4,0.3l4.7,5.1h-0.9c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2-0.1-0.2-0.2L282,5.9c-0.1-0.1-0.2-0.2-0.3-0.2
c-0.1,0-0.9-0.1-1.2-0.1C280.5,4.9,280.6,4.9,280.8,4.9"/>
<path id="Fill-961_3_" class="st9" d="M296.2,9.3c0,0,0.1,0,0.1,0.1l0.3,0.4c-0.2,0.3-0.5,0.5-0.8,0.7s-0.6,0.4-0.9,0.5
s-0.7,0.3-1.1,0.4c-0.4,0.1-0.8,0.1-1.3,0.1c-0.8,0-1.5-0.1-2.2-0.4c-0.7-0.3-1.2-0.7-1.7-1.3c-0.5-0.5-0.8-1.2-1.1-2
c-0.3-0.8-0.4-1.6-0.4-2.6c0-0.9,0.1-1.8,0.4-2.5c0.3-0.8,0.7-1.4,1.1-2c0.5-0.5,1.1-1,1.8-1.3c0.7-0.3,1.5-0.4,2.3-0.4
c0.4,0,0.8,0,1.1,0.1c0.4,0.1,0.7,0.2,1,0.3s0.6,0.3,0.8,0.5c0.3,0.2,0.5,0.4,0.8,0.6l-0.2,0.4c0,0.1-0.1,0.1-0.2,0.1
c0,0-0.1,0-0.2-0.1s-0.2-0.1-0.3-0.2c-0.1-0.1-0.3-0.2-0.4-0.3c-0.2-0.1-0.4-0.2-0.6-0.3s-0.5-0.2-0.8-0.2
c-0.3-0.1-0.6-0.1-1-0.1c-0.7,0-1.3,0.1-1.9,0.4s-1.1,0.6-1.5,1.1s-0.8,1.1-1,1.7c-0.2,0.7-0.4,1.4-0.4,2.3s0.1,1.6,0.4,2.3
c0.2,0.7,0.6,1.2,1,1.7s0.9,0.8,1.5,1.1s1.2,0.4,1.8,0.4c0.4,0,0.8,0,1.1-0.1c0.3,0,0.6-0.1,0.9-0.3c0.3-0.1,0.5-0.3,0.8-0.4
c0.2-0.2,0.5-0.4,0.7-0.6C296,9.3,296.1,9.2,296.2,9.3C296.1,9.3,296.2,9.3,296.2,9.3"/>
<polygon id="Fill-963_3_" class="st9" points="306.7,-1 306.7,-0.3 299.4,-0.3 299.4,4.5 305.5,4.5 305.5,5.2 299.4,5.2
299.4,10.2 306.7,10.2 306.7,10.9 298.4,10.9 298.4,-1 "/>
<polygon id="Fill-965_3_" class="st9" points="316.8,-1 316.8,0.9 310.5,0.9 310.5,4.5 315.8,4.5 315.8,6.4 310.5,6.4
310.5,11.5 307.9,11.5 307.9,-1 "/>
<path id="Fill-966_3_" class="st9" d="M327.5,5.2c0-0.7-0.1-1.3-0.3-1.8c-0.2-0.5-0.4-1-0.8-1.4c-0.3-0.4-0.7-0.6-1.2-0.8
s-1-0.3-1.6-0.3S322.5,1,322,1.2s-0.9,0.5-1.2,0.8c-0.3,0.4-0.6,0.8-0.8,1.4c-0.2,0.5-0.3,1.1-0.3,1.8s0.1,1.3,0.3,1.8
c0.2,0.5,0.4,1,0.8,1.4c0.3,0.4,0.7,0.6,1.2,0.8s1,0.3,1.6,0.3s1.1-0.1,1.6-0.3s0.9-0.5,1.2-0.8c0.3-0.4,0.6-0.8,0.8-1.4
C327.4,6.5,327.5,5.9,327.5,5.2 M329.8,5.2c0,0.9-0.1,1.7-0.4,2.5s-0.7,1.4-1.3,2c-0.5,0.6-1.2,1-2,1.3s-1.6,0.5-2.5,0.5
s-1.8-0.2-2.5-0.5c-0.8-0.3-1.4-0.7-2-1.3s-1-1.2-1.3-2s-0.4-1.6-0.4-2.5s0.1-1.7,0.4-2.5s0.7-1.4,1.3-2c0.6-0.6,1.2-1,2-1.3
s1.6-0.5,2.5-0.5s1.8,0.2,2.5,0.5c0.8,0.3,1.4,0.8,2,1.3c0.5,0.6,1,1.2,1.3,2C329.7,3.5,329.8,4.3,329.8,5.2"/>
<path id="Fill-967_3_" class="st9" d="M334,4.9h0.5c0.4,0,0.8,0,1.1-0.2c0.3-0.1,0.5-0.3,0.7-0.4c0.2-0.2,0.3-0.4,0.4-0.7
s0.2-0.6,0.2-0.9c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.3-1-0.5-1.7-0.5h-1.4v4.1v1.7v4.9H331V-1h3.5c0.8,0,1.4,0.1,2,0.3s1,0.4,1.4,0.7
c0.3,0.3,0.6,0.7,0.8,1.1c0.2,0.4,0.3,0.9,0.3,1.5c0,0.4-0.1,0.8-0.2,1.2s-0.3,0.7-0.5,1s-0.5,0.6-0.8,0.8
c-0.3,0.2-0.7,0.4-1.1,0.5c0.3,0.2,0.5,0.4,0.7,0.7l2.9,4.6h-2c-0.2,0-0.3,0-0.5-0.1c-0.1-0.1-0.2-0.2-0.3-0.4l-2.4-4
c-0.1-0.1-0.2-0.3-0.3-0.3h-0.8V5.1C333.8,4.9,334,4.9,334,4.9"/>
<path id="Fill-968_3_" class="st9" d="M345.9,9.7c0.5,0,1,0,1.4-0.1s0.8-0.2,1.1-0.4V6.4h-1.6c-0.1,0-0.3,0-0.4-0.1
s-0.1-0.2-0.1-0.3V4.7h4.2v5.5c-0.3,0.2-0.6,0.4-1,0.6c-0.4,0.2-0.7,0.3-1.1,0.4c-0.4,0.1-0.8,0.2-1.3,0.2s-0.9,0.1-1.5,0.1
c-0.9,0-1.8-0.2-2.6-0.5c-0.8-0.3-1.5-0.7-2-1.3c-0.6-0.5-1-1.2-1.3-2s-0.5-1.6-0.5-2.5s0.1-1.7,0.5-2.5c0.3-0.8,0.7-1.4,1.3-2
c0.6-0.5,1.3-1,2.1-1.3c0.8-0.3,1.7-0.5,2.7-0.5s1.9,0.1,2.7,0.4c0.8,0.3,1.4,0.7,1.9,1.1l-0.7,1c-0.1,0.2-0.3,0.3-0.5,0.3
c-0.1,0-0.3,0-0.4-0.1c-0.2-0.1-0.4-0.2-0.6-0.3s-0.4-0.2-0.6-0.3s-0.5-0.1-0.8-0.2c-0.3,0-0.6-0.1-1-0.1
c-0.6,0-1.2,0.1-1.7,0.3s-0.9,0.5-1.3,0.9s-0.6,0.8-0.8,1.4c-0.2,0.5-0.3,1.1-0.3,1.8s0.1,1.3,0.3,1.9c0.2,0.5,0.5,1,0.9,1.4
c0.4,0.4,0.8,0.7,1.3,0.9C344.7,9.6,345.3,9.7,345.9,9.7"/>
<path id="Fill-969_3_" class="st9" d="M358.7,6.5h-4.3v3.1h6.2v1.9h-8.9V-1h8.9v1.9h-6.3v3.8h4.9v1.4
C359.3,6.1,359.3,6.5,358.7,6.5"/>
</g>
<g id="SF-logo-vector_3_" transform="translate(121.000000, 15.000000)">
<path id="Rectangle_17_" class="st10" d="M226.3,44.2h3.2c0.2,0,0.3,0.1,0.3,0.3v0.1c0,0.1-0.1,0.3-0.2,0.4l-10.1,10.9
c-0.2,0.2-0.2,0.6,0,0.8l7.9,8.6c0.2,0.2,0.2,0.6,0,0.8l-1.3,1.4c-0.2,0.2-0.6,0.3-0.8,0l0,0l-10-10.8c-0.2-0.2-0.2-0.6,0-0.8
l10.5-11.5C226,44.3,226.2,44.2,226.3,44.2z"/>
<path id="Rectangle_16_" class="st10" d="M230.3,69.7h-3.2c-0.2,0-0.3-0.1-0.3-0.3v-0.1c0-0.1,0.1-0.3,0.2-0.4l10.1-11.2
c0.2-0.2,0.2-0.6,0-0.8l-7.9-8.8c-0.2-0.2-0.2-0.6,0-0.8l1.3-1.4c0.2-0.2,0.6-0.3,0.8-0.1l0,0l10,11c0.2,0.2,0.2,0.6,0,0.8
l-10.6,11.8C230.6,69.6,230.5,69.7,230.3,69.7z"/>
<path id="Oval_3_" class="st10" d="M228.4,62.6c2.2,0,3.9-2.4,3.7-5c-0.1-1.2-0.8-3.2-1-2.9c-0.1,0.2,0.2,1.6,0.1,2.5
c-0.1,1.4-0.7,2.3-1,1.8s-0.2-1.5-0.3-2.6c-0.1-1.2-0.3-2.3-0.5-3c-0.1-0.3-1.1-3-1.8-3.2h-0.1c0,0-0.1,0-0.1,0.1
c-0.2,0.1,0.1,1-0.6,2.2c-0.4,0.7-1.3,1.7-1.7,2.6c-0.6,1.3-0.7,2.5-0.6,3.2C224.6,60.9,226.2,62.6,228.4,62.6z"/>
</g>
</g>
</g>
</g>
<g id="Layer_4">
<g id="Outstanding-Fall-2021-white_1_">
<g id="Group-4_2_">
<g id="Group-2_3_" transform="translate(185.261977, 185.261977) rotate(-315.000000) translate(-185.261977, -185.261977) translate(54.261977, 54.261977)">
<rect id="Rectangle_27_" x="718.4" y="-673.9" transform="matrix(5.070363e-06 1 -1 5.070363e-06 199.8385 -1392.2913)" class="st18" width="155.3" height="155.3"/>
<rect id="Rectangle_26_" x="722.6" y="-669.8" transform="matrix(5.070363e-06 1 -1 5.070363e-06 199.8385 -1392.3912)" class="st1" width="147" height="147"/>
<rect id="Rectangle_25_" x="727.2" y="-665" transform="matrix(5.070363e-06 1 -1 5.070363e-06 199.8385 -1392.1912)" class="st19" width="137.6" height="137.6"/>
</g>
<polygon id="Fill-18-Copy-4_7_" class="st14" points="1131.4,174.9 1133.1,178.6 1137,179.2 1134.2,182.1 1134.8,186.2
1131.4,184.3 1127.9,186.2 1128.5,182.1 1125.7,179.2 1129.6,178.6 "/>
<polygon id="Fill-18-Copy-4_6_" class="st14" points="1208.4,174.9 1210.2,178.6 1214.1,179.2 1211.2,182.1 1211.9,186.2
1208.4,184.3 1204.9,186.2 1205.6,182.1 1202.8,179.2 1206.7,178.6 "/>
<g id="SF-logo-vector_4_" transform="translate(155.000000, 50.000000)">
<path id="Rectangle_24_" class="st10" d="M1012.2,11.1h4.4c0.2,0,0.4,0.2,0.4,0.4v0.2c0,0.2-0.1,0.3-0.2,0.4L1002.9,27
c-0.2,0.2-0.2,0.6,0,0.8l11,11.8c0.2,0.2,0.2,0.6,0,0.8l-2,2.2c-0.2,0.2-0.6,0.3-0.8,0l0,0l-13.8-14.9c-0.2-0.2-0.2-0.6,0-0.8
l14.5-15.7C1011.8,11.2,1012,11.1,1012.2,11.1z"/>
<path id="Rectangle_23_" class="st10" d="M1017.6,45.5h-4.4c-0.2,0-0.4-0.2-0.4-0.4v-0.2c0-0.1,0.1-0.3,0.2-0.4l13.9-15.3
c0.2-0.2,0.2-0.6,0-0.8l-11-12.1c-0.2-0.2-0.2-0.6,0-0.8l2-2.2c0.2-0.2,0.6-0.3,0.8,0l0,0l13.8,15.1c0.2,0.2,0.2,0.6,0,0.8
l-14.6,16C1017.9,45.4,1017.8,45.5,1017.6,45.5z"/>
<path id="Oval_4_" class="st10" d="M1015.6,36c2.9,0,5.2-3.2,4.9-6.7c-0.1-1.5-1.1-4.3-1.4-3.8c-0.2,0.2,0.2,2.1,0.1,3.3
c-0.2,1.9-0.9,3.1-1.3,2.4c-0.4-0.7-0.2-2-0.3-3.5s-0.4-3.1-0.7-4c-0.1-0.4-1.4-4-2.4-4.3c-0.1,0-0.1,0-0.1,0s-0.1,0-0.2,0.1
c-0.2,0.2,0.1,1.4-0.8,2.9c-0.6,1-1.7,2.2-2.2,3.5c-0.7,1.7-0.9,3.3-0.8,4.2C1010.6,33.8,1012.7,36,1015.6,36z"/>
</g>
<linearGradient id="Rectangle_28_" gradientUnits="userSpaceOnUse" x1="5.559" y1="-273.4972" x2="4.8436" y2="-273.4347" gradientTransform="matrix(309 0 0 73 -277 20101.1523)">
<stop offset="0" style="stop-color:#FFCB00"/>
<stop offset="1" style="stop-color:#F06A2B"/>
</linearGradient>
<polygon id="Rectangle_22_" class="st20" points="1099.8,119.8 1239.7,119.8 1261.5,141.4 1239.7,163.1 1099.8,163.1
1078.3,141.4 "/>
<g id="SourceForge-Logo-White-vector_4_" transform="translate(97.000000, 121.000000)">
<path id="Fill-953_5_" class="st21" d="M1026.4-16.3c0,0.1-0.1,0.1-0.2,0.1s-0.1,0-0.2-0.2c-0.1-0.1-0.2-0.2-0.4-0.3
c-0.2-0.1-0.4-0.2-0.7-0.3c-0.3-0.1-0.6-0.2-1-0.2s-0.7,0.1-1,0.2s-0.5,0.3-0.7,0.5s-0.3,0.4-0.5,0.7c-0.1,0.3-0.2,0.5-0.2,0.8
c0,0.4,0.1,0.7,0.2,0.9c0.1,0.2,0.4,0.4,0.6,0.6c0.2,0.2,0.5,0.3,0.9,0.4c0.3,0.1,0.7,0.2,1,0.3s0.7,0.2,1,0.4
c0.3,0.1,0.6,0.3,0.9,0.5s0.5,0.5,0.6,0.8s0.2,0.7,0.2,1.1c0,0.5-0.1,0.9-0.2,1.3c-0.1,0.4-0.4,0.8-0.7,1.1
c-0.3,0.3-0.7,0.5-1.1,0.7s-0.9,0.3-1.4,0.3c-0.7,0-1.3-0.1-1.8-0.4s-0.9-0.6-1.3-1.1l0.2-0.3c0.1-0.1,0.1-0.1,0.2-0.1
c0,0,0.1,0,0.2,0.1c0.1,0.1,0.2,0.1,0.2,0.2c0.1,0.1,0.2,0.2,0.4,0.3c0.1,0.1,0.3,0.2,0.5,0.3s0.4,0.2,0.6,0.2
c0.2,0.1,0.5,0.1,0.8,0.1c0.4,0,0.8-0.1,1.1-0.2s0.6-0.3,0.8-0.5c0.2-0.2,0.4-0.5,0.5-0.8s0.2-0.7,0.2-1c0-0.4-0.1-0.7-0.2-1
s-0.4-0.5-0.6-0.6c-0.2-0.2-0.5-0.3-0.9-0.4s-0.7-0.2-1-0.3s-0.7-0.2-1-0.4c-0.3-0.1-0.6-0.3-0.9-0.5c-0.2-0.2-0.5-0.5-0.6-0.8
s-0.2-0.7-0.2-1.2c0-0.4,0.1-0.7,0.2-1.1c0.1-0.3,0.3-0.6,0.6-0.9s0.6-0.5,1-0.6s0.8-0.2,1.3-0.2c0.6,0,1,0.1,1.5,0.3
c0.4,0.2,0.8,0.5,1.2,0.8L1026.4-16.3z"/>
<path id="Fill-955_4_" class="st21" d="M1037.5-12.2c0-0.8-0.1-1.5-0.3-2.1c-0.2-0.6-0.5-1.1-0.9-1.5s-0.8-0.7-1.4-1
c-0.5-0.2-1.1-0.3-1.8-0.3c-0.6,0-1.2,0.1-1.8,0.3c-0.5,0.2-1,0.5-1.4,1c-0.4,0.4-0.7,0.9-0.9,1.5c-0.2,0.6-0.3,1.3-0.3,2.1
s0.1,1.5,0.3,2.1c0.2,0.6,0.5,1.1,0.9,1.5s0.8,0.7,1.4,1c0.5,0.2,1.1,0.3,1.8,0.3c0.6,0,1.2-0.1,1.8-0.3c0.5-0.2,1-0.6,1.4-1
s0.7-0.9,0.9-1.5C1037.4-10.7,1037.5-11.4,1037.5-12.2 M1038.2-12.2c0,0.8-0.1,1.6-0.4,2.3c-0.2,0.7-0.6,1.3-1,1.8
s-1,0.9-1.6,1.1c-0.6,0.3-1.3,0.4-2.1,0.4c-0.7,0-1.4-0.1-2-0.4s-1.1-0.6-1.6-1.1c-0.4-0.5-0.8-1.1-1-1.8s-0.4-1.5-0.4-2.3
s0.1-1.6,0.4-2.3c0.2-0.7,0.6-1.3,1-1.8c0.5-0.5,1-0.9,1.6-1.1c0.6-0.3,1.3-0.4,2-0.4c0.8,0,1.4,0.1,2.1,0.4
c0.6,0.3,1.1,0.6,1.6,1.1c0.4,0.5,0.8,1.1,1,1.8C1038.1-13.8,1038.2-13,1038.2-12.2"/>
<path id="Fill-957_5_" class="st21" d="M1043.9-7.2c0.5,0,0.9-0.1,1.3-0.3c0.4-0.2,0.7-0.5,1-0.8s0.5-0.7,0.6-1.2
s0.2-0.9,0.2-1.5v-6.9h0.7v6.9c0,0.6-0.1,1.2-0.3,1.7c-0.2,0.5-0.4,1-0.8,1.4c-0.3,0.4-0.7,0.7-1.2,0.9c-0.5,0.2-1,0.3-1.6,0.3
s-1.1-0.1-1.6-0.3c-0.5-0.2-0.9-0.5-1.2-0.9c-0.3-0.4-0.6-0.9-0.8-1.4c-0.2-0.5-0.3-1.1-0.3-1.7v-6.9h0.7v6.9
c0,0.5,0.1,1,0.2,1.5s0.4,0.8,0.6,1.2c0.3,0.3,0.6,0.6,1,0.8C1042.9-7.3,1043.4-7.2,1043.9-7.2"/>
<path id="Fill-959_5_" class="st21" d="M1052.9-12.5h0.2h0.5c0.5,0,1-0.1,1.4-0.2c0.4-0.1,0.8-0.3,1.1-0.5
c0.3-0.2,0.5-0.5,0.7-0.8s0.2-0.6,0.2-1c0-0.8-0.3-1.3-0.8-1.7c-0.6-0.4-1.4-0.6-2.5-0.6h-2.2v4.7v0.6v4.8h-0.9v-10.7h3.1
c1.4,0,2.4,0.2,3.1,0.7s1,1.2,1,2.1c0,0.4-0.1,0.8-0.2,1.1c-0.2,0.3-0.4,0.6-0.7,0.9s-0.6,0.5-1.1,0.6c-0.4,0.2-0.9,0.3-1.4,0.3
c0.1,0.1,0.3,0.2,0.4,0.3l4.2,4.6h-0.8c-0.1,0-0.2,0-0.2,0c-0.1,0-0.1-0.1-0.2-0.1l-3.8-4.3c-0.1-0.1-0.2-0.2-0.3-0.2
c-0.1,0-0.8-0.1-1-0.1C1052.6-12.5,1052.7-12.5,1052.9-12.5"/>
<path id="Fill-961_5_" class="st21" d="M1066.3-8.5c0,0,0.1,0,0.1,0.1l0.3,0.3c-0.2,0.2-0.4,0.5-0.7,0.7
c-0.3,0.2-0.5,0.4-0.8,0.5s-0.6,0.2-0.9,0.3c-0.3,0.1-0.7,0.1-1.1,0.1c-0.7,0-1.3-0.1-1.9-0.4s-1.1-0.6-1.5-1.1s-0.7-1.1-1-1.8
c-0.2-0.7-0.3-1.5-0.3-2.3s0.1-1.6,0.4-2.3c0.2-0.7,0.6-1.3,1-1.8c0.4-0.5,0.9-0.9,1.5-1.1c0.6-0.3,1.3-0.4,2-0.4
c0.4,0,0.7,0,1,0.1s0.6,0.1,0.9,0.3c0.3,0.1,0.5,0.3,0.7,0.4c0.2,0.2,0.5,0.4,0.7,0.6l-0.2,0.3c0,0.1-0.1,0.1-0.2,0.1
c0,0-0.1,0-0.2-0.1c-0.1-0.1-0.2-0.1-0.3-0.2c-0.1-0.1-0.2-0.2-0.4-0.3c-0.1-0.1-0.3-0.2-0.5-0.3c-0.2-0.1-0.4-0.1-0.7-0.2
c-0.3-0.1-0.6-0.1-0.9-0.1c-0.6,0-1.2,0.1-1.7,0.3c-0.5,0.2-0.9,0.6-1.3,1s-0.7,1-0.9,1.5c-0.2,0.6-0.3,1.3-0.3,2.1
s0.1,1.5,0.3,2.1c0.2,0.6,0.5,1.1,0.9,1.5s0.8,0.7,1.3,1c0.5,0.2,1,0.3,1.6,0.3c0.4,0,0.7,0,1-0.1c0.3,0,0.5-0.1,0.8-0.2
c0.2-0.1,0.5-0.2,0.7-0.4C1065.9-8.2,1066.1-8.3,1066.3-8.5C1066.1-8.5,1066.2-8.5,1066.3-8.5C1066.2-8.5,1066.2-8.5,1066.3-8.5
"/>
<polygon id="Fill-963_5_" class="st21" points="1075.6,-17.8 1075.6,-17.2 1069.3,-17.2 1069.3,-12.8 1074.5,-12.8
1074.5,-12.2 1069.3,-12.2 1069.3,-7.8 1075.6,-7.8 1075.6,-7.1 1068.4,-7.1 1068.4,-17.8 "/>
<polygon id="Fill-965_5_" class="st9" points="1084.5,-17.8 1084.5,-16.1 1079,-16.1 1079,-12.8 1083.6,-12.8 1083.6,-11.1
1079,-11.1 1079,-6.5 1076.7,-6.5 1076.7,-17.8 "/>
<path id="Fill-966_5_" class="st9" d="M1094.2-12.2c0-0.6-0.1-1.1-0.3-1.6c-0.2-0.5-0.4-0.9-0.7-1.2c-0.3-0.3-0.7-0.6-1.1-0.8
s-0.9-0.3-1.5-0.3c-0.5,0-1,0.1-1.5,0.3c-0.4,0.2-0.8,0.4-1.1,0.8c-0.3,0.3-0.5,0.7-0.7,1.2s-0.3,1-0.3,1.6s0.1,1.1,0.3,1.6
c0.2,0.5,0.4,0.9,0.7,1.2c0.3,0.3,0.7,0.6,1.1,0.8s0.9,0.3,1.5,0.3c0.5,0,1-0.1,1.5-0.3c0.4-0.2,0.8-0.4,1.1-0.8
c0.3-0.3,0.5-0.7,0.7-1.2C1094.1-11,1094.2-11.6,1094.2-12.2 M1096.3-12.2c0,0.8-0.1,1.6-0.4,2.2c-0.3,0.7-0.6,1.3-1.2,1.8
c-0.5,0.5-1.1,0.9-1.8,1.2c-0.7,0.3-1.5,0.4-2.3,0.4s-1.6-0.1-2.3-0.4c-0.7-0.3-1.3-0.7-1.8-1.2s-0.9-1.1-1.2-1.8
c-0.3-0.7-0.4-1.4-0.4-2.2s0.1-1.6,0.4-2.2c0.3-0.7,0.6-1.3,1.2-1.8c0.5-0.5,1.1-0.9,1.8-1.2c0.7-0.3,1.5-0.4,2.3-0.4
s1.6,0.1,2.3,0.4c0.7,0.3,1.3,0.7,1.8,1.2s0.9,1.1,1.2,1.8C1096.2-13.7,1096.3-13,1096.3-12.2"/>
<path id="Fill-967_5_" class="st9" d="M1100.1-12.5h0.4c0.4,0,0.7,0,0.9-0.1c0.3-0.1,0.5-0.2,0.6-0.4c0.2-0.2,0.3-0.4,0.4-0.6
c0.1-0.2,0.1-0.5,0.1-0.8c0-0.6-0.2-1-0.5-1.3c-0.3-0.3-0.8-0.5-1.5-0.5h-1.2v3.7v1.5v4.4h-1.8v-11.3h3c0.7,0,1.3,0.1,1.7,0.2
c0.5,0.1,0.9,0.4,1.2,0.7c0.3,0.3,0.5,0.6,0.7,1c0.1,0.4,0.2,0.8,0.2,1.3c0,0.4-0.1,0.7-0.2,1.1c-0.1,0.3-0.2,0.6-0.4,0.9
c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.4-0.9,0.5c0.2,0.1,0.4,0.4,0.6,0.6l2.5,4.2h-1.7c-0.2,0-0.3,0-0.4-0.1
s-0.2-0.2-0.3-0.3l-2.1-3.6c-0.1-0.1-0.2-0.3-0.3-0.3h-0.7v-1.4C1099.9-12.5,1100.1-12.5,1100.1-12.5"/>
<path id="Fill-968_5_" class="st9" d="M1111.7-8.1c0.5,0,0.9,0,1.2-0.1c0.3-0.1,0.7-0.2,1-0.4v-2.5h-1.4c-0.1,0-0.2,0-0.3-0.1
c-0.1-0.1-0.1-0.2-0.1-0.3v-1.2h3.8v4.9c-0.3,0.2-0.6,0.4-0.9,0.5s-0.6,0.3-1,0.4s-0.7,0.2-1.1,0.2s-0.8,0.1-1.3,0.1
c-0.8,0-1.6-0.1-2.3-0.4c-0.7-0.3-1.3-0.7-1.8-1.2s-0.9-1.1-1.2-1.8c-0.3-0.7-0.4-1.5-0.4-2.3s0.1-1.6,0.4-2.3s0.7-1.3,1.2-1.8
s1.1-0.9,1.9-1.2c0.7-0.3,1.5-0.4,2.4-0.4s1.7,0.1,2.4,0.4c0.7,0.3,1.2,0.6,1.7,1l-0.6,0.9c-0.1,0.2-0.3,0.3-0.5,0.3
c-0.1,0-0.3,0-0.4-0.1c-0.2-0.1-0.3-0.2-0.5-0.3s-0.4-0.2-0.6-0.2c-0.2-0.1-0.5-0.1-0.7-0.2c-0.3,0-0.6-0.1-0.9-0.1
c-0.6,0-1.1,0.1-1.5,0.3c-0.5,0.2-0.8,0.4-1.2,0.8c-0.3,0.3-0.6,0.7-0.7,1.2c-0.2,0.5-0.3,1-0.3,1.6s0.1,1.2,0.3,1.7
c0.2,0.5,0.5,0.9,0.8,1.2s0.7,0.6,1.2,0.8C1110.6-8.2,1111.2-8.1,1111.7-8.1"/>
<path id="Fill-969_5_" class="st9" d="M1123.1-11.1h-3.7v2.8h5.4v1.7h-7.7v-11.3h7.7v1.7h-5.4v3.5h4.3v1.2
C1123.6-11.4,1123.6-11.1,1123.1-11.1"/>
</g>
<g class="st6">
<path d="M1095.3,149.4v-13.8h-4.9v-2.8h13.2v2.8h-4.9v13.8H1095.3z"/>
<path d="M1103.3,143.3c0-1.1,0.3-2.1,0.8-3.1c0.5-1,1.3-1.7,2.2-2.3c1-0.5,2-0.8,3.2-0.8c1.8,0,3.3,0.6,4.5,1.8
c1.2,1.2,1.7,2.7,1.7,4.5c0,1.8-0.6,3.3-1.8,4.5c-1.2,1.2-2.6,1.8-4.4,1.8c-1.1,0-2.1-0.2-3.1-0.7c-1-0.5-1.8-1.2-2.3-2.2
C1103.5,145.8,1103.3,144.7,1103.3,143.3z M1106.5,143.4c0,1.2,0.3,2.1,0.8,2.7c0.6,0.6,1.3,0.9,2.1,0.9s1.5-0.3,2.1-0.9
c0.6-0.6,0.8-1.6,0.8-2.8c0-1.2-0.3-2.1-0.8-2.7c-0.6-0.6-1.3-0.9-2.1-0.9s-1.5,0.3-2.1,0.9
C1106.8,141.3,1106.5,142.3,1106.5,143.4z"/>
<path d="M1118,137.4h3v1.8c0.4-0.6,0.9-1.1,1.6-1.5c0.7-0.4,1.4-0.6,2.2-0.6c1.4,0,2.6,0.5,3.5,1.6c1,1.1,1.5,2.6,1.5,4.6
c0,2-0.5,3.6-1.5,4.7s-2.2,1.7-3.6,1.7c-0.7,0-1.3-0.1-1.8-0.4s-1.1-0.7-1.7-1.4v6h-3.2V137.4z M1121.2,143.2
c0,1.3,0.3,2.3,0.8,3s1.2,1,2,1c0.7,0,1.4-0.3,1.8-0.9s0.7-1.6,0.7-2.9c0-1.3-0.3-2.2-0.8-2.8c-0.5-0.6-1.1-0.9-1.9-0.9
c-0.8,0-1.4,0.3-1.9,0.9S1121.2,142.1,1121.2,143.2z"/>
<path d="M1138.7,149.4v-16.6h5.4c2,0,3.4,0.1,4,0.2c0.9,0.2,1.7,0.8,2.4,1.6s1,1.9,1,3.2c0,1-0.2,1.9-0.6,2.6
c-0.4,0.7-0.8,1.2-1.4,1.6s-1.1,0.7-1.7,0.8c-0.8,0.2-2,0.2-3.5,0.2h-2.2v6.2H1138.7z M1142,135.7v4.7h1.8
c1.3,0,2.2-0.1,2.6-0.3c0.4-0.2,0.8-0.4,1-0.8s0.4-0.8,0.4-1.3c0-0.6-0.2-1.1-0.5-1.5s-0.8-0.6-1.3-0.7
c-0.4-0.1-1.2-0.1-2.4-0.1H1142z"/>
<path d="M1161,145.6l3.2,0.5c-0.4,1.2-1,2-1.9,2.6c-0.9,0.6-2,0.9-3.3,0.9c-2.1,0-3.6-0.7-4.6-2c-0.8-1.1-1.2-2.5-1.2-4.1
c0-2,0.5-3.5,1.6-4.7c1-1.1,2.4-1.7,3.9-1.7c1.8,0,3.2,0.6,4.2,1.8c1,1.2,1.5,3,1.5,5.4h-7.9c0,0.9,0.3,1.7,0.8,2.2
s1.1,0.8,1.8,0.8c0.5,0,0.9-0.1,1.3-0.4C1160.6,146.7,1160.9,146.2,1161,145.6z M1161.2,142.4c0-0.9-0.3-1.6-0.7-2.1
c-0.5-0.5-1-0.7-1.6-0.7c-0.7,0-1.3,0.3-1.7,0.8c-0.5,0.5-0.7,1.2-0.7,2.1H1161.2z"/>
<path d="M1170,149.4h-3.2v-12h2.9v1.7c0.5-0.8,1-1.3,1.4-1.6c0.4-0.3,0.9-0.4,1.4-0.4c0.7,0,1.4,0.2,2.1,0.6l-1,2.8
c-0.5-0.3-1-0.5-1.5-0.5c-0.4,0-0.8,0.1-1.1,0.4c-0.3,0.2-0.6,0.7-0.7,1.3s-0.3,2-0.3,4V149.4z"/>
<path d="M1174.6,137.4h1.8v-0.9c0-1,0.1-1.8,0.3-2.3s0.6-0.9,1.2-1.2s1.3-0.5,2.2-0.5c0.9,0,1.8,0.1,2.7,0.4l-0.4,2.2
c-0.5-0.1-1-0.2-1.5-0.2c-0.5,0-0.8,0.1-1,0.3c-0.2,0.2-0.3,0.6-0.3,1.2v0.8h2.4v2.5h-2.4v9.5h-3.2v-9.5h-1.8V137.4z"/>
<path d="M1182.9,143.3c0-1.1,0.3-2.1,0.8-3.1c0.5-1,1.3-1.7,2.2-2.3c1-0.5,2-0.8,3.2-0.8c1.8,0,3.3,0.6,4.5,1.8
c1.2,1.2,1.7,2.7,1.7,4.5c0,1.8-0.6,3.3-1.8,4.5c-1.2,1.2-2.6,1.8-4.4,1.8c-1.1,0-2.1-0.2-3.1-0.7c-1-0.5-1.8-1.2-2.3-2.2
C1183.2,145.8,1182.9,144.7,1182.9,143.3z M1186.2,143.4c0,1.2,0.3,2.1,0.8,2.7c0.6,0.6,1.3,0.9,2.1,0.9s1.5-0.3,2.1-0.9
c0.6-0.6,0.8-1.6,0.8-2.8c0-1.2-0.3-2.1-0.8-2.7c-0.6-0.6-1.3-0.9-2.1-0.9s-1.5,0.3-2.1,0.9
C1186.5,141.3,1186.2,142.3,1186.2,143.4z"/>
<path d="M1200.8,149.4h-3.2v-12h2.9v1.7c0.5-0.8,1-1.3,1.4-1.6s0.9-0.4,1.4-0.4c0.7,0,1.4,0.2,2.1,0.6l-1,2.8
c-0.5-0.3-1-0.5-1.5-0.5c-0.4,0-0.8,0.1-1.1,0.4c-0.3,0.2-0.6,0.7-0.7,1.3c-0.2,0.6-0.3,2-0.3,4V149.4z"/>
<path d="M1206.5,137.4h2.9v1.6c1-1.3,2.3-1.9,3.7-1.9c0.8,0,1.4,0.2,2,0.5c0.6,0.3,1,0.8,1.4,1.4c0.5-0.6,1.1-1.1,1.7-1.4
c0.6-0.3,1.3-0.5,2-0.5c0.9,0,1.6,0.2,2.2,0.5c0.6,0.4,1.1,0.9,1.4,1.6c0.2,0.5,0.3,1.3,0.3,2.5v7.7h-3.2v-6.9
c0-1.2-0.1-2-0.3-2.3c-0.3-0.5-0.7-0.7-1.4-0.7c-0.4,0-0.9,0.1-1.3,0.4c-0.4,0.3-0.7,0.7-0.8,1.2c-0.2,0.5-0.3,1.3-0.3,2.5v5.8
h-3.2v-6.6c0-1.2-0.1-1.9-0.2-2.3c-0.1-0.3-0.3-0.6-0.5-0.8c-0.2-0.2-0.6-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.4
c-0.4,0.3-0.7,0.6-0.8,1.1s-0.3,1.3-0.3,2.5v5.8h-3.2V137.4z"/>
<path d="M1234.3,145.6l3.2,0.5c-0.4,1.2-1,2-1.9,2.6c-0.9,0.6-2,0.9-3.3,0.9c-2.1,0-3.6-0.7-4.6-2c-0.8-1.1-1.2-2.5-1.2-4.1
c0-2,0.5-3.5,1.6-4.7c1-1.1,2.4-1.7,3.9-1.7c1.8,0,3.2,0.6,4.2,1.8c1,1.2,1.5,3,1.5,5.4h-7.9c0,0.9,0.3,1.7,0.8,2.2
s1.1,0.8,1.8,0.8c0.5,0,0.9-0.1,1.3-0.4C1233.9,146.7,1234.1,146.2,1234.3,145.6z M1234.5,142.4c0-0.9-0.3-1.6-0.7-2.1
c-0.5-0.5-1-0.7-1.6-0.7c-0.7,0-1.3,0.3-1.7,0.8c-0.5,0.5-0.7,1.2-0.7,2.1H1234.5z"/>
<path d="M1243.2,149.4h-3.2v-12h2.9v1.7c0.5-0.8,1-1.3,1.4-1.6s0.9-0.4,1.4-0.4c0.7,0,1.4,0.2,2.1,0.6l-1,2.8
c-0.5-0.3-1-0.5-1.5-0.5c-0.4,0-0.8,0.1-1.1,0.4c-0.3,0.2-0.6,0.7-0.7,1.3c-0.2,0.6-0.3,2-0.3,4V149.4z"/>
</g>
<g class="st6">
<path d="M1156.1,185v-12.7h8.7v2.2h-6.2v3h5.3v2.2h-5.3v5.4H1156.1z"/>
<path d="M1168.8,178.6l-2.2-0.4c0.2-0.9,0.7-1.6,1.3-2c0.6-0.4,1.5-0.6,2.7-0.6c1.1,0,1.9,0.1,2.4,0.4c0.5,0.3,0.9,0.6,1.1,1
c0.2,0.4,0.3,1.1,0.3,2.2l0,2.8c0,0.8,0,1.4,0.1,1.8c0.1,0.4,0.2,0.8,0.4,1.2h-2.4c-0.1-0.2-0.1-0.4-0.2-0.7
c0-0.1-0.1-0.2-0.1-0.3c-0.4,0.4-0.9,0.7-1.3,0.9c-0.5,0.2-1,0.3-1.5,0.3c-0.9,0-1.7-0.3-2.2-0.8s-0.8-1.2-0.8-2
c0-0.5,0.1-1,0.4-1.4s0.6-0.7,1-0.9c0.4-0.2,1.1-0.4,1.9-0.6c1.1-0.2,1.9-0.4,2.4-0.6v-0.2c0-0.5-0.1-0.8-0.3-1
c-0.2-0.2-0.7-0.3-1.3-0.3c-0.4,0-0.8,0.1-1,0.3S1168.9,178.2,1168.8,178.6z M1172.1,180.6c-0.3,0.1-0.8,0.2-1.5,0.4
c-0.7,0.1-1.1,0.3-1.3,0.4c-0.3,0.2-0.5,0.5-0.5,0.9c0,0.3,0.1,0.6,0.4,0.9s0.6,0.4,1,0.4c0.4,0,0.9-0.1,1.3-0.4
c0.3-0.2,0.5-0.5,0.6-0.8c0.1-0.2,0.1-0.6,0.1-1.2V180.6z"/>
<path d="M1176.9,185v-12.7h2.4V185H1176.9z"/>
<path d="M1181.8,185v-12.7h2.4V185H1181.8z"/>
</g>
<g class="st6">
<path d="M1159.4,204.1v2.3h-8.6c0.1-0.9,0.4-1.7,0.8-2.4c0.5-0.8,1.4-1.8,2.7-3.1c1.1-1,1.8-1.7,2-2.1c0.3-0.5,0.5-1,0.5-1.5
c0-0.5-0.1-1-0.4-1.3c-0.3-0.3-0.7-0.4-1.2-0.4c-0.5,0-0.9,0.2-1.2,0.5s-0.5,0.8-0.5,1.5l-2.4-0.2c0.1-1.3,0.6-2.3,1.4-2.9
c0.8-0.6,1.7-0.9,2.9-0.9c1.3,0,2.2,0.3,3,1s1.1,1.5,1.1,2.5c0,0.6-0.1,1.1-0.3,1.6c-0.2,0.5-0.5,1.1-1,1.6
c-0.3,0.4-0.8,0.9-1.6,1.6c-0.8,0.7-1.3,1.2-1.5,1.4c-0.2,0.2-0.4,0.5-0.5,0.7H1159.4z"/>
<path d="M1165.1,193.6c1.2,0,2.2,0.4,2.9,1.3c0.8,1,1.2,2.8,1.2,5.2c0,2.4-0.4,4.1-1.3,5.2c-0.7,0.9-1.7,1.3-2.9,1.3
c-1.2,0-2.2-0.5-3-1.4c-0.8-1-1.1-2.7-1.1-5.1c0-2.4,0.4-4.1,1.3-5.2C1162.9,194,1163.9,193.6,1165.1,193.6z M1165.1,195.6
c-0.3,0-0.6,0.1-0.8,0.3c-0.2,0.2-0.4,0.5-0.5,1c-0.2,0.6-0.3,1.7-0.3,3.2s0.1,2.5,0.2,3.1s0.3,0.9,0.6,1.1
c0.2,0.2,0.5,0.3,0.8,0.3c0.3,0,0.6-0.1,0.8-0.3s0.4-0.5,0.5-1c0.2-0.6,0.3-1.7,0.3-3.2s-0.1-2.5-0.2-3.1s-0.3-0.9-0.6-1.1
C1165.7,195.7,1165.4,195.6,1165.1,195.6z"/>
<path d="M1179.1,204.1v2.3h-8.6c0.1-0.9,0.4-1.7,0.8-2.4c0.5-0.8,1.4-1.8,2.7-3.1c1.1-1,1.8-1.7,2-2.1c0.3-0.5,0.5-1,0.5-1.5
c0-0.5-0.1-1-0.4-1.3c-0.3-0.3-0.7-0.4-1.2-0.4c-0.5,0-0.9,0.2-1.2,0.5s-0.5,0.8-0.5,1.5l-2.4-0.2c0.1-1.3,0.6-2.3,1.4-2.9
c0.8-0.6,1.7-0.9,2.9-0.9c1.3,0,2.2,0.3,3,1s1.1,1.5,1.1,2.5c0,0.6-0.1,1.1-0.3,1.6c-0.2,0.5-0.5,1.1-1,1.6
c-0.3,0.4-0.8,0.9-1.6,1.6c-0.8,0.7-1.3,1.2-1.5,1.4c-0.2,0.2-0.4,0.5-0.5,0.7H1179.1z"/>
<path d="M1185.6,206.4v-2.6h-5.2v-2.1l5.5-8.1h2v8.1h1.6v2.1h-1.6v2.6H1185.6z M1185.6,201.7v-4.4l-2.9,4.4H1185.6z"/>
</g>
</g>
</g>
</g>
<g id="Layer_5">
<g id="Outstanding-Winter-2021-white_1_">
<g id="Group-4_3_">
<g id="Group-2_5_" transform="translate(185.261977, 185.261977) rotate(-315.000000) translate(-185.261977, -185.261977) translate(54.261977, 54.261977)">
<rect id="Rectangle_15_" x="-19.9" y="64.1" transform="matrix(5.070363e-06 1 -1 5.070363e-06 199.558 84.0195)" class="st18" width="155.3" height="155.3"/>
<rect id="Rectangle_14_" x="-15.7" y="68.3" transform="matrix(5.070363e-06 1 -1 5.070363e-06 199.6579 84.0195)" class="st1" width="147" height="147"/>
<rect id="Rectangle_13_" x="-11.1" y="73" transform="matrix(5.070363e-06 1 -1 5.070363e-06 199.5579 84.1195)" class="st19" width="137.6" height="137.6"/>
</g>
<polygon id="Fill-18-Copy-4_3_" class="st14" points="87.4,174.8 89.2,178.5 93.1,179.1 90.3,182 90.9,186.1 87.4,184.1
84,186.1 84.6,182 81.8,179.1 85.7,178.5 "/>
<polygon id="Fill-18-Copy-4_2_" class="st14" points="164.5,174.8 166.3,178.5 170.2,179.1 167.3,182 168,186.1 164.5,184.1
161,186.1 161.7,182 158.9,179.1 162.8,178.5 "/>
<g id="SF-logo-vector_2_" transform="translate(155.000000, 50.000000)">
<path id="Rectangle_12_" class="st10" d="M-31.8,11h4.4c0.2,0,0.4,0.2,0.4,0.4v0.2c0,0.2-0.1,0.3-0.2,0.4L-41,26.8
c-0.2,0.2-0.2,0.6,0,0.8l11,11.8c0.2,0.2,0.2,0.6,0,0.8l-2,2.2c-0.2,0.2-0.6,0.3-0.8,0l0,0l-13.8-14.9c-0.2-0.2-0.2-0.6,0-0.8
L-32.1,11C-32.1,11-31.9,11-31.8,11z"/>
<path id="Rectangle_11_" class="st10" d="M-26.3,45.3h-4.4c-0.2,0-0.4-0.2-0.4-0.4v-0.2c0-0.1,0.1-0.3,0.2-0.4L-17,29
c0.2-0.2,0.2-0.6,0-0.8l-11-12.1c-0.2-0.2-0.2-0.6,0-0.8l2-2.2c0.2-0.2,0.6-0.3,0.8,0l0,0l13.8,15.1c0.2,0.2,0.2,0.6,0,0.8
L-26,45C-26,45.3-26.1,45.3-26.3,45.3z"/>
<path id="Oval_2_" class="st10" d="M-28.3,35.9c2.9,0,5.2-3.2,4.9-6.7c-0.1-1.5-1.1-4.3-1.4-3.8c-0.2,0.2,0.2,2.1,0.1,3.3
c-0.2,1.9-0.9,3.1-1.3,2.4s-0.2-2-0.3-3.5c-0.1-1.5-0.4-3.1-0.7-4c-0.1-0.4-1.4-4-2.4-4.3c-0.1,0-0.1,0-0.1,0s-0.1,0-0.2,0.1
c-0.2,0.2,0.1,1.4-0.8,2.9c-0.6,1-1.7,2.2-2.2,3.5c-0.7,1.7-0.9,3.3-0.8,4.2C-33.3,33.7-31.2,35.9-28.3,35.9z"/>
</g>
<linearGradient id="Rectangle_29_" gradientUnits="userSpaceOnUse" x1="2.1807" y1="-273.4992" x2="1.4652" y2="-273.4367" gradientTransform="matrix(309 0 0 73 -277 20101.1523)">
<stop offset="0" style="stop-color:#FFCB00"/>
<stop offset="1" style="stop-color:#F06A2B"/>
</linearGradient>
<polygon id="Rectangle_10_" class="st22" points="55.9,119.7 195.8,119.7 217.6,141.3 195.8,162.9 55.9,162.9 34.4,141.3 "/>
<g id="SourceForge-Logo-White-vector_2_" transform="translate(97.000000, 121.000000)">
<path id="Fill-953_6_" class="st21" d="M-17.5-16.5c0,0.1-0.1,0.1-0.2,0.1s-0.1,0-0.2-0.2c-0.1-0.1-0.2-0.2-0.4-0.3
c-0.2-0.1-0.4-0.2-0.7-0.3c-0.3-0.1-0.6-0.2-1-0.2s-0.7,0.1-1,0.2s-0.5,0.3-0.7,0.5s-0.3,0.4-0.5,0.7c-0.1,0.3-0.2,0.5-0.2,0.8
c0,0.4,0.1,0.7,0.2,0.9s0.4,0.4,0.6,0.6c0.2,0.2,0.5,0.3,0.9,0.4c0.3,0.1,0.7,0.2,1,0.3s0.7,0.2,1,0.4c0.3,0.1,0.6,0.3,0.9,0.5
s0.5,0.5,0.6,0.8s0.2,0.7,0.2,1.1c0,0.5-0.1,0.9-0.2,1.3c-0.1,0.4-0.4,0.8-0.7,1.1c-0.3,0.3-0.7,0.5-1.1,0.7s-0.9,0.3-1.4,0.3
c-0.7,0-1.3-0.1-1.8-0.4s-0.9-0.6-1.3-1.1l0.2-0.3c0.1-0.1,0.1-0.1,0.2-0.1c0,0,0.1,0,0.2,0.1s0.2,0.1,0.2,0.2
c0.1,0.1,0.2,0.2,0.4,0.3c0.1,0.1,0.3,0.2,0.5,0.3c0.2,0.1,0.4,0.2,0.6,0.2c0.2,0.1,0.5,0.1,0.8,0.1c0.4,0,0.8-0.1,1.1-0.2
c0.3-0.1,0.6-0.3,0.8-0.5c0.2-0.2,0.4-0.5,0.5-0.8s0.2-0.7,0.2-1c0-0.4-0.1-0.7-0.2-1s-0.4-0.5-0.6-0.6
c-0.2-0.2-0.5-0.3-0.9-0.4c-0.3-0.1-0.7-0.2-1-0.3s-0.7-0.2-1-0.4c-0.3-0.1-0.6-0.3-0.9-0.5c-0.2-0.2-0.5-0.5-0.6-0.8
s-0.2-0.7-0.2-1.2c0-0.4,0.1-0.7,0.2-1.1c0.1-0.3,0.3-0.6,0.6-0.9c0.3-0.3,0.6-0.5,1-0.6s0.8-0.2,1.3-0.2c0.6,0,1,0.1,1.5,0.3
c0.4,0.2,0.8,0.5,1.2,0.8L-17.5-16.5z"/>
<path id="Fill-955_2_" class="st21" d="M-6.4-12.3c0-0.8-0.1-1.5-0.3-2.1c-0.2-0.6-0.5-1.1-0.9-1.5c-0.4-0.4-0.8-0.7-1.4-1
c-0.5-0.2-1.1-0.3-1.8-0.3c-0.6,0-1.2,0.1-1.8,0.3c-0.5,0.2-1,0.5-1.4,1c-0.4,0.4-0.7,0.9-0.9,1.5s-0.3,1.3-0.3,2.1
s0.1,1.5,0.3,2.1s0.5,1.1,0.9,1.5s0.8,0.7,1.4,1c0.5,0.2,1.1,0.3,1.8,0.3c0.6,0,1.2-0.1,1.8-0.3c0.5-0.2,1-0.6,1.4-1
s0.7-0.9,0.9-1.5C-6.5-10.9-6.4-11.5-6.4-12.3 M-5.7-12.3c0,0.8-0.1,1.6-0.4,2.3c-0.2,0.7-0.6,1.3-1,1.8s-1,0.9-1.6,1.1
c-0.6,0.3-1.3,0.4-2.1,0.4c-0.7,0-1.4-0.1-2-0.4s-1.1-0.6-1.6-1.1c-0.4-0.5-0.8-1.1-1-1.8s-0.4-1.5-0.4-2.3s0.1-1.6,0.4-2.3
c0.2-0.7,0.6-1.3,1-1.8c0.5-0.5,1-0.9,1.6-1.1c0.6-0.3,1.3-0.4,2-0.4c0.8,0,1.4,0.1,2.1,0.4c0.6,0.3,1.1,0.6,1.6,1.1
c0.4,0.5,0.8,1.1,1,1.8C-5.8-13.9-5.7-13.2-5.7-12.3"/>
<path id="Fill-957_6_" class="st21" d="M-0.1-7.4c0.5,0,0.9-0.1,1.3-0.3c0.4-0.2,0.7-0.5,1-0.8c0.3-0.3,0.5-0.7,0.6-1.2
S3-10.6,3-11.2v-6.9h0.7v6.9c0,0.6-0.1,1.2-0.3,1.7C3.3-8.8,3.1-8.4,2.7-8C2.4-7.6,2-7.2,1.5-7s-1,0.3-1.6,0.3S-1.2-6.8-1.7-7
c-0.4-0.3-0.9-0.6-1.2-1c-0.3-0.4-0.6-0.9-0.8-1.4S-4-10.5-4-11.1V-18h0.7v6.9c0,0.5,0.1,1,0.2,1.5C-3-9.1-2.7-8.8-2.5-8.4
c0.3,0.3,0.6,0.6,1,0.8C-1-7.5-0.5-7.4-0.1-7.4"/>
<path id="Fill-959_6_" class="st21" d="M9-12.7h0.2h0.5c0.5,0,1-0.1,1.4-0.2c0.4-0.1,0.8-0.3,1.1-0.5s0.5-0.5,0.7-0.8
s0.2-0.6,0.2-1c0-0.8-0.3-1.3-0.8-1.7c-0.6-0.4-1.4-0.6-2.5-0.6H7.6v4.7v0.6v4.8H6.7v-10.7h3.1c1.4,0,2.4,0.2,3.1,0.7
c0.7,0.5,1,1.2,1,2.1c0,0.4-0.1,0.8-0.2,1.1c-0.2,0.3-0.4,0.6-0.7,0.9c-0.3,0.2-0.6,0.5-1.1,0.6c-0.4,0.2-0.9,0.3-1.4,0.3
c0.1,0.1,0.3,0.2,0.4,0.3L15-7.3h-0.8c-0.1,0-0.2,0-0.2,0c-0.1,0-0.1-0.1-0.2-0.1L10-11.8C9.9-11.9,9.8-12,9.7-12
s-0.8-0.1-1-0.1C8.7-12.6,8.8-12.7,9-12.7"/>
<path id="Fill-961_6_" class="st21" d="M22.3-8.7c0,0,0.1,0,0.1,0.1l0.3,0.3c-0.2,0.2-0.4,0.5-0.7,0.7c-0.3,0.2-0.5,0.4-0.8,0.5
C21-7,20.6-6.9,20.3-6.8c-0.3,0.1-0.7,0.1-1.1,0.1c-0.7,0-1.3-0.1-1.9-0.4s-1.1-0.6-1.5-1.1s-0.7-1.1-1-1.8
c-0.2-0.7-0.3-1.5-0.3-2.3s0.1-1.6,0.4-2.3c0.2-0.7,0.6-1.3,1-1.8c0.4-0.5,0.9-0.9,1.5-1.1c0.6-0.3,1.3-0.4,2-0.4
c0.4,0,0.7,0,1,0.1s0.6,0.1,0.9,0.3c0.3,0.1,0.5,0.3,0.7,0.4c0.2,0.2,0.5,0.4,0.7,0.6l-0.2,0.3c0,0.1-0.1,0.1-0.2,0.1
c0,0-0.1,0-0.2-0.1s-0.2-0.1-0.3-0.2c-0.1-0.1-0.2-0.2-0.4-0.3c-0.1-0.1-0.3-0.2-0.5-0.3c-0.2-0.1-0.4-0.1-0.7-0.2
c-0.3-0.1-0.6-0.1-0.9-0.1c-0.6,0-1.2,0.1-1.7,0.3c-0.5,0.2-0.9,0.6-1.3,1s-0.7,1-0.9,1.5c-0.2,0.6-0.3,1.3-0.3,2.1
s0.1,1.5,0.3,2.1s0.5,1.1,0.9,1.5s0.8,0.7,1.3,1c0.5,0.2,1,0.3,1.6,0.3c0.4,0,0.7,0,1-0.1c0.3,0,0.5-0.1,0.8-0.2
c0.2-0.1,0.5-0.2,0.7-0.4S22.1-8.5,22.3-8.7C22.2-8.7,22.3-8.7,22.3-8.7C22.3-8.6,22.3-8.7,22.3-8.7"/>
<polygon id="Fill-963_6_" class="st21" points="31.6,-17.9 31.6,-17.3 25.4,-17.3 25.4,-13 30.6,-13 30.6,-12.4 25.4,-12.4
25.4,-7.9 31.6,-7.9 31.6,-7.3 24.5,-7.3 24.5,-17.9 "/>
<polygon id="Fill-965_6_" class="st9" points="40.5,-17.9 40.5,-16.3 35.1,-16.3 35.1,-12.9 39.7,-12.9 39.7,-11.3 35.1,-11.3
35.1,-6.7 32.8,-6.7 32.8,-17.9 "/>
<path id="Fill-966_6_" class="st9" d="M50.3-12.3c0-0.6-0.1-1.1-0.3-1.6s-0.4-0.9-0.7-1.2s-0.7-0.6-1.1-0.8
c-0.4-0.2-0.9-0.3-1.5-0.3c-0.5,0-1,0.1-1.5,0.3c-0.4,0.2-0.8,0.4-1.1,0.8c-0.3,0.3-0.5,0.7-0.7,1.2s-0.3,1-0.3,1.6
s0.1,1.1,0.3,1.6s0.4,0.9,0.7,1.2s0.7,0.6,1.1,0.8c0.4,0.2,0.9,0.3,1.5,0.3c0.5,0,1-0.1,1.5-0.3c0.4-0.2,0.8-0.4,1.1-0.8
c0.3-0.3,0.5-0.7,0.7-1.2S50.3-11.7,50.3-12.3 M52.4-12.3c0,0.8-0.1,1.6-0.4,2.2c-0.3,0.7-0.6,1.3-1.2,1.8
c-0.5,0.5-1.1,0.9-1.8,1.2c-0.7,0.3-1.5,0.4-2.3,0.4s-1.6-0.1-2.3-0.4s-1.3-0.7-1.8-1.2s-0.9-1.1-1.2-1.8S41-11.5,41-12.3
s0.1-1.6,0.4-2.2c0.3-0.7,0.6-1.3,1.2-1.8c0.5-0.5,1.1-0.9,1.8-1.2c0.7-0.3,1.5-0.4,2.3-0.4s1.6,0.1,2.3,0.4s1.3,0.7,1.8,1.2
s0.9,1.1,1.2,1.8C52.3-13.9,52.4-13.1,52.4-12.3"/>
<path id="Fill-967_6_" class="st9" d="M56.2-12.6h0.4c0.4,0,0.7,0,0.9-0.1c0.3-0.1,0.5-0.2,0.6-0.4c0.2-0.2,0.3-0.4,0.4-0.6
c0.1-0.2,0.1-0.5,0.1-0.8c0-0.6-0.2-1-0.5-1.3c-0.3-0.3-0.8-0.5-1.5-0.5h-1.2v3.7v1.5v4.4h-1.8V-18h3c0.7,0,1.3,0.1,1.7,0.2
c0.5,0.1,0.9,0.4,1.2,0.7c0.3,0.3,0.5,0.6,0.7,1c0.1,0.4,0.2,0.8,0.2,1.3c0,0.4-0.1,0.7-0.2,1.1c-0.1,0.3-0.2,0.6-0.4,0.9
c-0.2,0.3-0.4,0.5-0.7,0.7s-0.6,0.4-0.9,0.5c0.2,0.1,0.4,0.4,0.6,0.6l2.5,4.2h-1.7c-0.2,0-0.3,0-0.4-0.1c-0.1,0-0.2-0.1-0.3-0.2
l-2.1-3.6c-0.1-0.1-0.2-0.3-0.3-0.3h-0.7v-1.4C56-12.6,56.2-12.6,56.2-12.6"/>
<path id="Fill-968_6_" class="st9" d="M67.8-8.3c0.5,0,0.9,0,1.2-0.1c0.3-0.1,0.7-0.2,1-0.4v-2.5h-1.4c-0.1,0-0.2,0-0.3-0.1
c-0.1-0.1-0.1-0.2-0.1-0.3v-1.2H72V-8c-0.3,0.2-0.6,0.4-0.9,0.5s-0.6,0.3-1,0.4S69.4-6.9,69-6.9s-0.8,0.1-1.3,0.1
c-0.8,0-1.6-0.1-2.3-0.4c-0.7-0.3-1.3-0.7-1.8-1.2c-0.6-0.4-1-1-1.3-1.6c-0.3-0.7-0.4-1.5-0.4-2.3s0.1-1.6,0.4-2.3
c0.3-0.7,0.7-1.3,1.2-1.8c0.5-0.5,1.1-0.9,1.9-1.2c0.7-0.3,1.5-0.4,2.4-0.4s1.7,0.1,2.4,0.4c0.7,0.3,1.2,0.6,1.7,1l-0.6,0.9
c-0.1,0.2-0.3,0.3-0.5,0.3c-0.1,0-0.3,0-0.4-0.1c-0.2-0.1-0.3-0.2-0.5-0.3S69.5-16,69.3-16c-0.2-0.1-0.5-0.1-0.7-0.2
c-0.3,0-0.6-0.1-0.9-0.1c-0.6,0-1.1,0.1-1.5,0.3c-0.5,0.2-0.8,0.4-1.2,0.8c-0.3,0.3-0.6,0.7-0.7,1.2c-0.2,0.5-0.3,1-0.3,1.6
s0.1,1.2,0.3,1.7c0.2,0.5,0.5,0.9,0.8,1.2s0.7,0.6,1.2,0.8C66.7-8.4,67.3-8.3,67.8-8.3"/>
<path id="Fill-969_6_" class="st9" d="M79.2-11.2h-3.7v2.8h5.4v1.7h-7.7V-18h7.7v1.7h-5.4v3.5h4.3v1.2
C79.7-11.6,79.7-11.2,79.2-11.2"/>
</g>
<g class="st6">
<path d="M51.4,149.3v-13.8h-4.9v-2.8h13.2v2.8h-4.9v13.8H51.4z"/>
<path d="M59.4,143.1c0-1.1,0.3-2.1,0.8-3.1c0.5-1,1.3-1.7,2.2-2.3c1-0.5,2-0.8,3.2-0.8c1.8,0,3.3,0.6,4.5,1.8
c1.2,1.2,1.7,2.7,1.7,4.5c0,1.8-0.6,3.3-1.8,4.5s-2.6,1.8-4.4,1.8c-1.1,0-2.1-0.2-3.1-0.7c-1-0.5-1.8-1.2-2.3-2.2
C59.6,145.7,59.4,144.5,59.4,143.1z M62.6,143.3c0,1.2,0.3,2.1,0.8,2.7c0.6,0.6,1.3,0.9,2.1,0.9s1.5-0.3,2.1-0.9
c0.6-0.6,0.8-1.6,0.8-2.8c0-1.2-0.3-2.1-0.8-2.7c-0.6-0.6-1.3-0.9-2.1-0.9s-1.5,0.3-2.1,0.9C62.9,141.2,62.6,142.1,62.6,143.3z"
/>
<path d="M74.1,137.3h3v1.8c0.4-0.6,0.9-1.1,1.6-1.5c0.7-0.4,1.4-0.6,2.2-0.6c1.4,0,2.6,0.5,3.5,1.6c1,1.1,1.5,2.6,1.5,4.6
c0,2-0.5,3.6-1.5,4.7s-2.2,1.7-3.6,1.7c-0.7,0-1.3-0.1-1.8-0.4s-1.1-0.7-1.7-1.4v6h-3.2V137.3z M77.3,143.1c0,1.3,0.3,2.3,0.8,3
c0.5,0.6,1.2,1,2,1c0.7,0,1.4-0.3,1.8-0.9s0.7-1.6,0.7-2.9c0-1.3-0.3-2.2-0.8-2.8c-0.5-0.6-1.1-0.9-1.9-0.9
c-0.8,0-1.4,0.3-1.9,0.9C77.5,141,77.3,141.9,77.3,143.1z"/>
<path d="M94.8,149.3v-16.6h5.4c2,0,3.4,0.1,4,0.2c0.9,0.2,1.7,0.8,2.4,1.6c0.6,0.8,1,1.9,1,3.2c0,1-0.2,1.9-0.6,2.6
c-0.4,0.7-0.8,1.2-1.4,1.6s-1.1,0.7-1.7,0.8c-0.8,0.2-2,0.2-3.5,0.2h-2.2v6.2H94.8z M98.1,135.5v4.7h1.8c1.3,0,2.2-0.1,2.6-0.3
c0.4-0.2,0.8-0.4,1-0.8c0.3-0.4,0.4-0.8,0.4-1.3c0-0.6-0.2-1.1-0.5-1.5c-0.4-0.4-0.8-0.6-1.3-0.7c-0.4-0.1-1.2-0.1-2.4-0.1H98.1
z"/>
<path d="M117.1,145.5l3.2,0.5c-0.4,1.2-1,2-1.9,2.6c-0.9,0.6-2,0.9-3.3,0.9c-2.1,0-3.6-0.7-4.6-2c-0.8-1.1-1.2-2.5-1.2-4.1
c0-2,0.5-3.5,1.6-4.7c1-1.1,2.4-1.7,3.9-1.7c1.8,0,3.2,0.6,4.2,1.8c1,1.2,1.5,3,1.5,5.4h-7.9c0,0.9,0.3,1.7,0.8,2.2
s1.1,0.8,1.8,0.8c0.5,0,0.9-0.1,1.3-0.4C116.7,146.5,117,146.1,117.1,145.5z M117.3,142.3c0-0.9-0.3-1.6-0.7-2.1
c-0.5-0.5-1-0.7-1.6-0.7c-0.7,0-1.3,0.3-1.7,0.8c-0.5,0.5-0.7,1.2-0.7,2.1H117.3z"/>
<path d="M126.1,149.3h-3.2v-12h2.9v1.7c0.5-0.8,1-1.3,1.4-1.6c0.4-0.3,0.9-0.4,1.4-0.4c0.7,0,1.4,0.2,2.1,0.6l-1,2.8
c-0.5-0.3-1-0.5-1.5-0.5c-0.4,0-0.8,0.1-1.1,0.4c-0.3,0.2-0.6,0.7-0.7,1.3c-0.2,0.6-0.3,2-0.3,4V149.3z"/>
<path d="M130.7,137.3h1.8v-0.9c0-1,0.1-1.8,0.3-2.3c0.2-0.5,0.6-0.9,1.2-1.2c0.6-0.3,1.3-0.5,2.2-0.5c0.9,0,1.8,0.1,2.7,0.4
l-0.4,2.2c-0.5-0.1-1-0.2-1.5-0.2c-0.5,0-0.8,0.1-1,0.3c-0.2,0.2-0.3,0.6-0.3,1.2v0.8h2.4v2.5h-2.4v9.5h-3.2v-9.5h-1.8V137.3z"
/>
<path d="M139,143.1c0-1.1,0.3-2.1,0.8-3.1c0.5-1,1.3-1.7,2.2-2.3c1-0.5,2-0.8,3.2-0.8c1.8,0,3.3,0.6,4.5,1.8
c1.2,1.2,1.7,2.7,1.7,4.5c0,1.8-0.6,3.3-1.8,4.5s-2.6,1.8-4.4,1.8c-1.1,0-2.1-0.2-3.1-0.7c-1-0.5-1.8-1.2-2.3-2.2
C139.3,145.7,139,144.5,139,143.1z M142.3,143.3c0,1.2,0.3,2.1,0.8,2.7c0.6,0.6,1.3,0.9,2.1,0.9s1.5-0.3,2.1-0.9
c0.6-0.6,0.8-1.6,0.8-2.8c0-1.2-0.3-2.1-0.8-2.7c-0.6-0.6-1.3-0.9-2.1-0.9s-1.5,0.3-2.1,0.9
C142.5,141.2,142.3,142.1,142.3,143.3z"/>
<path d="M156.9,149.3h-3.2v-12h2.9v1.7c0.5-0.8,1-1.3,1.4-1.6c0.4-0.3,0.9-0.4,1.4-0.4c0.7,0,1.4,0.2,2.1,0.6l-1,2.8
c-0.5-0.3-1-0.5-1.5-0.5c-0.4,0-0.8,0.1-1.1,0.4c-0.3,0.2-0.6,0.7-0.7,1.3c-0.2,0.6-0.3,2-0.3,4V149.3z"/>
<path d="M162.6,137.3h2.9v1.6c1-1.3,2.3-1.9,3.7-1.9c0.8,0,1.4,0.2,2,0.5c0.6,0.3,1,0.8,1.4,1.4c0.5-0.6,1.1-1.1,1.7-1.4
c0.6-0.3,1.3-0.5,2-0.5c0.9,0,1.6,0.2,2.2,0.5c0.6,0.4,1.1,0.9,1.4,1.6c0.2,0.5,0.3,1.3,0.3,2.5v7.7h-3.2v-6.9
c0-1.2-0.1-2-0.3-2.3c-0.3-0.5-0.7-0.7-1.4-0.7c-0.4,0-0.9,0.1-1.3,0.4c-0.4,0.3-0.7,0.7-0.8,1.2c-0.2,0.5-0.3,1.3-0.3,2.5v5.8
h-3.2v-6.6c0-1.2-0.1-1.9-0.2-2.3c-0.1-0.3-0.3-0.6-0.5-0.8c-0.2-0.2-0.6-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.4
c-0.4,0.3-0.7,0.6-0.8,1.1c-0.2,0.5-0.3,1.3-0.3,2.5v5.8h-3.2V137.3z"/>
<path d="M190.4,145.5l3.2,0.5c-0.4,1.2-1,2-1.9,2.6c-0.9,0.6-2,0.9-3.3,0.9c-2.1,0-3.6-0.7-4.6-2c-0.8-1.1-1.2-2.5-1.2-4.1
c0-2,0.5-3.5,1.6-4.7c1-1.1,2.4-1.7,3.9-1.7c1.8,0,3.2,0.6,4.2,1.8c1,1.2,1.5,3,1.5,5.4h-7.9c0,0.9,0.3,1.7,0.8,2.2
s1.1,0.8,1.8,0.8c0.5,0,0.9-0.1,1.3-0.4C189.9,146.5,190.2,146.1,190.4,145.5z M190.6,142.3c0-0.9-0.3-1.6-0.7-2.1
c-0.5-0.5-1-0.7-1.6-0.7c-0.7,0-1.3,0.3-1.7,0.8c-0.5,0.5-0.7,1.2-0.7,2.1H190.6z"/>
<path d="M199.3,149.3h-3.2v-12h2.9v1.7c0.5-0.8,1-1.3,1.4-1.6c0.4-0.3,0.9-0.4,1.4-0.4c0.7,0,1.4,0.2,2.1,0.6l-1,2.8
c-0.5-0.3-1-0.5-1.5-0.5c-0.4,0-0.8,0.1-1.1,0.4c-0.3,0.2-0.6,0.7-0.7,1.3c-0.2,0.6-0.3,2-0.3,4V149.3z"/>
</g>
<g class="st6">
<path d="M102,184.9l-3-12.7h2.6l1.9,8.7l2.3-8.7h3.1l2.2,8.9l2-8.9h2.6l-3.1,12.7h-2.7l-2.5-9.5l-2.5,9.5H102z"/>
<path d="M116.8,174.4v-2.3h2.4v2.3H116.8z M116.8,184.9v-9.2h2.4v9.2H116.8z"/>
<path d="M130.2,184.9h-2.4v-4.7c0-1-0.1-1.6-0.2-1.9c-0.1-0.3-0.3-0.5-0.5-0.7c-0.2-0.2-0.5-0.2-0.8-0.2c-0.4,0-0.8,0.1-1.1,0.3
c-0.3,0.2-0.6,0.5-0.7,0.9s-0.2,1.1-0.2,2.1v4.2h-2.4v-9.2h2.3v1.4c0.8-1,1.8-1.6,3-1.6c0.5,0,1,0.1,1.5,0.3
c0.4,0.2,0.8,0.4,1,0.7c0.2,0.3,0.4,0.6,0.5,1c0.1,0.4,0.1,0.9,0.1,1.6V184.9z"/>
<path d="M136.9,175.6v1.9h-1.7v3.7c0,0.8,0,1.2,0,1.3c0,0.1,0.1,0.2,0.2,0.3c0.1,0.1,0.3,0.1,0.4,0.1c0.2,0,0.6-0.1,1-0.2
l0.2,1.9c-0.6,0.2-1.2,0.4-1.9,0.4c-0.4,0-0.8-0.1-1.2-0.2c-0.4-0.1-0.6-0.3-0.8-0.6s-0.3-0.6-0.3-1c-0.1-0.3-0.1-0.9-0.1-1.7
v-4h-1.1v-1.9h1.1v-1.8l2.4-1.4v3.3H136.9z"/>
<path d="M143.9,181.9l2.4,0.4c-0.3,0.9-0.8,1.6-1.5,2c-0.7,0.5-1.5,0.7-2.5,0.7c-1.6,0-2.8-0.5-3.6-1.6
c-0.6-0.8-0.9-1.9-0.9-3.2c0-1.5,0.4-2.7,1.2-3.6c0.8-0.9,1.8-1.3,3-1.3c1.4,0,2.5,0.5,3.2,1.4s1.2,2.3,1.1,4.2h-6.1
c0,0.7,0.2,1.3,0.6,1.7c0.4,0.4,0.8,0.6,1.4,0.6c0.4,0,0.7-0.1,1-0.3C143.6,182.7,143.8,182.4,143.9,181.9z M144,179.5
c0-0.7-0.2-1.2-0.5-1.6c-0.3-0.4-0.8-0.6-1.3-0.6c-0.5,0-1,0.2-1.3,0.6c-0.3,0.4-0.5,0.9-0.5,1.6H144z"/>
<path d="M150.8,184.9h-2.4v-9.2h2.3v1.3c0.4-0.6,0.7-1,1-1.2c0.3-0.2,0.7-0.3,1.1-0.3c0.6,0,1.1,0.2,1.6,0.5l-0.8,2.1
c-0.4-0.3-0.8-0.4-1.1-0.4c-0.3,0-0.6,0.1-0.9,0.3c-0.2,0.2-0.4,0.5-0.6,1c-0.1,0.5-0.2,1.5-0.2,3.1V184.9z"/>
</g>
<g class="st6">
<path d="M115.4,204v2.3h-8.6c0.1-0.9,0.4-1.7,0.8-2.4c0.5-0.8,1.4-1.8,2.7-3.1c1.1-1,1.8-1.7,2-2.1c0.3-0.5,0.5-1,0.5-1.5
c0-0.5-0.1-1-0.4-1.3c-0.3-0.3-0.7-0.4-1.2-0.4c-0.5,0-0.9,0.2-1.2,0.5c-0.3,0.3-0.5,0.8-0.5,1.5l-2.4-0.2
c0.1-1.3,0.6-2.3,1.4-2.9c0.8-0.6,1.7-0.9,2.9-0.9c1.3,0,2.2,0.3,3,1s1.1,1.5,1.1,2.5c0,0.6-0.1,1.1-0.3,1.6
c-0.2,0.5-0.5,1.1-1,1.6c-0.3,0.4-0.8,0.9-1.6,1.6c-0.8,0.7-1.3,1.2-1.5,1.4s-0.4,0.5-0.5,0.7H115.4z"/>
<path d="M121.2,193.4c1.2,0,2.2,0.4,2.9,1.3c0.8,1,1.2,2.8,1.2,5.2c0,2.4-0.4,4.1-1.3,5.2c-0.7,0.9-1.7,1.3-2.9,1.3
c-1.2,0-2.2-0.5-3-1.4c-0.8-1-1.1-2.7-1.1-5.1c0-2.4,0.4-4.1,1.3-5.2C119,193.9,120,193.4,121.2,193.4z M121.2,195.5
c-0.3,0-0.6,0.1-0.8,0.3c-0.2,0.2-0.4,0.5-0.5,1c-0.2,0.6-0.3,1.7-0.3,3.2s0.1,2.5,0.2,3.1c0.2,0.6,0.3,0.9,0.6,1.1
c0.2,0.2,0.5,0.3,0.8,0.3c0.3,0,0.6-0.1,0.8-0.3s0.4-0.5,0.5-1c0.2-0.6,0.3-1.7,0.3-3.2s-0.1-2.5-0.2-3.1
c-0.2-0.6-0.3-0.9-0.6-1.1C121.8,195.6,121.5,195.5,121.2,195.5z"/>
<path d="M135.2,204v2.3h-8.6c0.1-0.9,0.4-1.7,0.8-2.4c0.5-0.8,1.4-1.8,2.7-3.1c1.1-1,1.8-1.7,2-2.1c0.3-0.5,0.5-1,0.5-1.5
c0-0.5-0.1-1-0.4-1.3c-0.3-0.3-0.7-0.4-1.2-0.4c-0.5,0-0.9,0.2-1.2,0.5c-0.3,0.3-0.5,0.8-0.5,1.5l-2.4-0.2
c0.1-1.3,0.6-2.3,1.4-2.9c0.8-0.6,1.7-0.9,2.9-0.9c1.3,0,2.2,0.3,3,1s1.1,1.5,1.1,2.5c0,0.6-0.1,1.1-0.3,1.6
c-0.2,0.5-0.5,1.1-1,1.6c-0.3,0.4-0.8,0.9-1.6,1.6c-0.8,0.7-1.3,1.2-1.5,1.4s-0.4,0.5-0.5,0.7H135.2z"/>
<path d="M136.9,202.9l2.4-0.3c0.1,0.6,0.3,1,0.6,1.3s0.7,0.5,1.2,0.5c0.5,0,0.9-0.2,1.3-0.6c0.4-0.4,0.5-1,0.5-1.9
c0-0.8-0.2-1.4-0.5-1.8c-0.4-0.4-0.8-0.6-1.4-0.6c-0.7,0-1.3,0.3-1.9,0.9l-2-0.3l1.3-6.6h6.5v2.3h-4.6l-0.4,2.2
c0.5-0.3,1.1-0.4,1.7-0.4c1.1,0,2,0.4,2.8,1.2c0.8,0.8,1.1,1.8,1.1,3.1c0,1-0.3,2-0.9,2.8c-0.8,1.1-2,1.7-3.4,1.7
c-1.2,0-2.1-0.3-2.9-0.9S137.1,204,136.9,202.9z"/>
</g>
</g>
</g>
</g>
<g id="Layer_2">
<g id="Trusted-Vendor-SF">
<g id="Group-2">
<polygon id="Path-4" class="st23" points="576.2,97.1 832.6,97.1 817.9,141.7 832.6,189.7 551.6,189.7 571.9,144.7 571.9,105.1
"/>
<path id="Path-2" class="st24" d="M531.6,76.1l45.3,13.1c2.3,0.7,3.9,2.8,3.9,5.2v51.2c0,4.3-0.6,8.6-1.7,12.8l-1.7,6.4
c-1.1,4.1-2.8,8.1-5.1,11.7l-0.5,0.8c-1.9,3.1-4.3,5.8-6.9,8.3l-10.9,9.9c-3.4,3.1-7.2,5.7-11.2,7.7l-15.8,7.9
c-1.5,0.8-3.3,0.8-4.9,0l-18.1-9c-2.8-1.4-5.4-3.1-7.7-5.2L483.5,186c-3-2.6-5.6-5.7-7.7-9.1l-0.9-1.5c-1.7-2.8-3-5.9-3.9-9.1
l-2-7.6c-1.1-4.3-1.7-8.8-1.6-13.3l1-51.1c0-2.4,1.6-4.5,3.9-5.1l45-13.1C522,74.7,527,74.7,531.6,76.1z"/>
<path id="TRUSTEDVENDOR" class="st17" d="M602.3,138.2v-19.1h3.6v-4.8h-13.5v4.8h3.6v19.1H602.3z M614.1,138.2v-11
c0.2-0.1,0.5-0.1,0.7-0.1c0.6,0,1.1,0.2,1.3,0.6c0.2,0.4,0.3,0.9,0.3,1.5l0,0v9.1h5.8v-8.4c0-1.3-0.3-2.4-0.9-3.1
c-0.6-0.7-1.6-1.1-3-1.2l0,0v-0.1c1.3-0.1,2.2-0.5,2.8-1.2c0.5-0.7,0.8-1.7,0.8-3l0,0v-2.1c0-1.2-0.2-2.1-0.5-2.7
c-0.4-0.6-0.8-1.1-1.5-1.4c-0.6-0.3-1.4-0.5-2.2-0.6c-0.9-0.1-1.8-0.1-2.8-0.1l0,0h-6.8v23.9H614.1z M614.6,123.4h-0.5v-5.3h0.5
c0.2,0,0.4,0,0.6,0.1c0.2,0,0.4,0.1,0.6,0.3c0.2,0.1,0.3,0.3,0.4,0.5c0.1,0.2,0.2,0.5,0.2,0.8l0,0v2c0,0.3-0.1,0.6-0.2,0.8
s-0.3,0.4-0.4,0.5c-0.2,0.1-0.4,0.2-0.6,0.3C615,123.4,614.8,123.4,614.6,123.4L614.6,123.4z M632.5,138.7c1.4,0,2.6-0.2,3.5-0.5
c0.9-0.4,1.7-0.9,2.2-1.5c0.6-0.6,1-1.4,1.2-2.2s0.4-1.8,0.4-2.8l0,0v-17.3h-6.2v18.2c0,0.7-0.1,1.2-0.3,1.5
c-0.2,0.3-0.5,0.4-0.9,0.4c-0.4,0-0.7-0.1-0.9-0.4c-0.2-0.3-0.3-0.8-0.3-1.5l0,0v-18.2h-6.2v17.3c0,1,0.1,1.9,0.4,2.8
s0.6,1.6,1.2,2.2c0.6,0.6,1.3,1.1,2.2,1.5C629.9,138.5,631.1,138.7,632.5,138.7z M649.2,138.7c1.1,0,2-0.1,2.9-0.3
c0.9-0.2,1.6-0.5,2.3-1s1.1-1.1,1.5-1.9c0.3-0.8,0.5-1.8,0.5-3l0,0v-1.9c0-1.2-0.2-2.1-0.6-3c-0.4-0.8-0.9-1.5-1.5-2.1
c-0.6-0.6-1.3-1.1-2-1.5c-0.7-0.4-1.4-0.8-2-1.2c-0.6-0.4-1.1-0.8-1.5-1.2c-0.4-0.4-0.6-0.9-0.6-1.5l0,0v-1c0-0.6,0.1-1,0.3-1.2
c0.2-0.2,0.4-0.3,0.8-0.3c0.1,0,0.3,0,0.4,0.1c0.1,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.3,0.3,0.5s0.1,0.5,0.1,0.9l0,0v2h5.5v-2.2
c0-0.6-0.1-1.3-0.3-1.9c-0.2-0.6-0.5-1.2-1-1.7s-1.2-0.9-2.1-1.2s-2.1-0.5-3.5-0.5c-1,0-2,0.1-2.8,0.3c-0.8,0.2-1.5,0.6-2.1,1
c-0.6,0.5-1,1.1-1.4,1.8s-0.5,1.7-0.5,2.8l0,0v1.3c0,1.1,0.2,2.1,0.6,2.9c0.4,0.8,0.9,1.4,1.5,2c0.6,0.5,1.2,1,1.9,1.4
s1.3,0.8,1.9,1.2c0.6,0.4,1.1,0.9,1.5,1.4c0.4,0.5,0.6,1.1,0.6,1.8l0,0v1c0,0.2,0,0.5,0,0.7c0,0.2-0.1,0.5-0.1,0.7
c-0.1,0.2-0.2,0.4-0.4,0.5c-0.2,0.1-0.4,0.2-0.6,0.2c-0.4,0-0.7-0.2-0.9-0.5c-0.1-0.3-0.2-0.7-0.2-1.1l0,0v-3.8h-5.8v3
c0,0.8,0.1,1.7,0.2,2.4c0.1,0.8,0.5,1.4,0.9,2c0.5,0.6,1.1,1,2,1.3C646.6,138.5,647.8,138.7,649.2,138.7z M668.2,138.2v-19.1h3.6
v-4.8h-13.5v4.8h3.6v19.1H668.2z M684.9,138.2v-4.8h-4.6v-5.3h4v-4.6h-4v-4.4h4.2v-4.8h-10.4v23.9H684.9z M696.6,138.2
c0.7,0,1.3-0.1,2-0.2s1.2-0.4,1.8-0.7c0.5-0.3,0.9-0.8,1.2-1.4c0.3-0.6,0.5-1.3,0.5-2.2l0,0v-13.2c0-1.3-0.2-2.4-0.5-3.2
c-0.3-0.8-0.8-1.4-1.4-1.9c-0.6-0.4-1.3-0.7-2.2-0.9c-0.8-0.1-1.8-0.2-2.8-0.2l0,0h-7.8v23.9H696.6z M694.5,134.2h-0.9v-15.9h0.9
c0.4,0,0.8,0.2,1.1,0.6c0.3,0.4,0.4,0.8,0.4,1.4l0,0v11.9c0,0.6-0.1,1.1-0.4,1.4C695.3,134,695,134.2,694.5,134.2L694.5,134.2z
M722.5,138.2l3.2-23.9H720l-1.6,19.3h-0.1l-1.4-19.3h-6.2l3,23.9H722.5z M739,138.2v-4.8h-4.6v-5.3h4v-4.6h-4v-4.4h4.2v-4.8
h-10.4v23.9H739z M746.7,138.2v-13.4h0.1l3.5,13.4h5.2v-23.9h-5.2v11.9h-0.1l-3.5-11.9h-5.2v23.9H746.7z M767.7,138.2
c0.7,0,1.3-0.1,2-0.2c0.7-0.1,1.2-0.4,1.8-0.7c0.5-0.3,0.9-0.8,1.2-1.4c0.3-0.6,0.5-1.3,0.5-2.2l0,0v-13.2c0-1.3-0.2-2.4-0.5-3.2
c-0.3-0.8-0.8-1.4-1.4-1.9c-0.6-0.4-1.3-0.7-2.2-0.9s-1.8-0.2-2.8-0.2l0,0h-7.8v23.9H767.7z M765.5,134.2h-0.9v-15.9h0.9
c0.4,0,0.8,0.2,1.1,0.6c0.3,0.4,0.4,0.8,0.4,1.4l0,0v11.9c0,0.6-0.1,1.1-0.4,1.4S766,134.2,765.5,134.2L765.5,134.2z
M783.4,138.7c1.5,0,2.8-0.2,3.7-0.6c1-0.4,1.7-1,2.2-1.7c0.5-0.7,0.9-1.5,1.1-2.4c0.2-0.9,0.3-1.8,0.3-2.7l0,0v-10.1
c0-0.9-0.1-1.9-0.3-2.7c-0.2-0.9-0.5-1.7-1.1-2.4s-1.3-1.2-2.2-1.7c-1-0.4-2.2-0.6-3.7-0.6s-2.8,0.2-3.7,0.6
c-1,0.4-1.7,1-2.2,1.7s-0.9,1.5-1.1,2.4c-0.2,0.9-0.3,1.8-0.3,2.7l0,0v10.1c0,0.9,0.1,1.9,0.3,2.7c0.2,0.9,0.5,1.7,1.1,2.4
c0.5,0.7,1.3,1.2,2.2,1.7S781.9,138.7,783.4,138.7z M783.4,134.7c-0.5,0-0.8-0.2-0.9-0.5c-0.2-0.3-0.2-0.7-0.2-1.1l0,0v-13.7
c0-0.4,0.1-0.8,0.2-1.1c0.2-0.3,0.5-0.5,0.9-0.5s0.8,0.2,0.9,0.5c0.2,0.3,0.2,0.7,0.2,1.1l0,0v13.7c0,0.4-0.1,0.8-0.2,1.1
C784.2,134.5,783.9,134.7,783.4,134.7z M799.6,138.2v-11c0.2-0.1,0.5-0.1,0.7-0.1c0.6,0,1.1,0.2,1.3,0.6c0.2,0.4,0.3,0.9,0.3,1.5
l0,0v9.1h5.8v-8.4c0-1.3-0.3-2.4-0.9-3.1c-0.6-0.7-1.6-1.1-3-1.2l0,0v-0.1c1.3-0.1,2.2-0.5,2.8-1.2c0.5-0.7,0.8-1.7,0.8-3l0,0
v-2.1c0-1.2-0.2-2.1-0.5-2.7c-0.4-0.6-0.8-1.1-1.5-1.4c-0.6-0.3-1.4-0.5-2.2-0.6s-1.8-0.1-2.8-0.1l0,0h-6.8v23.9H799.6z
M800.1,123.4h-0.5v-5.3h0.5c0.2,0,0.4,0,0.6,0.1c0.2,0,0.4,0.1,0.6,0.3c0.2,0.1,0.3,0.3,0.4,0.5c0.1,0.2,0.2,0.5,0.2,0.8l0,0v2
c0,0.3-0.1,0.6-0.2,0.8s-0.3,0.4-0.4,0.5c-0.2,0.1-0.4,0.2-0.6,0.3S800.3,123.4,800.1,123.4L800.1,123.4z"/>
<path class="st25" d="M562.9,139.4c-10.3,10.4-20.6,20.8-30.9,31.2c-1,1-1.9,1.5-3.3,1.4c-2.1-0.1-4.2,0-6.3-0.1
c-0.6,0-1.2-0.4-1.8-0.6c0.3-0.6,0.4-1.3,0.8-1.7c9.3-9.4,18.5-18.8,27.8-28.2c2.2-2.2,2.2-2.5-0.1-4.7
c-7.1-7.2-14.3-14.4-21.4-21.6c-1.5-1.5-1.5-1.7,0-3.2c1-1,2-2,3-3c0.9-1.1,1.6-1,2.6,0c8.7,8.9,17.4,17.7,26.2,26.5
c1.2,1.2,2.3,2.4,3.4,3.6C562.9,139.2,562.9,139.3,562.9,139.4z"/>
<path class="st25" d="M526.4,103.2c1.1,1,0.4,1.7-0.4,2.5c-9.2,9.2-18.4,18.5-27.6,27.8c-0.4,0.4-0.8,0.8-1.1,1.2
c-0.8,0.8-0.7,1.7,0,2.5c0.3,0.4,0.7,0.7,1,1.1c7.1,7.2,14.3,14.4,21.4,21.5c1.4,1.4,1.4,1.7,0,3.1c-1.1,1.1-2.1,2.1-3.2,3.2
c-0.8,0.8-1.4,0.8-2.2,0c-9.6-9.7-19.2-19.3-28.9-29c-0.8-0.8-0.8-1.5,0-2.3c10.2-10.2,20.4-20.4,30.6-30.6
c0.3-0.3,0.6-0.6,1-0.9C520.1,103.2,523.2,103.2,526.4,103.2z"/>
<path class="st25" d="M532.9,131.6c2.3,4.4,3.3,9,1.1,13.8c-2.3,4.9-6.4,6.8-10.3,6.7c-5-0.2-9.1-3.7-10.4-8.6
c-1.3-4.8-0.3-9.2,2.5-13.3c1-1.5,2.2-2.8,3.3-4.3c1.2-1.7,2.2-3.4,2.1-5.6c0-0.3,0.2-0.6,0.3-0.9c0.4,0.2,0.8,0.2,1.1,0.5
c2.7,2.8,4.3,6.2,5,9.9c0.7,3.4,0.9,6.9,1.2,10.4c0.1,1.1-0.1,2.6,1.2,2.8c1.4,0.3,1.9-1.3,2.1-2.4c0.4-2.4,0.4-4.8,0.6-7.2
c0-0.6-0.1-1.2-0.2-1.8C532.7,131.6,532.8,131.6,532.9,131.6z"/>
<g id="Group" transform="translate(179.049080, 100.475049)">
<path id="Fill-953_1_" class="st26" d="M438.4,55.2c-0.1,0.2-0.2,0.2-0.4,0.2c-0.1,0-0.3-0.1-0.4-0.3c-0.2-0.2-0.4-0.4-0.7-0.6
c-0.3-0.2-0.7-0.4-1.2-0.6c-0.5-0.2-1.1-0.3-1.8-0.3c-0.7,0-1.3,0.1-1.8,0.3c-0.5,0.2-1,0.5-1.3,0.8s-0.6,0.8-0.8,1.2
c-0.2,0.5-0.3,1-0.3,1.5c0,0.7,0.1,1.2,0.4,1.7c0.3,0.4,0.6,0.8,1.1,1.1c0.4,0.3,1,0.6,1.5,0.8c0.6,0.2,1.2,0.4,1.8,0.6
c0.6,0.2,1.2,0.4,1.8,0.7c0.6,0.2,1.1,0.6,1.5,0.9c0.5,0.3,0.8,0.8,1.1,1.4c0.3,0.5,0.4,1.2,0.4,2c0,0.8-0.1,1.6-0.4,2.3
c-0.3,0.7-0.7,1.4-1.2,1.9c-0.5,0.5-1.2,1-1.9,1.3c-0.8,0.3-1.6,0.5-2.6,0.5c-1.2,0-2.3-0.2-3.2-0.7c-0.9-0.5-1.7-1.1-2.4-1.9
l0.4-0.6c0.1-0.2,0.2-0.2,0.4-0.2c0.1,0,0.2,0,0.3,0.2c0.1,0.1,0.3,0.3,0.4,0.4c0.2,0.2,0.4,0.3,0.7,0.5
c0.3,0.2,0.5,0.4,0.9,0.5c0.3,0.2,0.7,0.3,1.1,0.4c0.4,0.1,0.9,0.2,1.5,0.2c0.8,0,1.4-0.1,2-0.3c0.6-0.2,1.1-0.6,1.5-1
c0.4-0.4,0.7-0.9,1-1.5c0.2-0.6,0.3-1.2,0.3-1.8c0-0.7-0.1-1.3-0.4-1.7c-0.3-0.5-0.6-0.8-1.1-1.2c-0.4-0.3-1-0.6-1.5-0.8
c-0.6-0.2-1.2-0.4-1.8-0.6c-0.6-0.2-1.2-0.4-1.8-0.7c-0.6-0.2-1.1-0.5-1.5-0.9c-0.4-0.4-0.8-0.8-1.1-1.4
c-0.3-0.6-0.4-1.3-0.4-2.1c0-0.6,0.1-1.3,0.4-1.9c0.3-0.6,0.6-1.1,1.1-1.6c0.5-0.5,1-0.8,1.7-1.1c0.7-0.3,1.5-0.4,2.3-0.4
c1,0,1.9,0.2,2.7,0.5c0.8,0.3,1.5,0.8,2.2,1.5L438.4,55.2z"/>
<path id="Fill-956" class="st27" d="M452.5,53c-1.3,0-2.5,0.2-3.6,0.7c-1.1,0.4-2,1.1-2.8,1.9c-0.8,0.8-1.4,1.9-1.8,3.1
c-0.4,1.2-0.7,2.5-0.7,4c0,1.5,0.2,2.8,0.7,4c0.4,1.2,1,2.2,1.8,3.1c0.8,0.8,1.7,1.5,2.8,1.9s2.3,0.7,3.6,0.7s2.5-0.2,3.6-0.7
c1.1-0.4,2-1.1,2.8-1.9c0.8-0.8,1.4-1.9,1.8-3c0.4-1.2,0.7-2.5,0.7-4c0-1.5-0.2-2.8-0.7-4c-0.4-1.2-1-2.2-1.8-3.1
c-0.8-0.8-1.7-1.5-2.8-1.9C455,53.2,453.8,53,452.5,53 M452.5,72.7c-1.4,0-2.7-0.3-3.8-0.7c-1.1-0.5-2.1-1.2-3-2
c-0.8-0.9-1.5-1.9-1.9-3.2c-0.4-1.2-0.7-2.6-0.7-4.1c0-1.5,0.2-2.9,0.7-4.1c0.4-1.2,1.1-2.3,1.9-3.2c0.8-0.9,1.8-1.6,3-2.1
c1.1-0.5,2.4-0.7,3.8-0.7c1.4,0,2.7,0.3,3.8,0.7c1.1,0.5,2.1,1.1,3,2c0.8,0.9,1.5,2,1.9,3.2c0.4,1.2,0.7,2.6,0.7,4.1
c0,1.5-0.2,2.9-0.7,4.1c-0.4,1.2-1.1,2.3-1.9,3.2c-0.8,0.9-1.8,1.6-3,2C455.1,72.5,453.8,72.7,452.5,72.7"/>
<path id="Fill-957_1_" class="st26" d="M472.7,71.5c1,0,1.9-0.2,2.6-0.5c0.8-0.3,1.4-0.8,2-1.4c0.6-0.6,0.9-1.3,1.2-2.1
c0.3-0.8,0.4-1.7,0.4-2.6V52.5h1.5v12.4c0,1.1-0.2,2.1-0.6,3.1c-0.4,1-0.9,1.8-1.5,2.5c-0.7,0.7-1.5,1.3-2.4,1.7
c-0.9,0.4-2.1,0.6-3.2,0.6s-2.3-0.2-3.2-0.6c-0.9-0.4-1.8-1-2.4-1.7c-0.7-0.7-1.2-1.5-1.5-2.5c-0.4-1-0.6-2-0.6-3.1V52.5h1.5
v12.3c0,0.9,0.2,1.8,0.4,2.6c0.3,0.8,0.7,1.5,1.2,2.1c0.6,0.6,1.2,1,2,1.4C470.8,71.3,471.8,71.5,472.7,71.5"/>
<path id="Fill-959_1_" class="st26" d="M487.1,61.7h0.3h0.8c0.8,0,1.6-0.1,2.3-0.3c0.7-0.2,1.3-0.5,1.7-0.9
c0.5-0.4,0.8-0.8,1.1-1.3c0.3-0.5,0.4-1.1,0.4-1.8c0-1.3-0.4-2.3-1.3-3c-0.9-0.6-2.2-1-3.9-1H485v8.2v1v8.5h-1.4V52.5h4.9
c2.2,0,3.9,0.4,4.9,1.3c1.1,0.8,1.6,2,1.6,3.7c0,0.7-0.1,1.4-0.4,1.9c-0.3,0.6-0.6,1.1-1.1,1.5c-0.5,0.4-1,0.8-1.7,1.1
c-0.7,0.3-1.4,0.5-2.3,0.6c0.2,0.1,0.4,0.3,0.6,0.5l6.6,8.1h-1.2c-0.1,0-0.3,0-0.4-0.1c-0.1,0-0.2-0.1-0.3-0.3l-6.1-7.6
c-0.1-0.2-0.3-0.3-0.5-0.4c-0.2-0.1-1.3-0.1-1.6-0.1C486.7,61.8,486.8,61.7,487.1,61.7"/>
<path id="Fill-961_1_" class="st26" d="M513.1,67.9c0.1,0,0.2,0,0.2,0.1l0.6,0.6c-0.4,0.4-0.9,0.8-1.4,1.1
c-0.5,0.3-1.1,0.6-1.7,0.8c-0.6,0.2-1.3,0.4-2,0.5c-0.7,0.1-1.5,0.2-2.4,0.2c-1.4,0-2.8-0.2-4-0.7c-1.2-0.5-2.2-1.1-3.1-1.9
c-0.8-0.8-1.5-1.8-2-3c-0.5-1.2-0.7-2.4-0.7-3.8c0-1.4,0.2-2.6,0.8-3.8c0.5-1.2,1.2-2.1,2.1-3c0.9-0.8,2-1.4,3.2-1.9
c1.2-0.5,2.6-0.7,4.1-0.7c0.8,0,1.4,0,2.1,0.1c0.6,0.1,1.2,0.2,1.8,0.4s1,0.4,1.5,0.7c0.5,0.3,1,0.6,1.4,1l-0.4,0.6
c-0.1,0.1-0.2,0.1-0.4,0.1c-0.1,0-0.2,0-0.3-0.1c-0.1-0.1-0.3-0.2-0.5-0.4c-0.2-0.1-0.5-0.3-0.8-0.4c-0.3-0.2-0.6-0.3-1.1-0.4
c-0.4-0.1-0.9-0.2-1.4-0.4c-0.5-0.1-1.2-0.1-1.8-0.1c-1.3,0-2.4,0.2-3.5,0.6s-2,0.9-2.7,1.7c-0.8,0.7-1.4,1.6-1.8,2.6
c-0.4,1-0.6,2.1-0.6,3.4c0,1.3,0.2,2.4,0.6,3.5c0.4,1,1,1.9,1.8,2.6c0.8,0.7,1.6,1.2,2.6,1.6c1,0.4,2.1,0.6,3.3,0.6
c0.8,0,1.4,0,2-0.1c0.6-0.1,1.1-0.2,1.6-0.4c0.5-0.2,1-0.4,1.4-0.6c0.4-0.2,0.8-0.5,1.2-0.9c0,0,0.1-0.1,0.1-0.1
C513,67.9,513.1,67.9,513.1,67.9"/>
<polygon id="Fill-963_1_" class="st26" points="527.9,52.5 527.9,53.6 517.7,53.6 517.7,61.2 526.2,61.2 526.2,62.3 517.7,62.3
517.7,70.1 527.9,70.1 527.9,71.2 516.3,71.2 516.3,52.5 "/>
<polygon id="Fill-965_1_" class="st19" points="545.1,51.7 545.1,54.7 535.8,54.7 535.8,60.7 543.6,60.7 543.6,63.7 535.8,63.7
535.8,72 531.8,72 531.8,51.8 545.1,51.8 "/>
<path id="Fill-966_1_" class="st19" d="M561.5,61.8c0-1.1-0.2-2.1-0.5-2.9c-0.3-0.9-0.7-1.6-1.2-2.2c-0.5-0.6-1.2-1-2-1.4
c-0.8-0.3-1.7-0.5-2.6-0.5c-1,0-1.8,0.2-2.6,0.5c-0.8,0.3-1.4,0.8-2,1.4c-0.6,0.6-1,1.3-1.3,2.2c-0.3,0.9-0.5,1.8-0.5,2.9
c0,1.1,0.2,2.1,0.5,2.9c0.3,0.9,0.7,1.6,1.3,2.2c0.6,0.6,1.2,1,2,1.4c0.8,0.3,1.7,0.5,2.6,0.5c1,0,1.8-0.1,2.6-0.5
c0.8-0.3,1.4-0.8,2-1.4c0.5-0.6,0.9-1.3,1.2-2.2C561.3,63.9,561.5,62.9,561.5,61.8 M565.3,61.8c0,1.5-0.2,2.8-0.7,4
c-0.5,1.2-1.2,2.3-2.1,3.2c-0.9,0.9-2,1.6-3.2,2.1c-1.2,0.5-2.6,0.7-4.1,0.7c-1.5,0-2.9-0.3-4.1-0.7c-1.2-0.5-2.3-1.2-3.2-2.1
c-0.9-0.9-1.6-2-2.1-3.2c-0.5-1.2-0.7-2.6-0.7-4c0-1.5,0.2-2.8,0.7-4s1.2-2.3,2.1-3.2c0.9-0.9,2-1.6,3.2-2.1
c1.2-0.5,2.6-0.7,4.1-0.7c1.5,0,2.9,0.3,4.1,0.8s2.3,1.2,3.2,2.1c0.9,0.9,1.6,2,2.1,3.2C565,59,565.3,60.4,565.3,61.8"/>
<path id="Fill-967_1_" class="st19" d="M572,61.3h0.9c0.7,0,1.3-0.1,1.8-0.3c0.5-0.2,0.9-0.4,1.3-0.7c0.3-0.3,0.6-0.7,0.8-1.1
c0.2-0.4,0.3-0.9,0.3-1.4c0-1-0.3-1.8-1-2.4c-0.7-0.5-1.7-0.8-3.1-0.8h-2.4v6.7v2.7V72h-3.7V51.7h6.1c1.4,0,2.5,0.2,3.5,0.4
c1,0.3,1.8,0.7,2.4,1.2c0.6,0.5,1.1,1.1,1.4,1.8c0.3,0.7,0.5,1.5,0.5,2.4c0,0.7-0.1,1.3-0.3,2c-0.2,0.6-0.5,1.1-0.9,1.6
s-0.8,0.9-1.4,1.3c-0.6,0.4-1.2,0.7-1.9,0.9c0.5,0.3,0.9,0.6,1.2,1.1l5,7.5h-3.4c-0.3,0-0.6-0.1-0.8-0.2
c-0.2-0.1-0.4-0.3-0.6-0.6l-4.2-6.5c-0.1-0.2-0.3-0.5-0.6-0.5h-1.3v-2.4C571.6,61.3,572,61.3,572,61.3"/>
<path id="Fill-968_1_" class="st19" d="M592.5,69.1c0.8,0,1.5-0.1,2.1-0.2c0.6-0.1,1.2-0.4,1.7-0.6v-4.5h-2.4
c-0.2,0-0.4-0.1-0.5-0.2c-0.1-0.2-0.2-0.3-0.2-0.5V61h6.4v8.9c-0.5,0.4-1,0.7-1.5,0.9c-0.5,0.3-1.1,0.5-1.7,0.7
c-0.6,0.2-1.2,0.3-1.9,0.4c-0.7,0.1-1.4,0.1-2.2,0.1c-1.4,0-2.7-0.3-3.9-0.7c-1.2-0.5-2.2-1.2-3.1-2.1c-0.9-0.9-1.5-2-2-3.2
c-0.5-1.2-0.7-2.6-0.7-4.1c0-1.5,0.2-2.8,0.7-4.1c0.5-1.2,1.1-2.3,2-3.2c0.9-0.9,1.9-1.6,3.2-2.1c1.2-0.5,2.6-0.7,4.2-0.7
c1.6,0,2.9,0.2,4.1,0.7c1.2,0.5,2.1,1.1,2.9,1.9l-1.1,1.7c-0.2,0.3-0.5,0.5-0.8,0.5c-0.2,0-0.4-0.1-0.7-0.2
c-0.3-0.2-0.6-0.3-0.9-0.5c-0.3-0.2-0.6-0.3-1-0.4c-0.4-0.1-0.8-0.2-1.2-0.3c-0.4-0.1-1-0.1-1.6-0.1c-0.9,0-1.8,0.1-2.6,0.5
c-0.8,0.3-1.4,0.8-2,1.4c-0.5,0.6-0.9,1.3-1.2,2.2c-0.3,0.9-0.4,1.8-0.4,2.9c0,1.2,0.1,2.2,0.5,3.1c0.3,0.9,0.8,1.6,1.3,2.2
c0.5,0.6,1.2,1.1,2,1.4C590.6,68.9,591.6,69.1,592.5,69.1"/>
<path id="Fill-969_1_" class="st19" d="M613,63.8h-6.4v5.1h9.3v3h-13.2V51.7h13.2v3h-9.3V61h7.3v2.2
C613.9,63.2,613.8,63.8,613,63.8"/>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 88 KiB

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#1BB6F9;}
.st2{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill:url(#SVGID_2_);fill-opacity:0.2;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<g id="Layer_3">
<rect y="0" class="st0" width="122.9" height="122.9"/>
<path class="st1" d="M91.9,34.5c0,16.8-13.6,30.4-30.4,30.4S31.1,51.3,31.1,34.5S44.7,4.1,61.5,4.1S91.9,17.7,91.9,34.5z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="31.1" y1="34.5" x2="91.9" y2="34.5">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M91.9,34.5c0,16.8-13.6,30.4-30.4,30.4S31.1,51.3,31.1,34.5S44.7,4.1,61.5,4.1S91.9,17.7,91.9,34.5z"/>
<path class="st1" d="M17.6,78.4h47.2c22.4,0,40.5,18.1,40.5,40.5H58.1C35.8,118.9,17.6,100.7,17.6,78.4z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="17.6" y1="98.65" x2="105.3" y2="98.65">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st3" d="M17.6,78.4h47.2c22.4,0,40.5,18.1,40.5,40.5H58.1C35.8,118.9,17.6,100.7,17.6,78.4z"/>
</g>
<g id="Layer_2_1_">
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
]>
<svg version="1.1" id="Layer_2" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.9 122.9"
style="enable-background:new 0 0 122.9 122.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;}
.st1{fill:#FBB130;}
.st2{fill:url(#SVGID_1_);fill-opacity:0.2;}
.st3{fill:#0382F3;}
.st4{fill:url(#SVGID_2_);fill-opacity:0.2;}
.st5{fill:#FFFFFF;}
.st6{fill:url(#SVGID_3_);fill-opacity:0.2;}
.st7{fill:url(#SVGID_4_);fill-opacity:0.2;}
.st8{fill:url(#SVGID_5_);}
.st9{fill:url(#SVGID_6_);fill-opacity:0.2;}
.st10{fill:url(#SVGID_7_);}
.st11{fill:url(#SVGID_8_);fill-opacity:0.2;}
</style>
<metadata id="CorelCorpID_0Corel-Layer">
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds bottomLeftOrigin="true" height="122.9" width="122.9" x="0" y="0"></sliceSourceBounds>
</sfw>
</metadata>
<rect class="st0" width="122.9" height="122.9"/>
<g id="Bus">
<path class="st1" d="M108.1,26.1V13.9c0-4.9-3.9-8.8-8.8-8.8H23.6c-4.9,0-8.8,3.9-8.8,8.8v12.2v7v35v35c0,3.9,3.5,7,7.8,7h77.8
c4.3,0,7.8-3.1,7.8-7v-35v-35V26.1z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="14.7897" y1="57.5616" x2="108.1103" y2="57.5616">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st2" d="M108.1,26.1V13.9c0-4.9-3.9-8.8-8.8-8.8H23.6c-4.9,0-8.8,3.9-8.8,8.8v12.2v7v35v35c0,3.9,3.5,7,7.8,7h77.8
c4.3,0,7.8-3.1,7.8-7v-35v-35V26.1z"/>
<g>
<path class="st3" d="M14.8,16.7h93.3v46.7H14.8V16.7z"/>
</g>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="14.7897" y1="40.064" x2="108.1103" y2="40.064">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st4" d="M14.8,16.7h93.3v46.7H14.8V16.7z"/>
<circle class="st5" cx="38.1" cy="86.7" r="7.8"/>
<circle class="st5" cx="84.8" cy="86.7" r="7.8"/>
<g>
<path class="st5" d="M34.2,46.2l17.8-17.8c1.5-1.5,4-1.5,5.5,0l0,0c1.5,1.5,1.5,4,0,5.5L39.7,51.7c-1.5,1.5-4,1.5-5.5,0l0,0
C32.7,50.2,32.7,47.7,34.2,46.2z"/>
</g>
<g>
<path class="st5" d="M65.3,46.2l17.8-17.8c1.5-1.5,4-1.5,5.5,0l0,0c1.5,1.5,1.5,4,0,5.5L70.8,51.7c-1.5,1.5-4,1.5-5.5,0l0,0
C63.8,50.2,63.8,47.8,65.3,46.2z"/>
</g>
<g>
<path class="st1" d="M22.6,110.1v2.7c0,2.8,2.3,5.1,5.1,5.1h13.2c2.8,0,5.1-2.3,5.1-5.1v-2.7l-11.7-7.8L22.6,110.1z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="22.5665" y1="110.0544" x2="45.8966" y2="110.0544">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st6" d="M22.6,110.1v2.7c0,2.8,2.3,5.1,5.1,5.1h13.2c2.8,0,5.1-2.3,5.1-5.1v-2.7l-11.7-7.8L22.6,110.1z"/>
<path class="st1" d="M77,110.1v2.7c0,2.8,2.3,5.1,5.1,5.1h13.2c2.8,0,5.1-2.3,5.1-5.1v-2.7l-11.7-7.8L77,110.1z"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="77.0034" y1="110.0544" x2="100.3335" y2="110.0544">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st7" d="M77,110.1v2.7c0,2.8,2.3,5.1,5.1,5.1h13.2c2.8,0,5.1-2.3,5.1-5.1v-2.7l-11.7-7.8L77,110.1z"/>
</g>
<g>
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="22.5665" y1="106.1661" x2="45.8966" y2="106.1661">
<stop offset="0" style="stop-color:#F8861E"/>
<stop offset="1" style="stop-color:#F89030"/>
</linearGradient>
<path class="st8" d="M22.6,102.3h23.3v7.8H22.6V102.3z"/>
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="22.5665" y1="106.1661" x2="45.8966" y2="106.1661">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st9" d="M22.6,102.3h23.3v7.8H22.6V102.3z"/>
<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="77.0034" y1="106.1661" x2="100.3335" y2="106.1661">
<stop offset="0" style="stop-color:#F8861E"/>
<stop offset="1" style="stop-color:#F89030"/>
</linearGradient>
<path class="st10" d="M77,102.3h23.3v7.8H77V102.3z"/>
<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="77.0034" y1="106.1661" x2="100.3335" y2="106.1661">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
</linearGradient>
<path class="st11" d="M77,102.3h23.3v7.8H77V102.3z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

+23
View File
@@ -0,0 +1,23 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from . import test_exam_common
from . import test_exam
+222
View File
@@ -0,0 +1,222 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
import logging
from .test_exam_common import TestExamCommon
class TestExam(TestExamCommon):
def setUp(self):
super(TestExam, self).setUp()
def test_details_of_Exam(self):
exam = self.op_exam.search([])
for x in exam:
logging.info('Exam Name: %s' % (x.name))
logging.info('Exam Session: %s' % (x.session_id.name))
logging.info('Exam course: %s' % (x.course_id.name))
logging.info('Exam Batch: %s' % (x.batch_id.name))
logging.info('Exam subject: %s' % (x.subject_id.name))
logging.info('Exam Total Marks: %s' % (x.total_marks))
logging.info('Exam Passing Marks: %s' % (x.min_marks))
logging.info('Exam Attendes:')
for attendes in x.attendees_line:
logging.info(' %s' % (attendes.student_id.display_name))
x._check_marks()
x._check_date_time()
class TestExamAttendees(TestExamCommon):
def setUp(self):
super(TestExamAttendees, self).setUp()
def test_attendees(self):
attendees = self.op_exam_attendees.search([])
for _ in attendees:
attendees._sql_constraints
for x in attendees:
x.onchange_exam()
x._check_marks()
class TestExamRoom(TestExamCommon):
def setUp(self):
super(TestExamRoom, self).setUp()
def test_attendees(self):
room = self.op_exam_room.search([])
for data in room:
if not data:
raise AssertionError(
'Error in data, please check for Exam Grades')
logging.info('Name: %s' % (data.name))
logging.info('Room Name : %s' % (data.classroom_id.name))
logging.info('Capacity : %s' % (data.capacity))
for res in room:
res.check_capacity()
class TestExamType(TestExamCommon):
def setUp(self):
super(TestExamType, self).setUp()
def test_Exam_Type(self):
exam_type = self.op_exam_type.search([])
for data in exam_type:
logging.info('Exam Type: %s' % (data.name))
logging.info('Exam code: %s' % (data.code))
class TestGrade(TestExamCommon):
def setUp(self):
super(TestGrade, self).setUp()
def test_grade(self):
grade = self.op_grade_configuration.search([])
if not grade:
raise AssertionError(
'Error in data, please check for Exam Grades')
for data in grade:
logging.info('Min percentage : %s' % (data.min_per))
logging.info('Max percentage : %s' % (data.max_per))
logging.info('Result : %s' % (data.result))
class TestMarksheetline(TestExamCommon):
def setUp(self):
super(TestMarksheetline, self).setUp()
def test_grade(self):
line = self.op_marksheet_line.search([])
for data in line:
logging.info('Registration : %s' % (data.marksheet_reg_id.name))
logging.info('Evaluation Type : %s' % (data.evaluation_type))
logging.info('Percentage : %s' % (data.percentage))
logging.info('Date : %s' % (data.generated_date))
logging.info('Grade : %s' % (data.grade))
logging.info('Status : %s' % (data.status))
data._check_marks()
data._compute_total_marks()
data._compute_percentage()
data._compute_grade()
data._compute_status()
class TestMarksheetRegister(TestExamCommon):
def setUp(self):
super(TestMarksheetRegister, self).setUp()
def test_marksheet_register(self):
register = self.op_marksheet_register.search([])
for data in register:
logging.info('Marksheet Register : %s' % data.name)
logging.info('Exam Session : %s' % (data.exam_session_id.name))
for res in data.marksheet_line:
logging.info('Marksheets : %s' % (res.id))
data._check_marks()
data._compute_total_pass()
data._compute_total_failed()
class TestResultLine(TestExamCommon):
def setUp(self):
super(TestResultLine, self).setUp()
def test_result_line(self):
result_line = self.op_result_line.search([])
logging.info('Marksheet Line :')
for data in result_line:
logging.info(' %s' % data.exam_id.name)
data._compute_grade
data._compute_status
data.unlink()
class TestResultTemplate(TestExamCommon):
def setUp(self):
super(TestResultTemplate, self).setUp()
def test_result_Template(self):
result_Template = self.op_result_template.search([])
logging.info('Name : ')
for data in result_Template:
logging.info(' %s' % data.name)
logging.info('State : %s' % data.state)
data._check_exam_session()
data._check_min_max_per()
data.generate_result()
class TestExamSession(TestExamCommon):
def setUp(self):
super(TestExamSession, self).setUp()
def test_exam_session(self):
exam_session = self.op_exam_session.search([])
logging.info('Name :')
for data in exam_session:
logging.info(' %s' % data.name)
logging.info('Start Date : %s' % data.start_date)
logging.info('End Date : %s' % data.end_date)
data._check_date_time()
data.onchange_course()
class TestHeldExam(TestExamCommon):
def setUp(self):
super(TestHeldExam, self).setUp()
def test_held_exam(self):
exam = self.op_held_exam.search([])
exam.held_exam()
class TestRoomDistribution(TestExamCommon):
def setUp(self):
super(TestRoomDistribution, self).setUp()
def test_room_distribution(self):
room = self.op_room_distribution.search([])
room._compute_get_total_student()
room._compute_get_room_capacity()
room.schedule_exam()
logging.info('computed total students')
@@ -0,0 +1,40 @@
###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program 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 3 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 Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo.tests import common
class TestExamCommon(common.TransactionCase):
def setUp(self):
super(TestExamCommon, self).setUp()
self.op_exam = self.env['op.exam']
self.op_exam_attendees = self.env['op.exam.attendees']
self.op_exam_room = self.env['op.exam.room']
self.op_exam_session = self.env['op.exam.session']
self.op_exam_type = self.env['op.exam.type']
self.op_grade_configuration = self.env['op.grade.configuration']
self.op_marksheet_line = self.env['op.marksheet.line']
self.op_marksheet_register = self.env['op.marksheet.register']
self.op_res_partner = self.env['res.partner']
self.op_result_line = self.env['op.result.line']
self.op_result_template = self.env['op.result.template']
self.op_held_exam = self.env['op.held.exam']
self.op_room_distribution = self.env['op.room.distribution']
self.student_hall_ticket = self.env['student.hall.ticket']
@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_op_exam_attendees_tree" model="ir.ui.view">
<field name="name">op.exam.attendees.list</field>
<field name="model">op.exam.attendees</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<list string="Exam Attendees" editable="top">
<field name="student_id"/>
<field name="exam_id"/>
<field name="status"/>
<field name="marks"/>
<field name="room_id"/>
<field name="note"/>
</list>
</field>
</record>
<record id="view_op_exam_attendees_form" model="ir.ui.view">
<field name="name">op.exam.attendees.form</field>
<field name="model">op.exam.attendees</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Exam Attendees">
<sheet>
<group>
<group>
<field name="course_id" invisible="1"/>
<field name="batch_id" invisible="1"/>
<field name="exam_id"/>
<field name="status"/>
<field name="room_id"/>
</group>
<group>
<field name="student_id"
domain="[('course_detail_ids.course_id','=',course_id),('course_detail_ids.batch_id','=',batch_id)]"/>
<field name="marks"/>
</group>
</group>
<group string="Note">
<field name="note" nolabel="1"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_op_exam_attendees_search" model="ir.ui.view">
<field name="name">op.exam.attendees.search</field>
<field name="model">op.exam.attendees</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<search string="Exam Attendees">
<field name="student_id"/>
<field name="status"/>
<field name="marks"/>
<field name="note"/>
<field name="exam_id"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Student" name="group_by_exam_attendees_student"
domain="[]" context="{'group_by':'student_id'}"/>
<filter string="Status" name="group_by_exam_attendees_status"
domain="[]" context="{'group_by':'status'}"/>
<filter string="Exam" name="group_by_exam_attendees_exam"
domain="[]" context="{'group_by':'exam_id'}"/>
</group>
</search>
</field>
</record>
<record model="ir.ui.view" id="view_op_exam_attendees_pivot">
<field name="name">op.exam.attendees.pivot</field>
<field name="model">op.exam.attendees</field>
<field name="arch" type="xml">
<pivot string="Exam Attendees Pivot">
<field name="student_id" type="row"/>
<field name="status" type="col"/>
<field name="marks" type="measure"/>
</pivot>
</field>
</record>
<record model="ir.actions.act_window" id="act_open_op_exam_attendees_view">
<field name="name">Exam Attendees</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">op.exam.attendees</field>
<field name="path">exam-attendees</field>
<field name="binding_view_types">form</field>
<field name="view_mode">list,form,pivot</field>
<field name="search_view_id" ref="view_op_exam_attendees_search"/>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_exam_attendees_view_form">
<field name="act_window_id" ref="act_open_op_exam_attendees_view"/>
<field name="sequence" eval="20"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_op_exam_attendees_form"/>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_exam_attendees_view_tree">
<field name="act_window_id" ref="act_open_op_exam_attendees_view"/>
<field name="sequence" eval="10"/>
<field name="view_mode">list</field>
<field name="view_id" ref="view_op_exam_attendees_tree"/>
</record>
</odoo>
@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_op_exam_room_tree" model="ir.ui.view">
<field name="name">op.exam.room.list</field>
<field name="model">op.exam.room</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<list string="Exam Room">
<field name="name"/>
<field name="classroom_id"/>
<field name="capacity"/>
</list>
</field>
</record>
<record id="view_op_exam_room_form" model="ir.ui.view">
<field name="name">op.exam.room.form</field>
<field name="model">op.exam.room</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Exam Room">
<header/>
<sheet>
<group>
<group>
<field name="name"/>
<field name="capacity"/>
</group>
<group>
<field name="classroom_id"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_op_exam_room_search" model="ir.ui.view">
<field name="name">op.exam.room.search</field>
<field name="model">op.exam.room</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<search string="Exam Room">
<field name="name"/>
<field name="classroom_id"/>
<field name="capacity"/>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="act_open_op_exam_room_view">
<field name="name">Exam Rooms</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">op.exam.room</field>
<field name="path">exam-room</field>
<field name="binding_view_types">form</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_op_exam_room_search"/>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_exam_room_view_form">
<field name="act_window_id" ref="act_open_op_exam_room_view"/>
<field name="sequence" eval="20"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_op_exam_room_form"/>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_exam_room_view_tree">
<field name="act_window_id" ref="act_open_op_exam_room_view"/>
<field name="sequence" eval="10"/>
<field name="view_mode">list</field>
<field name="view_id" ref="view_op_exam_room_tree"/>
</record>
</odoo>
@@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_op_exam_session_tree" model="ir.ui.view">
<field name="name">op.exam.session.list</field>
<field name="model">op.exam.session</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<list string="Exam Session">
<field name="name"/>
<field name="exam_code"/>
<field name="start_date"/>
<field name="end_date"/>
<field name="course_id" optional="show"/>
<field name="batch_id" optional="show"/>
<field name="exam_type" optional="show"/>
<field name="evaluation_type" optional="show"/>
<field name="venue" optional="show"/>
<field name="state"/>
</list>
</field>
</record>
<record id="view_op_exam_session_form" model="ir.ui.view">
<field name="name">op.exam.session.form</field>
<field name="model">op.exam.session</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Exam Session" >
<header groups="base.group_user">
<button name="act_draft" invisible="state not in ['held', 'schedule', 'cancel']" type="object"
string="Draft" class="oe_highlight"/>
<button name="act_schedule" invisible="state != 'draft'" type="object"
string="Schedule" class="oe_highlight"/>
<button name="act_held" invisible="state != 'schedule'" type="object"
string="Held" class="oe_highlight"/>
<button name="act_done" invisible="state not in ['schedule', 'held']" type="object"
string="Done" class="oe_highlight"/>
<button name="act_cancel" invisible="state not in ['schedule', 'held']" type="object"
string="Cancel"/>
<field name="state" widget="statusbar"
statusbar_visible="draft,held,scheduled,done"/>
</header>
<sheet>
<div name="button_box" class="oe_button_box">
<button name="get_exam" type="object" class="oe_stat_button" icon="fa-book" string="exam">
<field name="exams_count" widget="statinfo" />
</button>
</div>
<field name="active" invisible="1"/>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger"
invisible="active == True"/>
<group>
<group>
<field name="name" select="1" readonly="state in ['held', 'done', 'cancel']"/>
<field name="start_date" readonly="state in ['held', 'done', 'cancel']"/>
<field name="course_id" readonly="state in ['held', 'done', 'cancel']" />
<field name="exam_type" readonly="state in ['held', 'done', 'cancel']"/>
<field name="venue" domain="[('is_venue','=',True)]" required="1" readonly="state in ['held', 'done', 'cancel']"/>
</group>
<group>
<field name="exam_code" readonly="state in ['held', 'done', 'cancel']"/>
<field name="end_date" readonly="state in ['held', 'done', 'cancel']"/>
<field name="batch_id" context="{'course_id': course_id,'get_parent_batch':1}" readonly="state in ['held', 'done', 'cancel']"/>
<field name="evaluation_type" readonly="state in ['held', 'done', 'cancel']"/>
</group>
</group>
</sheet>
<chatter/>
</form>
</field>
</record>
<record id="view_op_exam_session_search" model="ir.ui.view">
<field name="name">op.exam.session.search</field>
<field name="model">op.exam.session</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<search string="Exam Session">
<field name="name" select="True"/>
<field name="exam_code" select="True"/>
<field name="start_date" select="True"/>
<field name="end_date" select="True"/>
<field name="course_id" select="True"/>
<field name="batch_id" select="True"/>
<field name="venue"/>
<filter string="Archived" name="inactive"
domain="[('active', '=', False)]"/>
</search>
</field>
</record>
<record model="ir.ui.view" id="view_op_exam_session_pivot">
<field name="name">op.exam.session.pivot</field>
<field name="model">op.exam.session</field>
<field name="arch" type="xml">
<pivot string="Exam Session Pivot">
<field name="name" type="row"/>
<field name="exam_code" string="exam Code"/>
<field name="course_id" string="Course"/>
<field name="batch_id" string="Batch"/>
<field name="state" type="col"/>
</pivot>
</field>
</record>
<record id="view_op_exam_session_calendar_view" model="ir.ui.view">
<field name="name">op.exam.session.calender.view</field>
<field name="model">op.exam.session</field>
<field name="arch" type="xml">
<calendar string="Exam Session" event_open_popup="True"
date_start="start_date" date_stop="end_date" mode="month" quick_create="False"
color="name">
<field name="name"/>
<field name="course_id"/>
</calendar>
</field>
</record>
<record model="ir.actions.act_window" id="act_open_op_exam_session_view">
<field name="name">Exam Sessions</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">op.exam.session</field>
<field name="path">exam-session</field>
<field name="binding_view_types">form</field>
<field name="view_mode">list,form,calendar,pivot</field>
<field name="search_view_id" ref="view_op_exam_session_search"/>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_exam_session_view_form">
<field name="act_window_id" ref="act_open_op_exam_session_view"/>
<field name="sequence" eval="20"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_op_exam_session_form"/>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_exam_session_view_tree">
<field name="act_window_id" ref="act_open_op_exam_session_view"/>
<field name="sequence" eval="10"/>
<field name="view_mode">list</field>
<field name="view_id" ref="view_op_exam_session_tree"/>
</record>
</odoo>
@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_op_exam_type_tree" model="ir.ui.view">
<field name="name">op.exam.type.list</field>
<field name="model">op.exam.type</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<list string="Exam Type">
<field name="name"/>
<field name="code"/>
</list>
</field>
</record>
<record id="view_op_exam_type_form" model="ir.ui.view">
<field name="name">op.exam.type.form</field>
<field name="model">op.exam.type</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Exam Type">
<header/>
<sheet>
<group>
<group col="4" colspan="4">
<field name="name"/>
<field name="code"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_op_exam_type_search" model="ir.ui.view">
<field name="name">op.exam.type.search</field>
<field name="model">op.exam.type</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<search string="Exam Type">
<field name="name"/>
<field name="code"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Name" name="group_by_exam_type_code"
domain="[]" context="{'group_by':'name'}"/>
<filter string="Code" name="group_by_exam_code"
domain="[]" context="{'group_by':'code'}"/>
</group>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="act_open_op_exam_type_view">
<field name="name">Exam Types</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">op.exam.type</field>
<field name="path">exam-type</field>
<field name="binding_view_types">form</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_op_exam_type_search"/>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_exam_type_view_form">
<field name="act_window_id" ref="act_open_op_exam_type_view"/>
<field name="sequence" eval="20"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_op_exam_type_form"/>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_exam_type_view_tree">
<field name="act_window_id" ref="act_open_op_exam_type_view"/>
<field name="sequence" eval="10"/>
<field name="view_mode">list</field>
<field name="view_id" ref="view_op_exam_type_tree"/>
</record>
</odoo>
+160
View File
@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_op_exam_tree" model="ir.ui.view">
<field name="name">op.exam.list</field>
<field name="model">op.exam</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<list string="Exam">
<field name="session_id"/>
<field name="name"/>
<field name="subject_id"/>
<field name="exam_code"/>
<field name="start_time"/>
<field name="end_time"/>
<field name="state"/>
<field name="note" optional="hide"/>
<field name="total_marks" optional="show"/>
<field name="min_marks" optional="show"/>
</list>
</field>
</record>
<record id="view_op_exam_form" model="ir.ui.view">
<field name="name">op.exam.form</field>
<field name="model">op.exam</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Exam">
<header groups="base.group_user">
<button name="%(act_open_op_room_distribution_view)d" invisible="state != 'draft'" type="action"
string="Schedule Exam" class="oe_highlight"/>
<button name="%(act_open_op_held_exam_view)d" invisible="state != 'schedule'" type="action"
string="Held Exam" class="oe_highlight"/>
<button name="act_done" invisible="state != 'result_updated'" type="object" string="Done"
class="oe_highlight"/>
<button name="act_draft" invisible="state != 'cancel'" type="object" string="Draft" class="oe_highlight"/>
<button string="Result Updated" class="oe_highlight" invisible="state != 'held'" type="object"
name="act_result_updated"/>
<button name="act_cancel" invisible="state not in ['draft', 'held', 'schedule']" type="object" string="Cancel"/>
<field name="state" widget="statusbar"
statusbar_visible="draft,held,scheduled,result_updated,done"/>
</header>
<sheet>
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button"
name="open_exam_attendees" type="object"
icon="fa-user-circle" string="Attendees">
<field string="Attendees" name="attendees_count" widget="statinfo"/>
</button>
</div>
<field name="active" invisible="1"/>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger"
invisible = "active == True"/>
<h1><field name="name" readonly="state in ['held', 'done', 'cancel']" placeholder="Exam Name "/></h1>
<group>
<group>
<field name="session_id" required="1" readonly="state in ['held', 'done', 'cancel']"/>
<field name="exam_code" readonly="state in ['held', 'done', 'cancel']"/>
<field name="total_marks" readonly="state in ['held', 'done', 'cancel']"/>
<field name="subject_id" readonly="state in ['held', 'done', 'cancel']"/>
</group>
<group>
<field name="start_time" readonly="state in ['held', 'done', 'cancel']"/>
<field name="end_time" readonly="state in ['held', 'done', 'cancel']"/>
<field name="min_marks" readonly="state in ['held', 'done', 'cancel']"/>
</group>
</group>
<separator colspan="2" string="Description"/>
<field name="note" colspan="2"/>
</sheet>
<chatter/>
</form>
</field>
</record>
<record id="view_op_exam_search" model="ir.ui.view">
<field name="name">op.exam.search</field>
<field name="model">op.exam</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<search string="Exam">
<field name="session_id"/>
<field name="name"/>
<field name="subject_id"/>
<field name="exam_code"/>
<field name="start_time"/>
<field name="end_time"/>
<field name="state"/>
<field name="note"/>
<field name="total_marks"/>
<field name="min_marks"/>
<filter string="Archived" name="inactive"
domain="[('active', '=', False)]"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Subject" name="group_by_exam_subject_id"
domain="[]" context="{'group_by':'subject_id'}"/>
<filter string="Exam Code" name="group_by_exam_code"
domain="[]" context="{'group_by':'exam_code'}"/>
<filter string="State" name="group_by_exam_state"
domain="[]" context="{'group_by':'state'}"/>
<filter string="Exam" name="group_by_exam_name"
domain="[]" context="{'group_by':'name'}"/>
</group>
</search>
</field>
</record>
<record model="ir.ui.view" id="view_op_exam_pivot">
<field name="name">op.exam.pivot</field>
<field name="model">op.exam</field>
<field name="arch" type="xml">
<pivot string="Exam Pivot">
<field name="subject_id" type="row"/>
<field name="state" type="col"/>
</pivot>
</field>
</record>
<record id="view_op_exam_calendar_view" model="ir.ui.view">
<field name="name">op.exam.calender.view</field>
<field name="model">op.exam</field>
<field name="arch" type="xml">
<calendar string="Exam" event_open_popup="True"
date_start="start_time" date_stop="end_time" mode="month" quick_create="False"
color="subject_id">
<field name="name"/>
<field name="course_id"/>
<field name="subject_id"/>
</calendar>
</field>
</record>
<record model="ir.actions.act_window" id="act_open_op_exam_view">
<field name="name">Exams</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">op.exam</field>
<field name="path">exam</field>
<field name="binding_view_types">form</field>
<field name="view_mode">list,form,calendar,pivot</field>
<field name="search_view_id" ref="view_op_exam_search"/>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_exam_view_form">
<field name="act_window_id" ref="act_open_op_exam_view"/>
<field name="sequence" eval="20"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_op_exam_form"/>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_exam_view_tree">
<field name="act_window_id" ref="act_open_op_exam_view"/>
<field name="sequence" eval="10"/>
<field name="view_mode">list</field>
<field name="view_id" ref="view_op_exam_tree"/>
</record>
</odoo>
@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_op_grade_configuration_tree" model="ir.ui.view">
<field name="name">op.grade.configuration.list</field>
<field name="model">op.grade.configuration</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<list string="Grade Configuration">
<field name="min_per"/>
<field name="max_per"/>
<field name="result"/>
</list>
</field>
</record>
<record id="view_op_grade_configuration_form" model="ir.ui.view">
<field name="name">op.grade.configuration.form</field>
<field name="model">op.grade.configuration</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Grade Configuration">
<header/>
<sheet>
<group>
<group>
<field name="min_per"/>
<field name="result"/>
</group>
<group>
<field name="max_per"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.actions.act_window" id="act_open_op_grade_configuration_view">
<field name="name">Grade Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">op.grade.configuration</field>
<field name="path">grade-configuration</field>
<field name="binding_view_types">form</field>
<field name="view_mode">list,form</field>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_grade_configuration_view_form">
<field name="act_window_id" ref="act_open_op_grade_configuration_view"/>
<field name="sequence" eval="20"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_op_grade_configuration_form"/>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_grade_configuration_view_tree">
<field name="act_window_id" ref="act_open_op_grade_configuration_view"/>
<field name="sequence" eval="10"/>
<field name="view_mode">list</field>
<field name="view_id" ref="view_op_grade_configuration_tree"/>
</record>
</odoo>
@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_op_marksheet_line_tree" model="ir.ui.view">
<field name="name">op.marksheet.line.list</field>
<field name="model">op.marksheet.line</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<list string="Marksheet Line">
<field name="student_id"/>
<field name="total_marks"/>
<field name="percentage"/>
<field name="grade" invisible="evaluation_type != 'grade'"/>
<field name="status"/>
<field name="evaluation_type"/>
</list>
</field>
</record>
<record id="view_op_marksheet_line_form" model="ir.ui.view">
<field name="name">op.marksheet.line.form</field>
<field name="model">op.marksheet.line</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Marksheet Line">
<header/>
<sheet>
<field name="active" invisible="1"/>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger"
invisible="active == True"/>
<group>
<group>
<field name="student_id"/>
<field name="total_marks"/>
<field name="grade" invisible="evaluation_type != 'grade'"/>
</group>
<group>
<field name="status"/>
<field name="percentage"/>
<field name="evaluation_type"/>
</group>
</group>
<group string="Results">
<field name="result_line" colspan='2' nolabel="1"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_op_marksheet_line_search" model="ir.ui.view">
<field name="name">op.marksheet.line.search</field>
<field name="model">op.marksheet.line</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<search string="Marksheet Line">
<field name="marksheet_reg_id"/>
<field name="student_id"/>
<field name="total_marks"/>
<field name="percentage"/>
<filter string="Archived" name="inactive"
domain="[('active', '=', False)]"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Marksheet Register" name="group_by_marksheet_line_register"
domain="[]" context="{'group_by':'marksheet_reg_id'}"/>
<filter string="Student" name="group_by_marksheet_line_student"
domain="[]" context="{'group_by':'student_id'}"/>
</group>
</search>
</field>
</record>
<record model="ir.ui.view" id="view_op_marksheet_line_pivot">
<field name="name">op.marksheet.line.pivot</field>
<field name="model">op.marksheet.line</field>
<field name="arch" type="xml">
<pivot string="Marksheet Pivot">
<field name="student_id" type="row"/>
<field name="status" type="col"/>
<field name="percentage" type="measure"/>
</pivot>
</field>
</record>
<record model="ir.actions.act_window" id="act_open_op_marksheet_line_view">
<field name="name">Marksheet Lines</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">op.marksheet.line</field>
<field name="path">marksheet-line</field>
<field name="binding_view_types">form</field>
<field name="view_mode">list,form,pivot</field>
<field name="search_view_id" ref="view_op_marksheet_line_search"/>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_marksheet_line_view_form">
<field name="act_window_id" ref="act_open_op_marksheet_line_view"/>
<field name="sequence" eval="20"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_op_marksheet_line_form"/>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_marksheet_line_view_tree">
<field name="act_window_id" ref="act_open_op_marksheet_line_view"/>
<field name="sequence" eval="10"/>
<field name="view_mode">list</field>
<field name="view_id" ref="view_op_marksheet_line_tree"/>
</record>
</odoo>
@@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_op_marksheet_register_tree" model="ir.ui.view">
<field name="name">op.marksheet.register.list</field>
<field name="model">op.marksheet.register</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<list string="Marksheet Register">
<field name="exam_session_id"/>
<field name="generated_date"/>
<field name="generated_by"/>
<field name="state"/>
<field name="total_pass"/>
<field name="total_failed"/>
<field name="name"/>
</list>
</field>
</record>
<record id="view_op_marksheet_register_form" model="ir.ui.view">
<field name="name">op.marksheet.register.form</field>
<field name="model">op.marksheet.register</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Marksheet Register">
<header groups="openeducat_exam.group_op_exam_admin">
<button name="action_validate" invisible="state != 'draft'" string="Validate Marksheet" type="object"
class="oe_highlight"/>
<button name="act_draft" invisible="state != 'cancelled'" string="Set to Draft" type="object"/>
<button name="act_cancel" invisible="state != 'draft'" type="object" string="Cancel"/>
<field name="state" widget="statusbar" statusbar_visible="draft,validated,cancelled"/>
</header>
<sheet>
<field name="active" invisible="1"/>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger"
invisible="active == True"/>
<group>
<group>
<field name="name"/>
<field name="generated_by"/>
<field name="total_pass"/>
<field name="result_template_id"/>
</group>
<group>
<field name="exam_session_id"/>
<field name="generated_date"/>
<field name="total_failed"/>
</group>
</group>
<separator string="Marksheets" colspan="4"/>
<group colspan="4">
<field name="marksheet_line" colspan="2" nolabel="1"/>
</group>
</sheet>
<chatter/>
</form>
</field>
</record>
<record id="view_op_marksheet_register_search" model="ir.ui.view">
<field name="name">op.marksheet.register.search</field>
<field name="model">op.marksheet.register</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<search string="Marksheet Register">
<field name="exam_session_id"/>
<field name="generated_date"/>
<field name="generated_by"/>
<field name="state"/>
<field name="total_pass"/>
<field name="total_failed"/>
<field name="name"/>
<filter string="Archived" name="inactive"
domain="[('active', '=', False)]"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Exam Session"
name="group_by_marksheet_register_exam_session"
domain="[]" context="{'group_by':'exam_session_id'}"/>
<filter string="Generated By"
name="group_by_marksheet_register_generated_by"
domain="[]" context="{'group_by':'generated_by'}"/>
<filter string="Status"
name="group_by_marksheet_register_generated_by"
domain="[]" context="{'group_by':'state'}"/>
<filter string="Total Pass"
name="group_by_marksheet_register_total_pass"
domain="[]" context="{'group_by':'total_pass'}"/>
<filter string="Total Fail"
name="group_by_marksheet_register_total_failed"
domain="[]" context="{'group_by':'total_failed'}"/>
<filter string="Marksheet Register"
name="group_by_marksheet_register_name"
domain="[]" context="{'group_by':'name'}"/>
</group>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="act_open_op_marksheet_register_view">
<field name="name">Marksheet Registers</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">op.marksheet.register</field>
<field name="path">marksheet-register</field>
<field name="binding_view_types">form</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_op_marksheet_register_search"/>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_marksheet_register_view_form">
<field name="act_window_id" ref="act_open_op_marksheet_register_view"/>
<field name="sequence" eval="20"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_op_marksheet_register_form"/>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_marksheet_register_view_tree">
<field name="act_window_id" ref="act_open_op_marksheet_register_view"/>
<field name="sequence" eval="10"/>
<field name="view_mode">list</field>
<field name="view_id" ref="view_op_marksheet_register_tree"/>
</record>
</odoo>
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="exam_view_partner_form" model="ir.ui.view">
<field name="name">exam.res.partner.form</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//form/sheet/group" position="after">
<group col="4">
<field name="is_venue"/>
</group>
</xpath>
</field>
</record>
</odoo>
@@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_op_result_line_tree" model="ir.ui.view">
<field name="name">op.result.line.list</field>
<field name="model">op.result.line</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<list string="Result Line">
<field name="student_id"/>
<field name="exam_id"/>
<field name="marks"/>
<field name="grade" invisible="evaluation_type != 'grade'"/>
<field name="status"/>
<field name="evaluation_type" />
</list>
</field>
</record>
<record id="view_op_result_line_form" model="ir.ui.view">
<field name="name">op.result.line.form</field>
<field name="model">op.result.line</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Result Line">
<header/>
<sheet>
<group>
<group>
<field name="student_id"/>
<field name="marks"/>
<field name="grade" invisible="evaluation_type != 'grade'"/>
<field name="marksheet_line_id" invisible="1"/>
</group>
<group>
<field name="exam_id"/>
<field name="status"/>
<field name="evaluation_type" />
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_op_result_line_search" model="ir.ui.view">
<field name="name">op.result.line.search</field>
<field name="model">op.result.line</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<search string="Result Line">
<field name="marksheet_line_id"/>
<field name="exam_id"/>
<field name="marks"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Marksheet Line" name="group_by_result_line_marksheet_line"
domain="[]" context="{'group_by':'marksheet_line_id'}"/>
<filter string="Exam" name="group_by_result_line_exam"
domain="[]" context="{'group_by':'exam_id'}"/>
<filter string="Marks" name="group_by_result_line_marks"
domain="[]" context="{'group_by':'marks'}"/>
<filter string="Students" name="group_by_result_line_student"
domain="[]" context="{'group_by':'student_id'}"/>
<filter string="Status" name="group_by_result_line_status"
domain="[]" context="{'group_by':'status'}"/>
</group>
</search>
</field>
</record>
<record model="ir.ui.view" id="view_op_result_line_graph_view">
<field name="name">op.result.line.graph</field>
<field name="model">op.result.line</field>
<field name="arch" type="xml">
<graph string="Result Analysis" stacked="0">
<field name="exam_id" type="row"/>
<field name="status" type="col"/>
</graph>
</field>
</record>
<record model="ir.actions.act_window" id="act_open_op_result_line_view">
<field name="name">Result Lines</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">op.result.line</field>
<field name="path">result-line</field>
<field name="binding_view_types">form</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_op_result_line_search"/>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_result_line_view_form">
<field name="act_window_id" ref="act_open_op_result_line_view"/>
<field name="sequence" eval="20"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_op_result_line_form"/>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_result_line_view_tree">
<field name="act_window_id" ref="act_open_op_result_line_view"/>
<field name="sequence" eval="10"/>
<field name="view_mode">list</field>
<field name="view_id" ref="view_op_result_line_tree"/>
</record>
<record id="act_open_op_result_line_view_graph" model="ir.actions.act_window">
<field name="name">Result Analysis</field>
<field name="res_model">op.result.line</field>
<field name="path">result-analysis</field>
<field name="view_mode">graph</field>
<field name="view_id" ref="view_op_result_line_graph_view"/>
</record>
</odoo>
@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_op_result_template_tree" model="ir.ui.view">
<field name="name">op.result.template.list</field>
<field name="model">op.result.template</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<list string="Result Template">
<field name="name"/>
<field name="exam_session_id"/>
<field name="result_date"/>
</list>
</field>
</record>
<record id="view_op_result_template_form" model="ir.ui.view">
<field name="name">op.result.template.form</field>
<field name="model">op.result.template</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<form string="Result Template">
<header groups="openeducat_exam.group_op_exam_admin">
<button string="Generate Result" type="object" invisible="state != 'draft'" name="generate_result"
class="oe_highlight"/>
<field name="state" widget="statusbar" statusbar_visible="draft,result_generated"/>
</header>
<sheet>
<field name="active" invisible="1"/>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger"
invisible="active == True"/>
<group>
<group>
<field name="name" select="1"/>
<field name="exam_session_id"/>
</group>
<group>
<field name="result_date"/>
<field name="evaluation_type"/>
</group>
</group>
<separator string="Grades" colspan="4"
invisible="evaluation_type != 'grade'"/>
<field name="grade_ids" colspan="4" nolabel="1"
invisible="evaluation_type != 'grade'" required="evaluation_type != 'grade'"/>
</sheet>
<chatter/>
</form>
</field>
</record>
<record id="view_op_result_template_search" model="ir.ui.view">
<field name="name">op.result.template.search</field>
<field name="model">op.result.template</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<search string="Result Template">
<field name="name" select="True"/>
<field name="exam_session_id"/>
<field name="result_date" select="True"/>
<filter string="Archived" name="inactive"
domain="[('active', '=', False)]"/>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="act_open_op_result_template_view">
<field name="name">Result Templates</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">op.result.template</field>
<field name="path">result-template</field>
<field name="binding_view_types">form</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_op_result_template_search"/>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_result_template_view_form">
<field name="act_window_id" ref="act_open_op_result_template_view"/>
<field name="sequence" eval="20"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_op_result_template_form"/>
</record>
<record model="ir.actions.act_window.view" id="act_open_op_result_template_view_tree">
<field name="act_window_id" ref="act_open_op_result_template_view"/>
<field name="sequence" eval="10"/>
<field name="view_mode">list</field>
<field name="view_id" ref="view_op_result_template_tree"/>
</record>
</odoo>

Some files were not shown because too many files have changed in this diff Show More