Init move to BS3.

This commit is contained in:
Martin Edenhofer 2013-07-30 15:58:33 +02:00
parent ad9b4eee5d
commit a062370869
86 changed files with 4536 additions and 5104 deletions

View file

@ -426,7 +426,7 @@ class App.ControllerContent extends App.Controller
$('#content_permanent').hide()
class App.ControllerModal extends App.Controller
className: 'modal hide fade',
className: 'modal fade',
tag: 'div',
events:
@ -476,8 +476,8 @@ class App.ControllerModal extends App.Controller
@el.bind('hidden', =>
# navigate back to home page
if @pageData && @pageData.home
@navigate @pageData.home
# if @pageData && @pageData.home
# @navigate @pageData.home
# navigate back
if params && params.navigateBack

View file

@ -362,10 +362,10 @@ class App.ControllerForm extends App.Controller
params:
form_id: @form_id
text:
uploadButton: '<i class="icon-attachment"></i>'
uploadButton: '<i class="glyphicon glyphicon-upload"></i>'
template: '<div class="qq-uploader">' +
'<pre class="btn qq-upload-icon qq-upload-drop-area"><span>{dragZoneText}</span></pre>' +
'<div class="btn qq-upload-icon qq-upload-button pull-right" style="">{uploadButtonText}</div>' +
'<div class="btn btn-default qq-upload-icon2 qq-upload-button pull-right" style="">{uploadButtonText}</div>' +
'<ul class="qq-upload-list span5" style="margin-top: 10px;"></ul>' +
'</div>',
classes:
@ -1051,14 +1051,14 @@ class App.ControllerForm extends App.Controller
if !_.isArray(name)
name = [name]
for key in name
el.find('[name="' + key + '"]').parents('.control-group').removeClass('hide')
el.find('[name="' + key + '"]').parents('.form-group').removeClass('hide')
el.find('[name="' + key + '"]').removeClass('is-hidden')
_hide: (name, el = @el) ->
if !_.isArray(name)
name = [name]
for key in name
el.find('[name="' + key + '"]').parents('.control-group').addClass('hide')
el.find('[name="' + key + '"]').parents('.form-group').addClass('hide')
el.find('[name="' + key + '"]').addClass('is-hidden')
# sort attribute.options
@ -1347,18 +1347,18 @@ class App.ControllerForm extends App.Controller
@validate: (data) ->
# remove all errors
$(data.form).parents().find('.error').removeClass('error')
$(data.form).parents().find('.has-error').removeClass('has-error')
$(data.form).parents().find('.help-inline').html('')
# show new errors
for key, msg of data.errors
$(data.form).parents().find('[name*="' + key + '"]').parents('div .control-group').addClass('error')
$(data.form).parents().find('[name*="' + key + '"]').parents('div .form-group').addClass('has-error')
$(data.form).parents().find('[name*="' + key + '"]').parent().find('.help-inline').html(msg)
# set autofocus
$(data.form).parents().find('.error').find('input, textarea').first().focus()
$(data.form).parents().find('.has-error').find('input, textarea').first().focus()
# # enable form again
# if $(data.form).parents().find('.error').html()
# if $(data.form).parents().find('.has-error').html()
# @formEnable(data.form)

View file

@ -1,7 +1,4 @@
class App.ChannelFacebook extends App.Controller
events:
'click [data-toggle="tabnav"]': 'toggle',
constructor: ->
super

View file

@ -1,7 +1,4 @@
class App.ChannelTwitter extends App.Controller
events:
'click [data-toggle="tabnav"]': 'toggle',
constructor: ->
super
@ -9,8 +6,6 @@ class App.ChannelTwitter extends App.Controller
@render()
render: ->
@html App.view('channel/twitter')(
head: 'some header'
)

View file

@ -10,4 +10,4 @@ class App.ChannelWeb extends App.ControllerTabs
},
]
@render()
@render()

View file

@ -9,6 +9,5 @@ App.Config.set( 'User', {
role: [ 'Agent', 'Customer' ]
}, 'NavBarRight' )
App.Config.set( 'Admin', { prio: 10000, parent: '', name: 'Manage', target: '#admin', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Setting', { prio: 20000, parent: '', name: 'Settings', target: '#settings', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Admin', { prio: 10000, parent: '', name: 'Admin', target: '#manage', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Misc', { prio: 90000, parent: '', name: 'Tools', target: '#tools', child: true }, 'NavBar' )

View file

@ -1,30 +1,13 @@
class Index extends App.ControllerLevel2
# toggleable: true
toggleable: false
#App.Config.set( 'channels/:target', Index, 'Routes' )
#App.Config.set( 'channels', Index, 'Routes' )
menu: [
{ name: 'Web', target: 'web', controller: App.ChannelWeb },
{ name: 'Mail', target: 'email', controller: App.ChannelEmail },
{ name: 'Chat', target: 'chat', controller: App.ChannelChat },
{ name: 'Twitter', target: 'twitter', controller: App.ChannelTwitter },
{ name: 'Facebook', target: 'facebook', controller: App.ChannelFacebook },
]
page: {
title: 'Channels',
head: 'Channels',
sub_title: 'Management'
nav: '#channels',
}
#App.Config.set( 'Channels', { prio: 2500, name: 'Channels', target: '#channels', role: ['Admin'] }, 'NavBarLevel4' )
constructor: ->
super
#App.Config.set( 'Channels', { prio: 2500, parent: '#admin', name: 'Channels', target: '#channels', role: ['Admin'] }, 'NavBar' )
return if !@authenticate()
App.Config.set( 'Web', { prio: 1000, name: 'Web', parent: '#channels', target: '#channels/web', controller: App.ChannelWeb, role: ['Admin'] }, 'NavBarLevel44' )
App.Config.set( 'Email', { prio: 2000, name: 'Email', parent: '#channels', target: '#channels/email', controller: App.ChannelEmail, role: ['Admin'] }, 'NavBarLevel44' )
App.Config.set( 'Chat', { prio: 3000, name: 'Chat', parent: '#channels', target: '#channels/chat', controller: App.ChannelChat, role: ['Admin'] }, 'NavBarLevel44' )
App.Config.set( 'Twitter', { prio: 4000, name: 'Twitter', parent: '#channels', target: '#channels/twitter', controller: App.ChannelTwitter, role: ['Admin'] }, 'NavBarLevel44' )
App.Config.set( 'Facebook', { prio: 5000, name: 'Facebook', parent: '#channels', target: '#channels/facebook', controller: App.ChannelFacebook, role: ['Admin'] }, 'NavBarLevel44' )
# render page
@render()
App.Config.set( 'channels/:target', Index, 'Routes' )
App.Config.set( 'channels', Index, 'Routes' )
App.Config.set( 'Channels', { prio: 2500, parent: '#admin', name: 'Channels', target: '#channels', role: ['Admin'] }, 'NavBar' )

View file

@ -130,6 +130,7 @@ class App.ChatWidget extends App.Controller
'chat-message-new'
)
@el.find('#chat_content').show(100)
@el.find('#chat_content').removeClass('hide')
@newMessage = false
# hide
@ -142,6 +143,7 @@ class App.ChatWidget extends App.Controller
hide: =>
@isShown = false
@el.find('#chat_content').hide(100)
@el.find('#chat_content').addClass('hide')
@el.find('#chat_toogle').html('&diams;');
focusIn: =>

View file

@ -1,6 +1,4 @@
class App.Footer extends App.Controller
className: 'container'
constructor: ->
super
@render()
@ -12,4 +10,4 @@ class App.Footer extends App.Controller
render: () ->
@html App.view('footer')()
App.Config.set( 'footer', App.Footer, 'Footers' )
#App.Config.set( 'footer', App.Footer, 'Footers' )

View file

@ -24,6 +24,8 @@ class Index extends App.ControllerContent
},
)
App.Config.set( 'groups', Index, 'Routes' )
#App.Config.set( 'groups', Index, 'Routes' )
#App.Config.set( 'Group', { prio: 1500, parent: '#admin', name: 'Groups', target: '#groups', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Group', { prio: 1500, name: 'Groups', parent: '#manage', target: '#manage/groups', controller: Index, role: ['Admin'] }, 'NavBarLevel44' )
App.Config.set( 'Group', { prio: 1500, parent: '#admin', name: 'Groups', target: '#groups', role: ['Admin'] }, 'NavBar' )

View file

@ -1,4 +1,4 @@
class App.Maintenance extends App.ControllerContent
class Index extends App.ControllerContent
events:
'submit form': 'sendMessage'
@ -23,5 +23,5 @@ class App.Maintenance extends App.ControllerContent
)
@render()
App.Config.set( 'maintenance', App.Maintenance, 'Routes' )
App.Config.set( 'maintenance', { prio: 3600, parent: '#admin', name: 'Maintenance Message', target: '#maintenance', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Maintenance', { prio: 3600, name: 'Maintenances', parent: '#system', target: '#system/maintenances', controller: Index, role: ['Admin'] }, 'NavBarLevel44' )

View file

@ -0,0 +1,76 @@
class IndexRouter extends App.Controller
constructor: (params) ->
super
# get groups
groups = App.Config.get('NavBarLevel4')
groupsUnsorted = []
for key, value of groups
groupsUnsorted.push value
@groupsSorted = _.sortBy( groupsUnsorted, (item) -> return item.prio )
# get items of group
for group in @groupsSorted
items = App.Config.get('NavBarLevel44')
itemsUnsorted = []
for key, value of items
if value.parent is group.target
itemsUnsorted.push value
group.items = _.sortBy( itemsUnsorted, (item) -> return item.prio )
# set active item
selectedItem = undefined
for group in @groupsSorted
if group.items
for item in group.items
if !@target && !selectedItem
item.active = true
selectedItem = item
else if @target && item.target is '#manage/' + @target
item.active = true
selectedItem = item
else if @target && item.target is '#settings/' + @target
item.active = true
selectedItem = item
else if @target && item.target is '#channels/' + @target
item.active = true
selectedItem = item
else if @target && item.target is '#system/' + @target
item.active = true
selectedItem = item
else
item.active = false
@render(selectedItem)
if selectedItem
new selectedItem.controller(
el: @el.find('.main')
)
render: (selectedItem) ->
if !$('.nav-manage')[0]
@html App.view('generic/navbar_l2')(
groups: @groupsSorted
className: 'nav-manage'
)
if selectedItem
@el.find('li').removeClass('active')
@el.find('a[href="' + selectedItem.target + '"]').parent().addClass('active')
App.Config.set( 'manage', IndexRouter, 'Routes' )
App.Config.set( 'manage/:target', IndexRouter, 'Routes' )
App.Config.set( 'settings/:target', IndexRouter, 'Routes' )
App.Config.set( 'channels/:target', IndexRouter, 'Routes' )
App.Config.set( 'system/:target', IndexRouter, 'Routes' )
App.Config.set( 'Manage', { prio: 1000, name: 'Manage', target: '#manage', role: ['Admin'] }, 'NavBarLevel4' )
App.Config.set( 'Channels', { prio: 2500, name: 'Channels', target: '#channels', role: ['Admin'] }, 'NavBarLevel4' )
App.Config.set( 'Settings', { prio: 7000, name: 'Settings', target: '#settings', role: ['Admin'] }, 'NavBarLevel4' )
App.Config.set( 'System', { prio: 8000, name: 'System', target: '#system', role: ['Admin'] }, 'NavBarLevel4' )

View file

@ -66,13 +66,13 @@ class App.Navigation extends App.Controller
)
# start ticket popups
@ticketPopups('right')
@ticketPopups('left')
# start user popups
@userPopups('right')
@userPopups('left')
# start oorganization popups
@organizationPopups('right')
@organizationPopups('left')
# set focus to search box
if @searchFocus
@ -279,8 +279,8 @@ class App.Navigation extends App.Controller
@el.find("[href=\"#{url}\"]").parents('li').addClass('active')
ticket_overview_build: (data) =>
App.Store.write( 'navupdate_ticket_overview', data )
return
# remove old views
NavBar = @Config.get( 'NavBar' ) || {}

View file

@ -1,10 +1,10 @@
class Index extends App.ControllerContent
constructor: ->
super
# check authentication
return if !@authenticate()
new App.ControllerGenericIndex(
el: @el,
id: @id,
@ -24,7 +24,8 @@ class Index extends App.ControllerContent
},
)
App.Config.set( 'organizations', Index, 'Routes' )
#App.Config.set( 'organizations', Index, 'Routes' )
#App.Config.set( 'Organization', { prio: 2000, parent: '#admin', name: 'Organizations', target: '#organizations', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Organization', { prio: 2000, parent: '#admin', name: 'Organizations', target: '#organizations', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Organization', { prio: 2000, name: 'Organizations', parent: '#manage', target: '#manage/organizations', controller: Index, role: ['Admin'] }, 'NavBarLevel44' )

View file

@ -1,10 +1,10 @@
class Index extends App.ControllerContent
constructor: ->
super
# check authentication
return if !@authenticate()
new App.ControllerGenericIndex(
el: @el,
id: @id,
@ -24,6 +24,8 @@ class Index extends App.ControllerContent
},
)
App.Config.set( 'overviews', Index, 'Routes' )
App.Config.set( 'Overview', { prio: 2300, parent: '#admin', name: 'Overviews', target: '#overviews', role: ['Admin'] }, 'NavBar' )
#App.Config.set( 'overviews', Index, 'Routes' )
#App.Config.set( 'Overview', { prio: 2300, parent: '#admin', name: 'Overviews', target: '#overviews', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Overview', { prio: 2300, name: 'Overviews', parent: '#manage', target: '#manage/overviews', controller: Index, role: ['Admin'] }, 'NavBarLevel44' )

View file

@ -58,5 +58,5 @@ class Index extends App.ControllerContent
@load()
)
App.Config.set( 'package', Index, 'Routes' )
App.Config.set( 'Packages', { prio: 1800, parent: '#settings', name: 'Packages', target: '#package', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Packages', { prio: 1000, name: 'Packages', parent: '#system', target: '#system/package', controller: Index, role: ['Admin'] }, 'NavBarLevel44' )

View file

@ -13,11 +13,13 @@ class Index extends App.ControllerContent
@render()
render: ->
@html App.view('scheduler')(
head: 'some header'
)
App.Config.set( 'scheduler', Index, 'Routes' )
#App.Config.set( 'scheduler', Index, 'Routes' )
#App.Config.set( 'Scheduler', { prio: 3500, parent: '#admin', name: 'Scheduler', target: '#scheduler', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Scheduler', { prio: 2000, name: 'Schedulers', parent: '#manage', target: '#manage/schedulers', controller: Index, role: ['Admin'] }, 'NavBarLevel44' )
App.Config.set( 'Scheduler', { prio: 3500, parent: '#admin', name: 'Scheduler', target: '#scheduler', role: ['Admin'] }, 'NavBar' )

View file

@ -1,4 +1,5 @@
class Session extends App.ControllerContent
class Index extends App.ControllerContent
divClass: 'lala'
events:
'click [data-type="delete"]': 'destroy'
@ -8,11 +9,11 @@ class Session extends App.ControllerContent
return if !@authenticate()
@load()
@interval(
=>
@load()
10000
)
# @interval(
# =>
# @load()
# 10000
# )
# fetch data, render view
load: ->
@ -51,5 +52,8 @@ class Session extends App.ControllerContent
)
App.Config.set( 'session', Session, 'Routes' )
App.Config.set( 'session', { prio: 3700, parent: '#admin', name: 'Sessions', target: '#session', role: ['Admin'] }, 'NavBar' )
#App.Config.set( 'session', Session, 'Routes' )
#App.Config.set( 'session', { prio: 3700, parent: '#admin', name: 'Sessions', target: '#session', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Session', { prio: 3700, name: 'Sessions', parent: '#system', target: '#system/sessions', controller: Index, role: ['Admin'] }, 'NavBarLevel44' )

View file

@ -1,78 +1,67 @@
class Index extends App.ControllerLevel2
toggleable: false
# toggleable: true
class System extends App.ControllerTabs
constructor: ->
super
return if !@authenticate()
# system
if @type is 'system'
@menu = [
{ name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'System::Base' } },
# { name: 'Language', 'target': 'language', controller: App.SettingsSystem, params: { area: 'System::Language' } },
# { name: 'Log', 'target': 'log', controller: App.SettingsSystem, params: { area: 'System::Log' } },
{ name: 'Storage', 'target': 'storage', controller: App.SettingsArea, params: { area: 'System::Storage' } },
]
@page = {
title: 'System',
head: 'System',
sub_title: 'Settings'
nav: '#settings/system',
}
# security
if @type is 'security'
@menu = [
{ name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'Security::Base' } },
# { name: 'Authentication', 'target': 'auth', controller: App.SettingsArea, params: { area: 'Security::Authentication' } },
{ name: 'Password', 'target': 'password', controller: App.SettingsArea, params: { area: 'Security::Password' } },
{ name: 'Third-Party Applications', 'target': 'third_party_auth', controller: App.SettingsArea, params: { area: 'Security::ThirdPartyAuthentication' } },
# { name: 'Session', 'target': 'session', controller: '' },
]
@page = {
title: 'Security',
head: 'Security',
sub_title: 'Settings'
nav: '#settings/security',
}
# import
if @type is 'import'
@menu = [
{ name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'Import::Base' } },
{ name: 'OTRS', 'target': 'otrs', controller: App.SettingsArea, params: { area: 'Import::OTRS' } },
]
@page = {
title: 'Import',
head: 'Import',
sub_title: 'System'
nav: '#settings/import',
}
# ticket
if @type is 'ticket'
@menu = [
{ name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'Ticket::Base' } },
{ name: 'Number', 'target': 'number', controller: App.SettingsArea, params: { area: 'Ticket::Number' } },
# { name: 'Sender Format', 'target': 'sender-format', controller: App.SettingsArea, params: { area: 'Ticket::SenderFormat' } },
]
@page = {
title: 'Ticket',
head: 'Ticket',
sub_title: 'Settings'
nav: '#settings/ticket',
}
@tabs = [
{ name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'System::Base' } },
# { name: 'Language', 'target': 'language', controller: App.SettingsSystem, params: { area: 'System::Language' } },
# { name: 'Log', 'target': 'log', controller: App.SettingsSystem, params: { area: 'System::Log' } },
{ name: 'Storage', 'target': 'storage', controller: App.SettingsArea, params: { area: 'System::Storage' } },
]
# render page
@render()
App.Config.set( 'settings/:type/:target', Index, 'Routes' )
App.Config.set( 'settings/:type', Index, 'Routes' )
class Security extends App.ControllerTabs
constructor: ->
super
App.Config.set( 'System', { prio: 1400, parent: '#settings', name: 'System', target: '#settings/system', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Security', { prio: 1500, parent: '#settings', name: 'Security', target: '#settings/security', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Import', { prio: 1550, parent: '#settings', name: 'Import', target: '#settings/import', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Ticket', { prio: 1600, parent: '#settings', name: 'Ticket', target: '#settings/ticket', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Object', { prio: 1700, parent: '#settings', name: 'Objects', target: '#settings/objects', role: ['Admin'] }, 'NavBar' )
return if !@authenticate()
@tabs = [
{ name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'Security::Base' } },
# { name: 'Authentication', 'target': 'auth', controller: App.SettingsArea, params: { area: 'Security::Authentication' } },
{ name: 'Password', 'target': 'password', controller: App.SettingsArea, params: { area: 'Security::Password' } },
{ name: 'Third-Party Applications', 'target': 'third_party_auth', controller: App.SettingsArea, params: { area: 'Security::ThirdPartyAuthentication' } },
# { name: 'Session', 'target': 'session', controller: '' },
]
@render()
class Import extends App.ControllerTabs
constructor: ->
super
return if !@authenticate()
# import
@tabs = [
{ name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'Import::Base' } },
{ name: 'OTRS', 'target': 'otrs', controller: App.SettingsArea, params: { area: 'Import::OTRS' } },
]
@render()
class Ticket extends App.ControllerTabs
constructor: ->
super
return if !@authenticate()
# ticket
@tabs = [
{ name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'Ticket::Base' } },
{ name: 'Number', 'target': 'number', controller: App.SettingsArea, params: { area: 'Ticket::Number' } },
# { name: 'Sender Format', 'target': 'sender-format', controller: App.SettingsArea, params: { area: 'Ticket::SenderFormat' } },
]
@render()
App.Config.set( 'System', { prio: 1400, parent: '#settings', name: 'System', target: '#settings/system', controller: System, role: ['Admin'] }, 'NavBarLevel44' )
App.Config.set( 'Security', { prio: 1500, parent: '#settings', name: 'Security', target: '#settings/security', controller: Security, role: ['Admin'] }, 'NavBarLevel44' )
App.Config.set( 'Import', { prio: 1550, parent: '#settings', name: 'Import', target: '#settings/import', controller: Import, role: ['Admin'] }, 'NavBarLevel44' )
App.Config.set( 'Ticket', { prio: 1600, parent: '#settings', name: 'Ticket', target: '#settings/ticket', controller: Ticket, role: ['Admin'] }, 'NavBarLevel44' )
#App.Config.set( 'Object', { prio: 1700, parent: '#settings', name: 'Objects', target: '#settings/objects', role: ['Admin'] }, 'NavBar' )

View file

@ -1,10 +1,10 @@
class Index extends App.ControllerContent
constructor: ->
super
# check authentication
return if !@authenticate()
new App.ControllerGenericIndex(
el: @el,
id: @id,
@ -24,6 +24,8 @@ class Index extends App.ControllerContent
},
)
App.Config.set( 'slas', Index, 'Routes' )
App.Config.set( 'Sla', { prio: 2900, parent: '#admin', name: 'SLAs', target: '#slas', role: ['Admin'] }, 'NavBar' )
#App.Config.set( 'slas', Index, 'Routes' )
#App.Config.set( 'Sla', { prio: 2900, parent: '#admin', name: 'SLAs', target: '#slas', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Sla', { prio: 2900, name: 'SLAs', target: '#manage/slas', controller: Index, role: ['Admin'] }, 'NavBarLevel2' )

View file

@ -54,6 +54,7 @@ class App.TemplateUI extends App.Controller
e.preventDefault()
# get params
form = @formParam( $('.ticket-create') )
params = @formParam(e.target)
name = params['template_name']
# delete params['template_name']
@ -62,10 +63,9 @@ class App.TemplateUI extends App.Controller
if !template
template = new App.Template
options = params
template.load(
name: params['template_name']
options: options
options: form
)
# validate form

View file

@ -1,10 +1,10 @@
class Index extends App.ControllerContent
constructor: ->
super
# check authentication
return if !@authenticate()
new App.ControllerGenericIndex(
el: @el,
id: @id,
@ -24,6 +24,8 @@ class Index extends App.ControllerContent
},
)
App.Config.set( 'text_modules', Index, 'Routes' )
App.Config.set( 'TextModule', { prio: 2300, parent: '#admin', name: 'Text Modules', target: '#text_modules', role: ['Admin'] }, 'NavBar' )
#App.Config.set( 'text_modules', Index, 'Routes' )
#App.Config.set( 'TextModule', { prio: 2300, parent: '#admin', name: 'Text Modules', target: '#text_modules', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'TextModule', { prio: 2300, name: 'TextModules', parent: '#manage', target: '#manage/text_modules', controller: Index, role: ['Admin'] }, 'NavBarLevel44' )

View file

@ -1,4 +1,29 @@
class Index extends App.ControllerContent
class Index extends App.Controller
constructor: ->
super
@render()
render: ->
@html App.view('agent_ticket_view')()
if !@view
cache = App.Store.get( 'navupdate_ticket_overview' )
if cache && cache[0]
@view = cache[0].link
new Navbar(
el: @el.find('.sidebar')
view: @view
)
new Table(
el: @el.find('.main')
view: @view
)
class Table extends App.ControllerContent
events:
'click [data-type=edit]': 'zoom'
'click [data-type=settings]': 'settings'
@ -131,7 +156,7 @@ class Index extends App.ControllerContent
]
if @isRole('Customer')
view_modes = []
html = App.view('agent_ticket_view')(
html = App.view('agent_ticket_view/content')(
overview: @overview
view_modes: view_modes
checkbox: checkbox
@ -140,6 +165,7 @@ class Index extends App.ControllerContent
html = $(html)
# html.find('li').removeClass('active')
# html.find("[data-id=\"#{@start_page}\"]").parents('li').addClass('active')
@html html
# create table/overview
@ -486,6 +512,39 @@ class Settings extends App.ControllerModal
)
@modalHide()
class Navbar extends App.Controller
constructor: ->
super
# rebuild ticket overview data
@bind 'navupdate_ticket_overview', (data) =>
if !_.isEmpty(data)
App.Store.write( 'navupdate_ticket_overview', data )
@render(data)
cache = App.Store.get( 'navupdate_ticket_overview' )
if cache
@render( cache )
else
@render( [] )
render: (dataOrig) ->
data = _.clone(dataOrig)
# add new views
for item in data
item.target = '#ticket_view/' + item.link
if item.link is @view
item.active = true
else
item.active = false
@html App.view('agent_ticket_view/navbar')(
items: data
)
class Router extends App.Controller
constructor: ->
super
@ -538,8 +597,9 @@ class Router extends App.Controller
else
@navigate 'ticket/zoom/' + @ticket_list[ @position - 1 ] + '/nav/true'
App.Config.set( 'ticket_view', Index, 'Routes' )
App.Config.set( 'ticket_view/:view', Index, 'Routes' )
App.Config.set( 'ticket_view/:view/:position/:direction', Router, 'Routes' )
#App.Config.set( 'ticket_view/:view/:position/:direction', Router, 'Routes' )
App.Config.set( 'TicketOverview', { prio: 1000, parent: '', name: 'Overviews', target: '#ticket_view', role: ['Agent', 'Customer'] }, 'NavBar' )
#App.Config.set( '', { prio: 1000, parent: '#ticket_view', name: 'My assigned Tickets (51)', target: '#ticket_view/my_assigned', role: ['Agent'] }

View file

@ -433,6 +433,7 @@ class Edit extends App.Controller
@log 'notice', 'form hash changed', diff, currentData
@el.find('.ticket-update').parent().addClass('form-changed')
@el.find('.ticket-update').parent().parent().find('.reset-message').show()
@el.find('.ticket-update').parent().parent().find('.reset-message').removeClass('hide')
App.TaskManager.update( @task_key, { 'state': currentData })
@interval( update, 1500, 'autosave' )

View file

@ -13,11 +13,13 @@ class Index extends App.ControllerContent
@render()
render: ->
@html App.view('trigger')(
head: 'some header'
)
App.Config.set( 'trigger', Index, 'Routes' )
#App.Config.set( 'trigger', Index, 'Routes' )
#App.Config.set( 'Trigger', { prio: 3000, parent: '#admin', name: 'Trigger', target: '#trigger', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'Trigger', { prio: 3000, name: 'Triggers', target: '#manage/triggers', controller: Index, role: ['Admin'] }, 'NavBarLevel2' )
App.Config.set( 'Trigger', { prio: 3000, parent: '#admin', name: 'Trigger', target: '#trigger', role: ['Admin'] }, 'NavBar' )

View file

@ -45,13 +45,14 @@ class App.UserInfo extends App.Controller
# insert data
@html App.view('user_info')(
user: user,
data: data,
user: user
data: data
)
@userTicketPopups(
selector: '.user-tickets',
user_id: user.id,
selector: '.user-tickets'
user_id: user.id
position: 'right'
)
# update changes

View file

@ -1,4 +1,4 @@
class Index extends App.ControllerContent
class Index extends App.Controller
constructor: ->
super
@ -6,26 +6,24 @@ class Index extends App.ControllerContent
return if !@authenticate()
new App.ControllerGenericIndex(
el: @el,
id: @id,
genericObject: 'User',
defaultSortBy: 'login',
ignoreObjectIDs: [1],
pageData: {
title: 'Users',
home: 'users',
object: 'User',
objects: 'Users',
navupdate: '#users',
el: @el
id: @id
genericObject: 'User'
defaultSortBy: 'login'
ignoreObjectIDs: [1]
pageData:
title: 'Users'
home: 'users'
object: 'User'
objects: 'Users'
navupdate: '#users'
notes: [
'Users are for any person in the system. Agents (Owners, Resposbiles, ...) and Customers.'
],
]
buttons: [
# { name: 'List', 'data-type': '', class: 'active' },
{ name: 'New User', 'data-type': 'new', class: 'primary' },
],
}
{ name: 'New User', 'data-type': 'new', class: 'primary' }
]
)
App.Config.set( 'users', Index, 'Routes' )
App.Config.set( 'User', { prio: 1000, parent: '#admin', name: 'Users', target: '#users', role: ['Admin'] }, 'NavBar' )
App.Config.set( 'User', { prio: 1000, name: 'Users', parent: '#manage', target: '#manage/users', controller: Index, role: ['Admin'] }, 'NavBarLevel44' )

View file

@ -47,7 +47,7 @@ class App.Run extends App.Controller
App.Event.trigger( event + ':ready')
class App.Content extends App.Controller
className: 'container'
className: 'content'
constructor: ->
super

View file

@ -156,7 +156,7 @@ class _taskManagerSingleton extends App.Controller
# create div for permanent content
if !$("#content_permanent")[0]
$('#app section').append('<div id="content_permanent" class="container"></div>')
$('#app section').append('<div id="content_permanent" class="content"></div>')
# empty static content if task is shown
if active

View file

@ -0,0 +1,241 @@
/* ========================================================================
* Bootstrap: modal.js v3.0.0
* http://twbs.github.com/bootstrap/javascript.html#modals
* ========================================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ======================================================================== */
+function ($) { "use strict";
// MODAL CLASS DEFINITION
// ======================
var Modal = function (element, options) {
this.options = options
this.$element = $(element).on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
this.$backdrop =
this.isShown = null
if (this.options.remote) this.$element.find('.modal-body').load(this.options.remote)
}
Modal.DEFAULTS = {
backdrop: true
, keyboard: true
, show: true
}
Modal.prototype.toggle = function () {
return this[!this.isShown ? 'show' : 'hide']()
}
Modal.prototype.show = function () {
var that = this
var e = $.Event('show.bs.modal')
this.$element.trigger(e)
if (this.isShown || e.isDefaultPrevented()) return
this.isShown = true
this.escape()
this.backdrop(function () {
var transition = $.support.transition && that.$element.hasClass('fade')
if (!that.$element.parent().length) {
that.$element.appendTo(document.body) // don't move modals dom position
}
that.$element.show()
if (transition) {
that.$element[0].offsetWidth // force reflow
}
that.$element
.addClass('in')
.attr('aria-hidden', false)
that.enforceFocus()
transition ?
that.$element
.one($.support.transition.end, function () {
that.$element.focus().trigger('shown.bs.modal')
})
.emulateTransitionEnd(300) :
that.$element.focus().trigger('shown.bs.modal')
})
}
Modal.prototype.hide = function (e) {
if (e) e.preventDefault()
e = $.Event('hide.bs.modal')
this.$element.trigger(e)
if (!this.isShown || e.isDefaultPrevented()) return
this.isShown = false
this.escape()
$(document).off('focusin.bs.modal')
this.$element
.removeClass('in')
.attr('aria-hidden', true)
$.support.transition && this.$element.hasClass('fade') ?
this.$element
.one($.support.transition.end, $.proxy(this.hideModal, this))
.emulateTransitionEnd(300) :
this.hideModal()
}
Modal.prototype.enforceFocus = function () {
$(document)
.off('focusin.bs.modal') // guard against infinite focus loop
.on('focusin.bs.modal', $.proxy(function (e) {
if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
this.$element.focus()
}
}, this))
}
Modal.prototype.escape = function () {
if (this.isShown && this.options.keyboard) {
this.$element.on('keyup.dismiss.bs.modal', $.proxy(function (e) {
e.which == 27 && this.hide()
}, this))
} else if (!this.isShown) {
this.$element.off('keyup.dismiss.bs.modal')
}
}
Modal.prototype.hideModal = function () {
var that = this
this.$element.hide()
this.backdrop(function () {
that.removeBackdrop()
that.$element.trigger('hidden.bs.modal')
})
}
Modal.prototype.removeBackdrop = function () {
this.$backdrop && this.$backdrop.remove()
this.$backdrop = null
}
Modal.prototype.backdrop = function (callback) {
var that = this
var animate = this.$element.hasClass('fade') ? 'fade' : ''
if (this.isShown && this.options.backdrop) {
var doAnimate = $.support.transition && animate
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
.appendTo(document.body)
this.$element.on('click', $.proxy(function (e) {
if (e.target !== e.currentTarget) return
this.options.backdrop == 'static'
? this.$element[0].focus.call(this.$element[0])
: this.hide.call(this)
}, this))
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
this.$backdrop.addClass('in')
if (!callback) return
doAnimate ?
this.$backdrop
.one($.support.transition.end, callback)
.emulateTransitionEnd(150) :
callback()
} else if (!this.isShown && this.$backdrop) {
this.$backdrop.removeClass('in')
$.support.transition && this.$element.hasClass('fade')?
this.$backdrop
.one($.support.transition.end, callback)
.emulateTransitionEnd(150) :
callback()
} else if (callback) {
callback()
}
}
// MODAL PLUGIN DEFINITION
// =======================
var old = $.fn.modal
$.fn.modal = function (option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.modal')
var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
if (typeof option == 'string') data[option]()
else if (options.show) data.show()
})
}
$.fn.modal.Constructor = Modal
// MODAL NO CONFLICT
// =================
$.fn.modal.noConflict = function () {
$.fn.modal = old
return this
}
// MODAL DATA-API
// ==============
$(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
var $this = $(this)
var href = $this.attr('href')
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
var option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
e.preventDefault()
$target
.modal(option)
.one('hide', function () {
$this.is(':visible') && $this.focus()
})
})
var $body = $(document.body)
.on('shown.bs.modal', '.modal', function () { $body.addClass('modal-open') })
.on('hidden.bs.modal', '.modal', function () { $body.removeClass('modal-open') })
}(window.jQuery);

View file

@ -1,4 +1,4 @@
class App.Overview extends Spine.Model
class App.Overview extends App.Model
@configure 'Overview', 'name', 'link', 'prio', 'condition', 'order', 'group_by', 'view', 'user_id', 'organization_shared', 'role_id', 'order', 'group_by', 'active', 'updated_at'
@extend Spine.Model.Ajax
@url: 'api/overviews'
@ -11,7 +11,7 @@ class App.Overview extends Spine.Model
# { name: 'content', display: 'Content', tag: 'textarea', limit: 250, 'null': false, 'class': 'span4' },
{ name: 'condition', display: 'Conditions for shown Tickets', tag: 'ticket_attribute_selection', null: true, class: 'span4' },
{ name: 'prio', display: 'Prio', tag: 'input', type: 'text', limit: 10, 'null': false, 'class': 'span4' },
{
{
name: 'view::s'
display: 'Attributes'
tag: 'checkbox'
@ -60,7 +60,7 @@ class App.Overview extends Spine.Model
article_count: 'Article Count'
class: 'span4'
},
{
{
name: 'order::direction'
display: 'Direction'
tag: 'select'
@ -72,7 +72,7 @@ class App.Overview extends Spine.Model
DESC: 'down'
class: 'span4'
},
{
{
name: 'group_by'
display: 'Group by'
tag: 'select'

View file

@ -1,21 +1,26 @@
<div class="page-header">
<div class="row">
<div class="span12">
<h1 class="pull-left"><%- @T( 'New Ticket' ) %> <small>(<%- @T( @title ) %>)<% if @admin: %> <a href="#" data-type="settings" class="icon-edit"></a><% end %></small></h1>
</div>
</div>
</div>
<form class="form-horizontal ticket-create">
<input type="hidden" value="" name="article_type"/>
<div class="row">
<div class="span9 ticket_create"></div>
<div class="span3">
<div class="content-two">
<div class="sidebar">
<div class="ticket-action">
<div data-id="customer_info"></div>
<div data-id="ticket_template"></div>
<div data-id="text_module"></div>
</div>
</div>
<div class="form-actions">
<button type="reset" class="btn cancel"><%- @T( 'Cancel' ) %></button>&nbsp;<button type="submit" class="btn btn-primary submit"><%- @T( 'Create' ) %></button>
<div class="main">
<div class="page-header">
<h1><%- @T( 'New Ticket' ) %> <small>(<%- @T( @title ) %>)<% if @admin: %> <a href="#" data-type="settings" class="glyphicon glyphicon-edit"></a><% end %></small></h1>
</div>
<form class="form-horizontal form-large ticket-create">
<input type="hidden" value="" name="article_type"/>
<div class="span9 ticket_create"></div>
<div class="form-actions">
<button type="reset" class="btn cancel"><%- @T( 'Cancel' ) %></button>&nbsp;<button type="submit" class="btn btn-primary submit"><%- @T( 'Create' ) %></button>
</div>
</form>
</div>
</div>
</form>
</div>

View file

@ -1,10 +1,14 @@
<form class="form-horizontal">
<div class="modal-header">
<a href="#" class="close">&times;</a>
<h2><%- @T( 'Change Customer' ) %></h2>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<a href="#" class="close">&times;</a>
<h2 class="modal-title"><%- @T( 'Change Customer' ) %></h2>
</div>
<div class="modal-body" id="form-customer"></div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary"><%- @T( 'Submit' ) %></button>
</div>
</div>
</div>
<div class="modal-body" id="form-customer"></div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary"><%- @T( 'Submit' ) %></button>
</div>
</form>
</form>

View file

@ -1,9 +1,11 @@
<div class="modal-header">
<a href="#" class="close">&times;</a>
<h2><%- @T( 'History' ) %></h2>
<a href="#" data-type="sortorder" id="sortorder" class="<%= @state %>"><%- @T( 'Change order' ) %></a>
</div>
<div class="modal-body">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<a href="#" class="close">&times;</a>
<h2 class="modal-title"><%- @T( 'History' ) %></h2>
<a href="#" data-type="sortorder" id="sortorder" class="<%= @state %>"><%- @T( 'Change order' ) %></a>
</div>
<div class="modal-body">
<% open = false %>
<% for object in @objects: %>
@ -47,6 +49,9 @@
</ul>
<% end %>
</div>
<div class="modal-footer">
</div>
<div class="modal-footer">
</div>
</div>
</div>

View file

@ -1,19 +1,23 @@
<form class="form-horizontal">
<div class="modal-header">
<a href="#" class="close">&times;</a>
<h2><%- @T( 'Merge' ) %></h2>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<a href="#" class="close">&times;</a>
<h2 class="modal-title"><%- @T( 'Merge' ) %></h2>
</div>
<div class="modal-body">
<h4><%- @T( 'Merge to Ticket#' ) %></h4>
<input type="text" name="master_ticket_number" class="form-control" value=""/>
<hr>
<h4><%- @T( 'Recent Customer Tickets' ) %></h4>
<div id="ticket-merge-customer-tickets"></div>
<hr>
<h4><%- @T( 'Recent Views Tickets' ) %></h4>
<div id="ticket-merge-recent-tickets"></div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary"><%- @T( 'Submit' ) %></button>
</div>
</div>
</div>
<div class="modal-body">
<h4><%- @T( 'Merge to Ticket#' ) %></h4>
<input type="text" name="master_ticket_number" value=""/>
<hr>
<h4><%- @T( 'Recent Customer Tickets' ) %></h4>
<div id="ticket-merge-customer-tickets"></div>
<hr>
<h4><%- @T( 'Recent Views Tickets' ) %></h4>
<div id="ticket-merge-recent-tickets"></div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary"><%- @T( 'Submit' ) %></button>
</div>
</form>
</form>

View file

@ -1,43 +1,4 @@
<div class="page-header">
<div class="row">
<div class="span9">
<h1><%- @T( @overview.name ) %> <% if @edit: %><small><a href="#" data-type="settings" class="icon-edit"></a></small><% end %></h1>
</div>
<div class="span3">
<div class="pagination pagination-small pagination-right">
<ul>
<% for item in @view_modes: %>
<li class="<%= item.class %>">
<a href="#" data-type="viewmode" data-mode="<%= item.type %>"><%= item.name %></a>
</li>
<% end %>
</ul>
</div>
</div>
</div>
</div>
<!--
<div class="pagination pull-left">
<ul>
<% if @start_page != 1: %>
<li><a href="#" data-id="<%= @start_page - 1 %>" data-type="page">«</a></li>
<% end %>
<% for item in [1..@pages_total]: %>
<li>
<a href="#" data-id="<%= item %>" data-type="page"><%= item %></a>
</li>
<% end %>
<% if @start_page != @pages_total: %>
<li><a href="#" data-id="<%= @start_page + 1 %>" data-type="page">»</a></li>
<% end %>
</ul>
</div>
-->
<div class="row">
<div class="span12 table-overview"></div>
</div>
<div class="row">
<div class="span12 bulk-action hide well"></div>
<div class="content-two">
<div class="sidebar"></div>
<div class="main"></div>
</div>

View file

@ -0,0 +1,35 @@
<div class="page-header clearfix">
<div class="page-header-title">
<h1><%- @T( @overview.name ) %> <% if @edit: %><small><a href="#" data-type="settings" class="glyphicon glyphicon-edit"></a></small><% end %></h1>
</div>
<div class="page-header-meta">
<ul class="pagination">
<% for item in @view_modes: %>
<li class="<%= item.class %>">
<a href="#" data-type="viewmode" data-mode="<%= item.type %>"><%= item.name %></a>
</li>
<% end %>
</ul>
</div>
</div>
<!--
<div class="pagination pull-left">
<ul>
<% if @start_page != 1: %>
<li><a href="#" data-id="<%= @start_page - 1 %>" data-type="page">«</a></li>
<% end %>
<% for item in [1..@pages_total]: %>
<li>
<a href="#" data-id="<%= item %>" data-type="page"><%= item %></a>
</li>
<% end %>
<% if @start_page != @pages_total: %>
<li><a href="#" data-id="<%= @start_page + 1 %>" data-type="page">»</a></li>
<% end %>
</ul>
</div>
-->
<div class="table-overview"></div>
<div class="bulk-action hide well"></div>

View file

@ -0,0 +1,7 @@
<ul class="nav nav-pills nav-stacked">
<% if @items: %>
<% for item in @items: %>
<li <% if item.active: %>class="active"<% end %>><a href="<%= item.target %>"><span class="local"><%- @T(item.name) %></span><span class="badge pull-right"><%= item.count %></span></a></li>
<% end %>
<% end %>
</ul>

View file

@ -1,11 +1,15 @@
<form class="form-horizontal">
<div class="modal-header">
<a href="#" class="close">&times;</a>
<h2><%- @T( @head ) %></h2>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<a href="#" class="close">&times;</a>
<h2 class="modal-title"><%- @T( @head ) %></h2>
</div>
<div class="modal-body" id="form-user"></div>
<div class="modal-footer">
<button class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
<button class="btn secondary cancel"><%- @T( 'Cancel' ) %></button>
</div>
</div>
<div class="modal-body" id="form-user"></div>
<div class="modal-footer">
<button class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
<button class="btn secondary cancel"><%- @T( 'Cancel' ) %></button>
</div>
</form>
</div>
</form>

View file

@ -1,4 +1,4 @@
<div class="well well-chat span3">
<div class="well chat">
<h4><%- @T('Chat') %><a href="#" id="chat_toogle" class="close">&times;</a></h4>
<div id="chat_content" <% if !@isShown: %>class="hide"<% end %>>
<div id="chat_log_container" class="max-size-scroll">
@ -7,7 +7,7 @@
<% end %>
</div>
<form id="chat_form">
<input name="chat_message" type="text" value="" class="span3"/>
<input name="chat_message" type="text" value="" class="form-control input-small"/>
</form>
</div>
</div>

View file

@ -1,8 +1,7 @@
<div class="page-header">
<h1><%- @T( @head ) %> <small><!--<a href="#" data-type="settings" class="icon-edit">--></a></small></h1>
<h1><%- @T( @head ) %> <small><!--<a href="#" data-type="settings" class="glyphicon glyphicon-edit">--></a></small></h1>
</div>
<div class="row">
<div class="span9">
<!--
<div class="row">
@ -18,4 +17,3 @@
<div class="span3">
<div class="side-overviews" id="sortable-sidebar"></div>
</div>
</div>

View file

@ -1,5 +1,4 @@
<div class="row">
<div class="span3">
<div class="span3">
<h2 class="can-move"><%- @T( @head ) %></h2>
<dl>
<% for item in @items: %>
@ -7,5 +6,4 @@
<dd><%- @T( item.history_type ) %> <span data-id="<%= item.o_id %>" data-subid="<%= item.sub_o_id %>"><a data-type="edit" href="#"><%= item.history_object %><% if item.data.title: %> (<%= item.data.title %>)<% end %></a></span>.</dd>
<% end %>
</dl>
</div>
</div>
</div>

View file

@ -1,5 +1,4 @@
<div class="row">
<div class="span3">
<div class="span3">
<h2 class="can-move"><%- @T( @head ) %></h2>
<% if @message: %>
<%- @T(@message) %>
@ -9,5 +8,4 @@
<li><a href="<%= item.link %>" title="<%= item.summary %>" target="_blank"><%= item.title %>"</a></li>
<% end %>
</ul>
</div>
</div>
</div>

View file

@ -1,12 +1,10 @@
<div class="row">
<div class="span9">
<div class="row">
<div class="span6">
<h2 class="can-move"><%- @T( @overview.name ) %> <small><a href="#" data-type="settings" class="icon-edit"></a></small></h2>
<div class="page-header clearfix">
<div class="page-header-title">
<h2 class="can-move"><%- @T( @overview.name ) %> <small><a href="#" data-type="settings" class="glyphicon glyphicon-edit"></a></small></h2>
</div>
<div class="span3">
<div class="pagination pagination-small pagination-right">
<ul>
<div class="page-header-meta">
<ul class="pagination">
<li>
<% if @start_page != 1: %>
<a href="#" data-id="<%= @start_page - 1 %>" data-type="page">«</a>
@ -27,9 +25,7 @@
</li>
<% end %>
</ul>
</div>
</div>
</div>
<div class="table-overview"></div>
</div>
</div>

View file

@ -1,13 +1,17 @@
<form class="form-horizontal">
<div class="modal-header">
<a href="#" class="close">&times;</a>
<h2><%- @T( 'Edit' ) %>: <%- @T( @overview.name ) %></h2>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<a href="#" class="close">&times;</a>
<h2 class="modal-title"><%- @T( 'Edit' ) %>: <%- @T( @overview.name ) %></h2>
</div>
<div class="modal-body">
<div id="form-setting"></div>
</div>
<div class="modal-footer">
<button class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
<button class="btn cancel"><%- @T( 'Cancel' ) %></button>
</div>
</div>
</div>
<div class="modal-body">
<div id="form-setting"></div>
</div>
<div class="modal-footer">
<button class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
<button class="btn cancel"><%- @T( 'Cancel' ) %></button>
</div>
</form>
</form>

View file

@ -1,11 +1,16 @@
<form class="form-horizontal">
<div class="modal-header">
<a href="#" class="close" title="<%- @Ti( 'close' ) %>">&times;</a>
<h2><%- @T( 'Edit' ) %>: <%- @T( @head ) %></h2>
</div>
<div class="modal-body" id="object_edit"></div>
<div class="modal-footer">
<button class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
<button class="btn cancel"><%- @T( 'Cancel' ) %></button>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<a href="#" class="close" title="<%- @Ti( 'close' ) %>">&times;</a>
<h2 class="modal-title"><%- @T( 'Edit' ) %>: <%- @T( @head ) %></h2>
</div>
<div class="modal-body" id="object_edit"></div>
<div class="modal-footer">
<button class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
<button class="btn cancel"><%- @T( 'Cancel' ) %></button>
</div>
</div>
</div>
</div>
</form>

View file

@ -1,13 +1,24 @@
<div class="page-header">
<h1><%- @T( @head ) %> <small><%- @T( 'Management' ) %></small></h1>
<div class="page-header clearfix">
<div class="page-header-title">
<h1><%- @T( @head ) %> <small><%- @T( 'Management' ) %></small></h1>
</div>
<div class="page-header-meta">
<% if @buttons: %>
<% for button in @buttons: %>
<a data-type="<%= button['data-type'] %>" class="btn btn-default <%= button['class'] %>"><%- @T( button.name ) %></a>
<% end %>
<% end %>
</div>
</div>
<!--
<div class="row">
<div class="span3">
<ul class="nav nav-tabs nav-stacked">
<% if @menus: %>
<% for menu in @menus: %>
<li class="<%= menu['class'] %>"><a data-type="<%= menu['data-type'] %>" ><%= menu.name %></a></li>
-->
<!--
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#"><%= menu.name %><b class="caret"></b></a>
@ -18,6 +29,7 @@
</ul>
</li>
-->
<!--
<% end %>
<% end %>
</ul>
@ -25,15 +37,12 @@
<% for note in @notes: %>
<p><%- @T( note ) %></p>
<% end %>
<% if @buttons: %>
<% for button in @buttons: %>
<p><a data-type="<%= button['data-type'] %>" class="btn <%= button['class'] %>"><%- @T( button.name ) %></a></p>
<% end %>
<% end %>
-->
<!--
</div>
-->
<div class="span9 table-overview"></div>
<!--
</div>
-->

View file

@ -1,11 +1,15 @@
<form class="form-horizontal">
<div class="modal-header">
<a href="#" class="close" title="<%- @Ti( 'close' ) %>">&times;</a>
<h2><%- @T( 'Neu' ) %>: <%- @T( @head ) %></h2>
</div>
<div class="modal-body" id="object_new"></div>
<div class="modal-footer">
<button class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
<button class="btn cancel"><%- @T( 'Cancel' ) %></button>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<a href="#" class="close" title="<%- @Ti( 'close' ) %>">&times;</a>
<h2 class="modal-title"><%- @T( 'Neu' ) %>: <%- @T( @head ) %></h2>
</div>
<div class="modal-body" id="object_new"></div>
<div class="modal-footer">
<button class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
<button class="btn cancel"><%- @T( 'Cancel' ) %></button>
</div>
</div>
</div>
</form>

View file

@ -1,16 +1,21 @@
<div class="page-header">
<h1><%- @T( @page.head ) %> <small><%- @T( @page.sub_head ) %></small></h1>
</div>
<div class="content-two">
<div class="sidebar">
<div class="row">
<div class="span3">
<ul class="nav nav-tabs nav-stacked">
<ul class="nav nav-pills nav-stacked">
<% if @menus: %>
<% for menu in @menus: %>
<li class="<%= menu['class'] %>"><a href="<%= @page.nav %>/<%= menu.target %>" data-toggle="tabnav" data-target="<%= menu['target'] %>" ><%- @T( menu.name ) %></a></li>
<% end %>
<% end %>
</ul>
</div>
<div class="span9 nav-tab-content"></div>
</div>
<div class="main">
<div class="page-header">
<h1><%- @T( @page.head ) %> <small><%- @T( @page.sub_head ) %></small></h1>
</div>
<div class="nav-tab-content"></div>
</div>
</div>

View file

@ -1,9 +1,9 @@
<div class="control-group <%= @attribute.item_class %>">
<label class="control-label" for="<%= @attribute.id %>"><%- @T( @attribute.display ) %><% if !@attribute.null: %> *<% end %></label>
<div class="form-group <%= @attribute.item_class %>">
<label for="<%= @attribute.id %>"><%- @T( @attribute.display ) %><% if !@attribute.null: %> *<% end %></label>
<div class="controls">
<%- @item %><% if @attribute.note: %><span class="icon-question-sign" title="<%- @Ti( @attribute.note ) + ' ' %>"></span><% end %>
<% if @attribute.remove: %><span><a href="#" class="icon-minus"></a></span><% end %>
<% if @attribute.add: %><span><a href="#" class="icon-plus"></a></span><% end %>
<%- @item %><% if @attribute.note: %><span class="glyphicon glyphicon-question-sign" title="<%- @Ti( @attribute.note ) + ' ' %>"></span><% end %>
<% if @attribute.remove: %><span><a href="#" class="glyphicon glyphicon-minus"></a></span><% end %>
<% if @attribute.add: %><span><a href="#" class="glyphicon glyphicon-plus"></a></span><% end %>
<span class="help-inline"></span>
<span class="help-block"><% if @attribute.help: %><%- @T( @attribute.help ) + ' ' %><% end %><%- @attribute.link %></span>
</div>

View file

@ -1,3 +1,3 @@
<input id="<%= @attribute.id %>" type="hidden" name="<%= @attribute.name %>" value="<%= @attribute.value %>" <%= @attribute.required %> />
<input id="<%= @attribute.id %>_autocompletion" type="text" name="<%= @attribute.name %>_autocompletion" value="<%= @attribute.valueShown %>" class="<%= @attribute.class %>" <%= @attribute.required %> <%= @attribute.autofocus %> <%- @attribute.autocapitalize %>/>
<input id="<%= @attribute.id %>_autocompletion" type="text" name="<%= @attribute.name %>_autocompletion" value="<%= @attribute.valueShown %>" class="form-control <%= @attribute.class %>" <%= @attribute.required %> <%= @attribute.autofocus %> <%- @attribute.autocapitalize %>/>
<input id="<%= @attribute.id %>_autocompletion_value_shown" type="hidden" name="<%= @attribute.name %>_autocompletion_value_shown" value="<%= @attribute.valueShown %>"/>

View file

@ -1 +1 @@
<input id="<%= @attribute.id %>" type="<%= @attribute.type %>" name="<%= @attribute.name %>" value="<%= @attribute.value %>" class="<%= @attribute.class %>" <%= @attribute.required %> <%= @attribute.autofocus %> <%- @attribute.autocapitalize %> <%- @attribute.autocomplete %>/>
<input id="<%= @attribute.id %>" type="<%= @attribute.type %>" name="<%= @attribute.name %>" value="<%= @attribute.value %>" class="form-control <%= @attribute.class %>" <%= @attribute.required %> <%= @attribute.autofocus %> <%- @attribute.autocapitalize %> <%- @attribute.autocomplete %>/>

View file

@ -0,0 +1,19 @@
<div class="content-two">
<div class="sidebar <%= @className %>">
<% if @groups: %>
<% for group in @groups: %>
<h2><%- @T(group.name) %></h2>
<ul class="nav nav-pills nav-stacked">
<% if group.items: %>
<% for item in group.items: %>
<li <% if item.active: %>class="active"<% end %>><a href="<%= item.target %>"><%- @T(item.name) %></a></li>
<% end %>
<% end %>
</ul>
<% end %>
</div>
<div class="main"></div>
</div>

View file

@ -2,4 +2,4 @@
<% for row in @attribute.options: %>
<input type="radio" value="<%= row.value %>" name="<%= @attribute.name %>" <%= row.checked %>> <%= row.name %> <% if row.note: %>- <%= row.note %><% end %><br/>
<% end %>
</div>
</div>

View file

@ -1,5 +1,5 @@
<select id="<%= @attribute.id %>" class="<%= @attribute.class %>" name="<%= @attribute.name %>" <%= @attribute.multiple %> <%= @attribute.required %> <%= @attribute.autofocus %>>
<select id="<%= @attribute.id %>" class="form-control <%= @attribute.class %>" name="<%= @attribute.name %>" <%= @attribute.multiple %> <%= @attribute.required %> <%= @attribute.autofocus %>>
<% for row in @attribute.options: %>
<option value="<%= row.value %>" <%= row.selected %> <%= row.disabled %>><%= row.name %></option>
<% end %>
</select>
</select>

View file

@ -1 +1 @@
<textarea id="<%= @attribute.id %>" name="<%= @attribute.name %>" class="<%= @attribute.class %>" rows="<%= @attribute.rows %>" <%= @attribute.required %> <%= @attribute.autofocus %>><%= @attribute.value %></textarea>
<textarea id="<%= @attribute.id %>" name="<%= @attribute.name %>" class="form-control <%= @attribute.class %>" rows="<%= @attribute.rows %>" <%= @attribute.required %> <%= @attribute.autofocus %>><%= @attribute.value %></textarea>

View file

@ -1,9 +1,11 @@
<form class="form-horizontal">
<div class="modal-header">
<a href="#" class="close">&times;</a>
<h2><%- @T( 'Link' ) %></h2>
</div>
<div class="modal-body">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<a href="#" class="close">&times;</a>
<h2 class="modal-title"><%- @T( 'Link' ) %></h2>
</div>
<div class="modal-body">
<%- @T( 'Link' ) %>
<%- @T( @link_object ) %>
<input type="text" name="ticket_number" value="" class="span2" required/>
@ -24,8 +26,10 @@
<li>Recent Customer Tickets</li>
</ul>
-->
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary"><%- @T( 'Submit' ) %></button>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary"><%- @T( 'Submit' ) %></button>
</div>
</form>
</form>

View file

@ -1,14 +1,14 @@
<div class="well">
<h2><%- @T( 'Links' ) %> <a href="" data-type="edit" class="icon-edit" title="<%- @Ti( 'edit' ) %>"></a></h2>
<div class="">
<h2><%- @T( 'Links' ) %> <a href="" data-type="edit" class="glyphicon glyphicon-edit" title="<%- @Ti( 'edit' ) %>"></a></h2>
<% for type of @links: %>
<strong><%- @T( type ) %></strong>
<ul>
<% for item in @links[type]: %>
<li><a href="#ticket/zoom/<%= item.id %>" data-type="" title="<%= item.title %>" class="<%= item.css %>">T:<%= item.number %> <%= item.title %></a> <a href="" data-object="Ticket" data-object-id="<%= item.id %>" data-link-type="<%= type %>" data-type="remove" class="icon-remove hide" title="<%- @Ti('remove') %>"></a></li>
<li><a href="#ticket/zoom/<%= item.id %>" data-type="" title="<%= item.title %>" class="<%= item.css %>">T:<%= item.number %> <%= item.title %></a> <a href="" data-object="Ticket" data-object-id="<%= item.id %>" data-link-type="<%= type %>" data-type="remove" class="glyphicon glyphicon-remove hide" title="<%- @Ti('remove') %>"></a></li>
<% end %>
</ul>
<% end %>
<div>
<a href="" data-type="add" class="icon-plus hide" title="<%- @Ti('add') %>"></a>
<a href="" data-type="add" class="glyphicon glyphicon-plus hide" title="<%- @Ti('add') %>"></a>
</div>
</div>

View file

@ -3,13 +3,12 @@
<div class="hero-unit">
<h1><%- @T( 'Welcome stranger!' ) %></h1>
<div class="container">
<div class="row">
<div class="span12">
<div class="col-12">
<p><%- @T( 'Sign in with' ) %></p>
<form id="login" class="form-search" method="post">
<input name="username" type="text" class="input span3" placeholder="<%- @Ti( 'Username or email' ) %>" value="<%= @item.username %>" autocapitalize="off"/>
<input name="password" type="password" class="input span3" placeholder="<%- @Ti( 'Password' ) %>"/>
<form id="login" class="form-inline">
<input name="username" type="text" class="form-control col-3" placeholder="<%- @Ti( 'Username or email' ) %>" value="<%= @item.username %>" autocapitalize="off"/>
<input name="password" type="password" class="form-control col-3" placeholder="<%- @Ti( 'Password' ) %>"/>
<button class="btn btn-primary" type="submit"><%- @T( 'Sign in' ) %></button>
<div>
<span class="small"><input name="remember_me" value="1" type="checkbox"/> <%- @T( 'Remember me' ) %></span>
@ -24,13 +23,13 @@
<% if !_.isEmpty( @auth_providers ): %>
<div class="row">
<div class="span12">
<div class="col-12">
<p>--- <%- @T( 'or' ) %> ---</p>
</div>
</div>
<div class="row">
<div class="span12">
<div class="col-12">
<p><%- @T( 'Sign in using' ) %></p>
<ul>
<% for auth_provider in @auth_providers: %>
@ -43,21 +42,19 @@
<% if @C('user_create_account'): %>
<div class="row">
<div class="span12">
<div class="col-12">
<p>--- <%- @T( 'or' ) %> ---</p>
</div>
</div>
<div class="row">
<div class="span12">
<div class="col-12">
<p><%- @T( 'New to %s join today!', @C( 'product_name' ) ) %></p>
<p><a href="#signup" class="btn"><%- @T( 'Sign up' ) %></a>
<p><a href="#signup" class="btn btn-default"><%- @T( 'Sign up' ) %></a>
</div>
</div>
<% end %>
</div>
</div>
</div>

View file

@ -1,28 +1,26 @@
<div class="page-header">
<h1><%- @T('Maintenance Message') %><small></small></h1>
</div>
<form class="form-horizontal" id="maintenanceForm">
<div class="control-group">
<label class="control-label" for="title"><%- @T('Title') %></label>
<form class="form-horizontal form-large" id="maintenanceForm">
<fieldset>
<div class="form-group">
<label for="title"><%- @T('Title') %></label>
<div class="controls">
<input type="text" name="title" class="span7" placeholder="<%- @Ti('some title') %>" required>
<input type="text" name="title" class="form-control" placeholder="<%- @Ti('some title') %>" required>
</div>
</div>
<div class="control-group">
<label class="control-label" for="message"><%- @T('Message') %></label>
<div class="form-group">
<label for="message"><%- @T('Message') %></label>
<div class="controls">
<textarea name="message" class="span7" rows="8" placeholder="<%- @Ti('what details') %>" required></textarea>
<textarea name="message" class="form-control" rows="8" placeholder="<%- @Ti('what details') %>" required></textarea>
</div>
</div>
<div class="control-group">
<label class="control-label" for="message"><%- @T('Reload application') %></label>
<div class="form-group">
<label for="message"><%- @T('Reload application') %></label>
<div class="controls">
<input name="reload" type="checkbox" value="1">
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary submit"><%- @T('Send to clients') %></button>
<input name="reload" type="checkbox" value="1">
</div>
</div>
</fieldset>
<button type="submit" class="btn btn-primary submit"><%- @T('Send to clients') %></button>
</form>

View file

@ -1,22 +1,26 @@
<div class="modal-header">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<% if @close: %>
<a href="#" class="close">&times;</a>
<a href="#" class="close">&times;</a>
<% end %>
<h2><%- @T( @title ) %></h2>
</div>
<div class="modal-body">
<form class="form-horizontal">
<p><%= @message %></p>
<h2 class="modal-title"><%- @T( @title ) %></h2>
</div>
<div class="modal-body">
<form class="form-horizontal">
<p><%= @message %></p>
<% if @detail: %>
<pre><%= @detail %></p>
<pre><%= @detail %></p>
<% end %>
</form>
</div>
<div class="modal-footer">
</form>
</div>
<div class="modal-footer">
<% if @button: %>
<button class="btn btn-primary submit"><%- @T( @button ) %></button>
<button class="btn btn-primary submit"><%- @T( @button ) %></button>
<% end %>
<% if @cancel: %>
<button class="btn cancel"><%- @T( 'Cancel' ) %></button>
<button class="btn cancel"><%- @T( 'Cancel' ) %></button>
<% end %>
</div>
</div>
</div>

View file

@ -1,73 +1,72 @@
<div class="navbar navbar-fixed-top navbar-inverse">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="#/"><%- @C( 'product_name' ) %></a>
<ul class="nav">
<% for item in @navbar_left: %>
<% if item.child: %>
<li class="dropdown <% if @open_tab[item.target] : %>open<% end %>">
<a href="<%= item.target %>" class="dropdown-toggle" data-toggle="dropdown"><%- @T( item.name ) %> <b class="caret"></b></a>
<ul class="dropdown-menu">
<% for item in item.child: %>
<% if item.divider: %>
<li class="divider"></li>
<% end %>
<% if item.navheader: %>
<li class="nav-header"><%- @T( item.navheader ) %></li>
<% end %>
<li class="<% if @active_tab[item.target] : %>active<% end %>"><a href="<%= item.target %>"><%- @T( item.name ) %><% if item['count'] isnt undefined: %><span class="badge count pull-right"><%= item['count'] %></span><% end %></a></li>
<% end %>
</ul>
</li>
<% else: %>
<li class="<% if @active_tab[item.target] : %>active<% end %>"><a href="<%= item.target %>"><%- @T( item.name ) %></a></li>
<% end %>
<a class="navbar-brand" href="#/"><%- @C( 'product_name' ) %></a>
<ul class="nav navbar-nav">
<% for item in @navbar_left: %>
<% if item.child: %>
<li class="dropdown <% if @open_tab[item.target] : %>open<% end %>">
<a href="<%= item.target %>" class="dropdown-toggle" data-toggle="dropdown"><%- @T( item.name ) %> <b class="caret"></b></a>
<ul class="dropdown-menu">
<% for item in item.child: %>
<% if item.divider: %>
<li class="divider"></li>
<% end %>
<% if item.navheader: %>
<li class="nav-header"><%- @T( item.navheader ) %></li>
<% end %>
<li class="<% if @active_tab[item.target] : %>active<% end %>"><a href="<%= item.target %>"><%- @T( item.name ) %><% if item['count'] isnt undefined: %><span class="badge count pull-right"><%= item['count'] %></span><% end %></a></li>
<% end %>
</ul>
</li>
<% else: %>
<li class="<% if @active_tab[item.target] : %>active<% end %>"><a href="<%= item.target %>"><%- @T( item.name ) %></a></li>
<% end %>
<% end %>
<li class="dropdown <% if @result[0] : %>open<% end %>">
<form class="navbar-search">
<input id="global-search" class="search-query" type="search" value="<%= @search %>" placeholder="<%- @Ti( 'Search' ) %>" autocomplete="off"/>
</form>
<ul class="dropdown-menu" style="margin-right: 22px;">
<% for area in @result: %>
<li class="divider" style="padding: 2px 10px; height: auto; margin: 4px 0px;"><%- @T( area.name ) %></li>
<% for item in area.result: %>
<li><a href="<%- item.url %>" class="<%= item.class %>" data-id="<%= item.id %>" style="max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><%= item.display %></a></li>
<% end %>
<% end %>
</ul>
</li>
</ul>
<div class="spinner"/>
<% if @user: %>
<ul class="nav pull-right">
<% for item in @navbar_right: %>
<% if item.child: %>
<li class="dropdown <% if @open_tab[item.target] : %>open<% end %>">
<a href="<%= item.target %>" class="dropdown-toggle" data-toggle="dropdown"><%- @T( item.name ) %> <b class="caret"></b></a>
<ul class="dropdown-menu">
<% for item in item.child: %>
<% if item.divider: %>
<li class="divider"></li>
<% end %>
<% if item.navheader: %>
<li class="nav-header"><%- @T( item.navheader ) %></li>
<% end %>
<li class="<% if @active_tab[item.target] : %>active<% end %>"><a href="<%= item.target %>"><%- @T( item.name ) %><% if item['count'] isnt undefined: %><span class="badge count pull-right"><%= item['count'] %>)</span><% end %></a></li>
<% end %>
</ul>
</li>
<% else: %>
<li class="<% if @active_tab[item.target] : %>active<% end %>"><a href="<%= item.target %>"><%- @T( item.name ) %></a></li>
<% end %>
</ul>
<div class="spinner"/>
<% if !_.isEmpty(@user): %>
<ul class="nav navbar-nav pull-right">
<li class="dropdown <% if @result[0] : %>open<% end %>">
<form class="navbar-form">
<input id="global-search" class="form-control" type="search" value="<%= @search %>" placeholder="<%- @Ti( 'Search' ) %>" autocomplete="off"/>
</form>
<ul class="dropdown-menu">
<% for area in @result: %>
<li class="divider" style="padding: 2px 10px; height: auto; margin: 4px 0px;"><%- @T( area.name ) %></li>
<% for item in area.result: %>
<li><a href="<%- item.url %>" class="<%= item.class %>" data-id="<%= item.id %>" style="max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><%= item.display %></a></li>
<% end %>
</ul>
<% end %>
</ul>
</li>
<% for item in @navbar_right: %>
<% if item.child: %>
<li class="dropdown <% if @open_tab[item.target] : %>open<% end %>">
<a href="<%= item.target %>" class="dropdown-toggle" data-toggle="dropdown"><%- @T( item.name ) %> <b class="caret"></b></a>
<ul class="dropdown-menu">
<% for item in item.child: %>
<% if item.divider: %>
<li class="divider"></li>
<% end %>
<% if item.navheader: %>
<li class="nav-header"><%- @T( item.navheader ) %></li>
<% end %>
<li class="<% if @active_tab[item.target] : %>active<% end %>"><a href="<%= item.target %>"><%- @T( item.name ) %><% if item['count'] isnt undefined: %><span class="badge count pull-right"><%= item['count'] %>)</span><% end %></a></li>
<% end %>
</ul>
</li>
<% else: %>
<li class="<% if @active_tab[item.target] : %>active<% end %>"><a href="<%= item.target %>"><%- @T( item.name ) %></a></li>
<% end %>
<% end %>
</ul>
<% else: %>
<ul class="nav pull-right">
<li><a href="#login"><%- @T( 'Sign in' ) %></a></li>
</ul>
<!--
<ul class="nav navbar-nav pull-right">
<li><a href="#login"><%- @T( 'Sign in' ) %></a></li>
</ul>
-->
<% end %>
</div>
</div>
</div>

View file

@ -1,4 +1,4 @@
<form class="">
<form class="form-normal">
<h2><%- @T( 'Language' ) %></h2>
<p><%- @T( 'Change your language.' ) %></p>
<div class="language_item"></div>

View file

@ -1,5 +1,5 @@
<form class="">
<h2><%- @T( 'Change your password' ) %></h2>
<h2><%- @T( 'Change your password' ) %></h2>
<form class="form-normal">
<div class="password_item"></div>
<button type="submit" class="btn"><%- @T( 'Submit' ) %></button>
</form>

View file

@ -6,9 +6,9 @@
<% end %>
<div id="form-password">
<h2><%- @T( 'Forgot your password?' ) %><small></small></h2>
<form id="form-password-item">
<a href="#/" class="btn cancel"><%- @T( 'Cancel' ) %></a>
<form id="form-password-item" class="form-small">
<a href="#/" class="btn btn-default cancel"><%- @T( 'Cancel' ) %></a>
<button class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
</form>
</div>
</div>
</div>

View file

@ -1,9 +1,7 @@
<div class="hero-unit">
<h2><%- @T( 'Choose your new password.' ) %><small></small></h2>
<div class="container">
<form>
<p id="form-password-change"></p>
<button class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
</form>
</div>
<form class="form-small">
<p id="form-password-change"></p>
<button class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
</form>
</div>

View file

@ -20,9 +20,8 @@
<td><% if session.data.geo: %><%= session.data.geo.country_code %> <%= session.data.geo.city %><% end %></td>
<td><span class="humanTimeFromNow" data-time="<%- session.created_at %>">?</span></td>
<td><span class="humanTimeFromNow" data-time="<%- session.updated_at %>">?</span></td>
<td><a href="#" data-session-id="<%- session.id %>" data-type="delete" class="icon-trash" title="<%- @T('Delete') %>"></a></td>
<td><a href="#" data-session-id="<%- session.id %>" data-type="delete" class="glyphicon glyphicon-trash" title="<%- @T('Delete') %>"></a></td>
</tr>
<% end %>
</tbody>
</table>

View file

@ -1,10 +1,8 @@
<div class="hero-unit">
<h1><%- @T( 'Join' ) %> <%= @C( 'product_name' ) %><small></small></h1>
<div class="container">
<form class="form-horizontal">
<form class="form-group form-small">
<p id="form-signup"></p>
<a href="#/" class="btn cancel"><%- @T( 'Cancel' ) %></a>
<a href="#/" class="btn btn-default cancel"><%- @T( 'Cancel' ) %></a>
<button class="btn btn-primary submit"><%- @T( 'Create my account' ) %></button>
</form>
</div>
</div>
</div>

View file

@ -1,4 +1,4 @@
<div class="well">
<div class="">
<h3><%- @T( 'Tags' ) %></h3>
<input type="text" name="tags" id="<%- @tag_id %>" class="span2" value="<% for tag in @tags: %><%= tag %>,<% end %>"/>
</div>
</div>

View file

@ -1,3 +1,3 @@
<% for item in @item_list: %>
<a href="<%- item.data.url %>" title="<%= item.data.title %>" class="btn btn-mini <% if item.task.active: %>active btn-success<% else if item.task.notify: %>active btn-warning<% else: %>btn-default<% end %>" data-key="<%- item.task.key %>"><span class="task"><%= item.data.head %></span><span data-type="close" class="icon-remove-circle" title="<%- @T('close') %>"></a>
<a href="<%- item.data.url %>" title="<%= item.data.title %>" class="btn btn-small <% if item.task.active: %>active btn-primary<% else if item.task.notify: %>active btn-warning<% else: %>btn-default<% end %>" data-key="<%- item.task.key %>"><span class="task"><%= item.data.head %></span><span data-type="close" class="glyphicon glyphicon-remove" title="<%- @T('close') %>"></a>
<% end %>

View file

@ -1,11 +1,17 @@
<div class="well">
<div class="">
<h3><%- @T( 'Templates' ) %></h3>
<div id="form-template"></div>
<!--<button type="submit" class="btn" data-type="template_edit"><%- @T( 'Edit' ) %></button>-->
<button type="submit" class="btn" data-type="template_delete"><%- @T( 'Delete' ) %></button>
<button type="submit" class="btn" data-type="template_select"><%- @T( 'Apply' ) %></button>
<hr/>
<label class="" for="template_name"><%- @T( 'Save as Template' ) %></label>
<input type="text" name="template_name" id="template_name" class="span2" value="<%= @template.name %>"/>
<form>
<div id="form-template"></div>
<!--<button type="submit" class="btn" data-type="template_edit"><%- @T( 'Edit' ) %></button>-->
<button type="submit" class="btn" data-type="template_delete"><%- @T( 'Delete' ) %></button>
<button type="submit" class="btn" data-type="template_select"><%- @T( 'Apply' ) %></button>
</form>
<br>
<form>
<fieldset>
<label class="" for="template_name"><%- @T( 'Save as Template' ) %></label>
<input type="text" name="template_name" id="template_name" class="form-control" value="<%= @template.name %>"/>
</fieldset>
<button type="submit" class="btn" data-type="template_save"><%- @T( 'Save' ) %></button>
</div>
</form>
</div>

View file

@ -1,8 +1,8 @@
<div class="well">
<div class="">
<h3><%- @T( 'Actions' ) %></h3>
<ul>
<li><a href="#" data-type="history"><%- @T( 'History' ) %></a></li>
<li><a href="#" data-type="merge"><%- @T( 'Merge' ) %></a></li>
<li><a href="#" data-type="customer"><%- @T( 'Change Customer' ) %></a></li>
</ul>
</div>
</div>

View file

@ -1,7 +1,14 @@
<div class="page-header ticket-zoom">
<div class="row">
<div class="span10 ticket-title"></div>
<div class="span2">
<div class="content-two">
<div class="sidebar">
<div class="ticket-action"></div>
</div>
<div class="main">
<div class="page-header ticket-zoom">
<div class="ticket-title"></div>
<div class="ticket-info"></div>
<div class="span2">
<% if @C( 'LastOverview' ) && @nav: %>
<div class="pagination pagination-small pagination-right">
<span class="count"><%= @C( 'LastOverviewPosition' ) %>/<%= @C( 'LastOverviewTotal' ) %></span>
@ -12,17 +19,16 @@
</ul>
</div>
<% end %>
</div>
</div>
<div class="ticket-answer">
<div class="article-view"></div>
<div class="edit"></div>
</div>
</div>
<div class="row ticket-info"></div>
</div>
<div class="row ticket-answer">
<div class="span9">
<div class="article-view"></div>
<div class="edit"></div>
</div>
<div class="span3 ticket-action"></div>
</div>

View file

@ -1,13 +1,13 @@
<% for article in @articles: %>
<div class="row article" data-id="<%= article.id %>" id="article-<%= article.id %>">
<div class="avatar span1 thumbnails">
<div class="article" data-id="<%= article.id %>" id="article-<%= article.id %>">
<div class="avatar thumbnails">
<img class="thumbnail user-data" data-id="<%= article.created_by_id %>" src="<%= article.created_by.image %>" alt="">
<ul>
<li style="font-size: 10px;"><%- @T(article.article_type.name) %></li>
<% if article.article_type.name is 'email': %><li style="font-size: 10px;"><a href="api/ticket_article_plain/<%= article.id %>"><%- @T( 'raw' ) %></a></li><% end %>
</ul>
</div>
<div class="span8 well-muted article-message <% if article.internal is true: %> internal<% end %>">
<div class="article-message <% if article.internal is true: %> internal<% end %>">
<% if article.from: %>
<div>
<strong title="<%- @Ti( 'From' ) %>: <%= article.from %>"><%= article.from %></strong>
@ -36,7 +36,6 @@
<% end %>
</div>
<% end %>
<hr/>
<div style="white-space:pre-wrap;" class="article-content"><%- article.html %></div>
</div>
</div>

View file

@ -1,18 +1,15 @@
<div class="row article">
<div class="avatar span1 thumbnails">
<img class="thumbnail user-data" data-id="<%= @S('id') %>" src="<%- @S('image') %>" alt="">
</div>
<div class="span8 well-muted article-message <% if @formChanged: %>form-changed<% end %>">
<div class="reset-message<% if !@formChanged: %> hide<% end %>">
<div>
<a href="#" data-type="reset"><%- @T('Discard your unsaved changes.') %></a> <href="#" class="icon-repeat" data-type="reset"></a>
</div>
<hr>
</div>
<form class="form-stacked pull-left ticket-update">
<div class="form-ticket-update"></div>
<div class="form-article-update"></div>
<button type="submit" class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
</form>
</div>
<div class="avatar thumbnails">
<img class="thumbnail user-data" data-id="<%= @S('id') %>" src="<%- @S('image') %>" alt="">
</div>
<div class="article-message <% if @formChanged: %>form-changed<% end %>">
<div class="reset-message<% if !@formChanged: %> hide<% end %>">
<div>
<a href="#" data-type="reset"><%- @T('Discard your unsaved changes.') %></a> <href="#" class="glyphicon glyphicon-repeat" data-type="reset"></a>
</div>
</div>
<form class="form-stacked pull-left ticket-update">
<div class="form-ticket-update"></div>
<div class="form-article-update"></div>
<button type="submit" class="btn btn-primary submit"><%- @T( 'Submit' ) %></button>
</form>
</div>

View file

@ -1,4 +1,4 @@
<div class="span12">
<div>
<%= @ticket.group.name %> -
<%- @T( @ticket.ticket_state.name ) %> -
<%- @T( @ticket.ticket_priority.name ) %> -

View file

@ -1,5 +1,5 @@
<div class="well">
<h3><%- @T( 'Customer' ) %> <a href="#" data-type="edit" class="icon-edit"></a></h3>
<div class="">
<h3><%- @T( 'Customer' ) %> <a href="#" data-type="edit" class="glyphicon glyphicon-edit"></a></h3>
<% if @user.image: %>
<img class="thumbnail" src="<%- @user.image %>" alt="">
<% end %>

View file

@ -3,6 +3,7 @@
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
* the top of the compiled file, but it's generally better to create a new file per style scope.
*= require_self
*= require ./bootstrap-glyphicons.css
*= require ./bootstrap.css
*= require ./fineuploader.css
*= require ./ui-lightness/jquery-ui-1.8.23.custom.css
@ -13,6 +14,6 @@
*= require ./zzz.css
*
*= require_tree ./custom/
*
*
*/

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -1,10 +1,24 @@
body {
padding-top:74px;
padding-top:78px;
/*
font-size: 13px;
*/
font-weight: 200;
font-size: 13px;
}
.glyphicon {
font-size: 13px;
}
.btn {
font-size: 12px;
font-weight: 400;
}
label, input, button, select, textarea {
font-size: 13px;
font-weight: 200;
}
select,
@ -24,7 +38,9 @@ input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
/*
margin-bottom: 1px;
*/
}
@ -32,7 +48,7 @@ input[type="color"],
float: left;
background:url("/assets/spinner.gif") no-repeat;
background-position: center center;
padding: 12px;
padding: 46px 10px 0 10px;
width: 10px;
height: 14px;
display: none;
@ -46,26 +62,212 @@ table th, table td {
text-overflow: ellipsis;
white-space: nowrap;
}
.table {
display: table;
}
.table .table-row {
display: table-row;
}
.table .table-cell{
vertical-align: top;
display: table-cell;
border-bottom: 1px solid #eeeeee;
}
.content-two {
top: 80px;
bottom: 0px;
left: 0px;
right: 0px;
position: fixed;
z-index: -5000;
}
.content-two .sidebar {
padding: 8px 10px;
width: 180px;
height: 100%;
float: left;
position: absolute;
overflow-y: scroll;
}
.content-two .sidebar.nav-manage {
padding-left: 16px;
}
.content-two .sidebar .nav > li > a {
padding: 8px 13px;
}
.content-two .sidebar .btn {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
.content-two .sidebar input,
.content-two .sidebar select {
height: 30px;
padding: 5px 10px;
font-size: 12px;
border-radius: 3px;
}
.content-two .main {
width: 600px;
height: 100%;
float: left;
margin-left: 184px;
padding-bottom: 10px;
padding-left: 14px;
border-left: 1px solid #eeeeee;
position: absolute;
overflow-y: scroll;
}
.content-two .main > .nav {
margin-top: 12px;
}
.content-two .meta {
display: none;
}
@media (min-width: 800px) {
.content-two .sidebar {
width: 220px;
}
.content-two .main {
width: 680px;
margin-left: 224px;
}
.content-two .meta {
display: none;
}
}
@media (min-width: 1024px) {
.content-two .sidebar {
width: 240px;
}
.content-two .main {
width: 780px;
margin-left: 244px;
}
.content-two .meta {
display: none;
}
}
@media (min-width: 1200px) {
.content-two .sidebar {
width: 260px;
}
.content-two .main {
width: 820px;
margin-left: 264px;
}
.content-two .meta {
width: 140px;
display: table-cell;
}
}
.content-cols {
display: table;
width: 100%;
height: 100%;
table-layout: fixed;
border-spacing: 0px;
}
.content-cols .row {
margin: 0px;
}
.content-cols .row2 > div {
display: table-cell;
vertical-align: top;
padding: 0px 12px 0px 12px;
}
.content-cols .row2 .sidebar {
border-right: 1px solid #eeeeee;
width: 160px;
}
.content-cols .sidebar input,
.content-cols .sidebar select {
height: 30px;
padding: 5px 10px;
font-size: 12px;
border-radius: 3px;
}
.content-cols .sidebar .btn {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
.content-cols .row2 .main {
width: 600px;
}
.content-cols .row2 .meta {
display: none;
}
@media (min-width: 800px) {
.content-cols .row2 .sidebar {
width: 200px;
}
.content-cols .row2 .main {
width: 750px;
}
.content-cols .row2 .meta {
display: none;
}
}
@media (min-width: 1024px) {
.content-cols .row2 .sidebar {
width: 220px;
}
.content-cols .row2 .main {
width: 900px;
}
.content-cols .row2 .meta {
display: none;
}
}
@media (min-width: 1200px) {
.content-cols .row2 .sidebar {
width: 240px;
}
.content-cols .row2 .main {
width: 900px;
}
.content-cols .row2 .meta {
width: 200px;
display: table-cell;
}
}
.content-cols .nav-bar-stacked {
background-color: #f7f5fa;
}
.content-cols .nav-bar-stacked .active a {
border-right: 1px solid #563d7c;
}
#task {
position: fixed;
display: table;
width: 100%;
top: 48px;
}
#task > .taskbar {
position: fixed;
display: table;
top: 40px;
width: 100%;
padding: 2px 2px 2px 2px;
z-index: 990;
display: table-row;
z-index: 1040;
}
#task > .taskbar > div {
padding: 0px 4px 4px 4px;
display: table-cell;
}
#task .task {
margin: -6px;
padding: 0px 4px;
display: inline-block;
max-width: 120px;
overflow: hidden;
@ -84,12 +286,21 @@ table th, table td {
color: #333333;
}
#task .taskbar .btn-mini {
#task .taskbar .btn-small {
padding: 5px 10px;
margin-top: 2px;
font-size: 11px;
font-weight: 300;
}
#task .taskbar .btn-default {
background-color: #c3c3c3;
border-color: #c3c3c3;
}
#task [data-type="close"] {
margin-left: 5px;
font-size: 10px;
}
#task .taskbar-items {
@ -111,43 +322,56 @@ table th, table td {
}
*/
[class^="icon-"],
[class*=" icon-"] {
background-image: url("../assets/glyphicons-halflings.png");
}
h1, h2, h3, h4, h5, h6 {
margin: 0 0 8px;
font-weight: 200;
}
h1 {
font-size: 34px;
line-height: 38px;
font-size: 36px;
margin-top: 15px;
}
h2 {
font-size: 22px;
line-height: 32px;
font-size: 24px;
margin-top: 10px;
}
h3 {
font-size: 18px;
line-height: 26px;
font-size: 22px;
margin-top: 10px;
}
h4 {
font-size: 20px;
}
h4 {
font-size: 14px;
line-height: 20px;
}
.navbar .nav > li > a {
padding: 10px 12px 10px;
}
/*
.container,
*/
.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
width: 96%;
min-width: 940px;
.form-control {
height: 35px;
}
.form-large {
width: 85%;
}
.form-normal {
width: 70%;
}
.form-small {
width: 50%;
}
.form-normal fieldset {
margin-bottom: 10px;
}
.sidebar fieldset {
margin-bottom: 10px;
}
.form-horizontal label {
text-align: right;
float: left;
margin-left: 0px;
margin-right: 0px;
width: 130px;
margin-top: 7px;
}
/*
@ -160,11 +384,6 @@ h4 {
border-radius: 3px;
}
/* improved spacing */
.pagination {
padding-top: 2px;
margin: 0px 4px;
height: 30px;
}
.pagination .count {
padding: 6px 6px;
@ -175,7 +394,18 @@ h4 {
}
.page-header {
margin: 20px 0 20px
margin: 0 0 12px
}
.page-header-title {
float: left;
}
.page-header-meta {
float: right;
padding-top: 20px;
}
.page-header .page-header-meta ul.pagination {
margin: 0 0 0 0;
}
.dropdown-menu {
@ -205,10 +435,28 @@ h4 {
.icon-attachment {
background-position: -24px 0;
}
/*
*
*
*/
.hero-unit {
width: 940px;
margin-right: auto;
margin-left: auto;
*zoom: 1;
padding: 50px 60px 60px 60px;
margin-bottom: 30px;
font-size: 18px;
font-weight: 200;
line-height: 30px;
color: inherit;
background-color: #eeeeee;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
}
.hero-unit p {
font-size: 16px;
font-weight: 200;
@ -228,6 +476,30 @@ form {
margin: 0 0 0 0;
}
form.form-inline select,
form.form-inline input[type="text"],
form.form-inline input[type="password"] {
width: 180px;
margin-right: 4px;
}
.modal-header {
padding: 10px 15px;
}
.modal .form-group .controls {
width: 65%;
}
.modal .form-group {
margin-bottom: 2px;
}
.modal-footer {
margin-top: 0;
padding: 14px 20px 20px;
}
.edit {
min-height:30px;
}
@ -247,17 +519,16 @@ form {
float: right;
position: relative;
top: -15px;
left: 30px;
left: 30px;
margin: 4px;
clear: right;
}
footer {
clear: both;
padding-top: 10px;
}
.search-query {
width: 160px;
padding-left: 10px;
padding-right: 22px;
}
.can-move {
@ -271,26 +542,31 @@ footer {
margin-bottom: 5px;
}
.ticket-action {
padding-left: 12px;
}
.ticket-answer .avatar {
margin-left: 10px;
padding-left: 6px;
padding-top: 10px;
width: 70px;
float: left;
}
.ticket-answer .span8 {
width: 558px;
.ticket-answer .avatar ul {
padding-left: 20px;
}
.ticket-answer .span9 {
width: 710px;
.ticket-update .span2 {
width: 160px;
margin-right: 4px;
}
.ticket-answer .span3 {
width: 200px;
.ticket-update .medium {
width: 160px;
}
.article {
border: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
width: 100%;
margin-left: 0;
margin-top: 0px;
margin-bottom: 10px;
@ -298,12 +574,12 @@ footer {
padding-top: 0px;
padding-bottom: 2px;
padding-right: 0px;
background-color: #ffffff;
border-bottom: 1px solid #eeeeee;
}
.article-message {
margin-top: 0px;
margin-bottom: 6px;
margin-left: 10px;
@ -311,16 +587,10 @@ footer {
padding-top: 10px;
padding-bottom: 8px;
padding-left: 10px;
width: 580px;
}
.article-message hr {
margin: 6px 0px 6px -10px;
}
margin-left: 70px;
.article .span8 {
width: 602px;
min-height: 85px;
}
.show_toogle {
@ -338,7 +608,7 @@ footer {
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.internal {
@ -358,6 +628,31 @@ footer {
color: #bbb;
}
.navbar {
min-height: 46px;
}
.nav .form-control {
height: 34px;
margin-top: 1px;
}
.nav .form-control {
background-color: #f5f5f5;
}
.nav .form-control:focus {
background-color: #ffffff;
}
.navbar-brand {
line-height: 18px;
font-weight: 200;
}
.navbar-nav > li > a {
line-height: 18px;
}
.nav.nav-tabs.nav-stacked > li > a > span {
visibility: hidden;
}
@ -365,6 +660,22 @@ footer {
visibility: visible;
}
.nav-sub{
margin-left: 12px;
font-size: 12px;
}
.nav.nav-pills > li > a > span.local {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: block;
margin-right: 22px;
}
.nav.nav-pills > li > a > span.badge {
margin-top: -18px;
}
.customer-info {
width:86%;
padding-top: 5px;
@ -425,12 +736,15 @@ footer {
margin: 6px 20px 0px 0px;
height: 18px;
}
.qq-upload-icon .glyphicon {
font-size: 15px;
}
.qq-upload-button {
display: block;
/*or inline-block*/
width: 40px;
padding: 7px 0;
padding: 8px 0 5px;
text-align: center;
}
@ -447,6 +761,12 @@ footer {
background-color: transparent;
}
.chat {
padding: 0px 14px;
width: 200px;
margin-bottom: 0;
z-index: 1040;
}
.sub_attribute .control-label {
@ -458,6 +778,7 @@ footer {
.form-changed {
border: 1px solid #fbeed5;
border-radius: 4px;
background-color: #fcf8e3;
}

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,175 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
<font-face units-per-em="1200" ascent="960" descent="-240" />
<missing-glyph horiz-adv-x="500" />
<glyph />
<glyph />
<glyph unicode="&#xd;" />
<glyph unicode=" " />
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-63 -32t-65.5 -67t-50 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-207 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447z" />
<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 299q-120 -77 -261 -77q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
<glyph unicode="&#xe018;" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
<glyph unicode="&#xe019;" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
<glyph unicode="&#xe020;" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
<glyph unicode="&#xe021;" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
<glyph unicode="&#xe022;" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
<glyph unicode="&#xe023;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM500 500v400h100v-300h200v-100h-300z" />
<glyph unicode="&#xe024;" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
<glyph unicode="&#xe025;" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
<glyph unicode="&#xe026;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM350 600h150v300h200v-300h150l-250 -300z" />
<glyph unicode="&#xe027;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM350 600h150v-300h200v300h150l-250 300z" />
<glyph unicode="&#xe028;" d="M0 25v475l200 700h800q199 -700 200 -700v-475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
<glyph unicode="&#xe029;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 601q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM500 397v401l297 -200z" />
<glyph unicode="&#xe030;" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
<glyph unicode="&#xe031;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
<glyph unicode="&#xe032;" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
<glyph unicode="&#xe033;" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
<glyph unicode="&#xe034;" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
<glyph unicode="&#xe035;" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v275v25q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
<glyph unicode="&#xe036;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
<glyph unicode="&#xe037;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
<glyph unicode="&#xe038;" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 108 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
<glyph unicode="&#xe039;" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
<glyph unicode="&#xe040;" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
<glyph unicode="&#xe041;" d="M1 700v475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
<glyph unicode="&#xe042;" d="M2 700v475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
<glyph unicode="&#xe043;" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
<glyph unicode="&#xe044;" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
<glyph unicode="&#xe045;" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
<glyph unicode="&#xe046;" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
<glyph unicode="&#xe047;" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391q67 -181 82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140 l116 -317h-340z" />
<glyph unicode="&#xe048;" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 13.5t-49 14v71h471q76 0 145.5 -37.5t115 -111.5t45.5 -167q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129 q0 -84 -59 -156.5t-142 -111t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
<glyph unicode="&#xe049;" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
<glyph unicode="&#xe050;" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
<glyph unicode="&#xe051;" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
<glyph unicode="&#xe052;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
<glyph unicode="&#xe053;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
<glyph unicode="&#xe054;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe055;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe056;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe057;" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
<glyph unicode="&#xe058;" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
<glyph unicode="&#xe059;" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
<glyph unicode="&#xe060;" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
<glyph unicode="&#xe062;" d="M219 725q0 -116 60 -249q65 -114 158.5 -231.5t154.5 -178.5l61 -61q22 25 59.5 69t132 167t163.5 231q70 142 70 258q0 117 -57.5 218.5t-156.5 161t-216 59.5q-116 0 -215 -61t-156.5 -163.5t-57.5 -219.5zM431 752q0 92 64.5 157t156.5 65t157 -65t65 -157t-65 -156.5 t-157 -64.5t-156.5 64.5t-64.5 156.5z" />
<glyph unicode="&#xe063;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5v854q-177 0 -302 -125t-125 -302z " />
<glyph unicode="&#xe064;" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 138.5t-64 210.5zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
<glyph unicode="&#xe065;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM994 1015l114 -113l113 113l-21 85l-92 28z" />
<glyph unicode="&#xe066;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
<glyph unicode="&#xe067;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l566 567l-136 137l-430 -431l-147 147z" />
<glyph unicode="&#xe068;" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
<glyph unicode="&#xe069;" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe070;" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe071;" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
<glyph unicode="&#xe072;" d="M200 0l900 550l-900 550v-1100z" />
<glyph unicode="&#xe073;" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
<glyph unicode="&#xe074;" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
<glyph unicode="&#xe075;" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
<glyph unicode="&#xe076;" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
<glyph unicode="&#xe077;" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
<glyph unicode="&#xe078;" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
<glyph unicode="&#xe079;" d="M136 550v1l551 550l198 -197l-352 -353l352 -353l-198 -198z" />
<glyph unicode="&#xe080;" d="M315 198l198 -198l552 550l-1 1l-551 550l-198 -197l353 -353z" />
<glyph unicode="&#xe081;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
<glyph unicode="&#xe082;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM300 500h600v200h-600v-200z" />
<glyph unicode="&#xe083;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM247 459l212 -212l141 141l141 -141l213 212l-142 141l142 142l-213 212 l-141 -142l-141 142l-212 -212l141 -142z" />
<glyph unicode="&#xe084;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
<glyph unicode="&#xe085;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM364 700h143q4 0 11.5 -1t11 -0.5t6.5 3t3 8.5t1 11t3.5 8.5t3.5 6t5.5 4 t6.5 2.5t9 1.5t9 0.5h11.5h12.5q19 0 30 -10t11 -26q0 -21 -4.5 -27.5t-26.5 -21.5q-5 -1 -12.5 -3.5t-27 -13.5t-34 -27t-26.5 -46.5t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 46t31 69t14 93.5q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5 t-53.5 -74.5t-19 -114zM500 300h200v100h-200v-100z" />
<glyph unicode="&#xe086;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200 v100h-200v-100z" />
<glyph unicode="&#xe087;" d="M0 500v200h194q15 60 36 104.5t55.5 86t88 69t126.5 40.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h6h165h32v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206 h200v-206q149 48 201 206h-201v200h200q-25 74 -76 127.5t-124 76.5v-204h-200v203q-75 -24 -130 -77.5t-79 -125.5h209v-200h-210z" />
<glyph unicode="&#xe088;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM384 465l135 135l-135 135l81 81l135 -135l135 135l81 -81l-135 -135l135 -135l-81 -81l-135 136l-135 -136z" />
<glyph unicode="&#xe089;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM350 537l113 113l87 -87l204 204l113 -113l-317 -317z" />
<glyph unicode="&#xe090;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -119 66 -225l586 587q-105 65 -225 65q-177 0 -302 -125 t-125 -302zM381 235q104 -62 219 -62q177 0 302 125.5t125 301.5q0 117 -62 219z" />
<glyph unicode="&#xe091;" d="M0 547l600 453v-300h600v-300h-600v-301z" />
<glyph unicode="&#xe092;" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
<glyph unicode="&#xe093;" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
<glyph unicode="&#xe094;" d="M104 600h296v600h300v-600h298l-449 -600z" />
<glyph unicode="&#xe095;" d="M0 200q5 105 27 193t68 167t113 135t166.5 91.5t225.5 42.5v271l600 -453l-600 -448v301q-94 -2 -182.5 -20t-170.5 -52.5t-147 -92.5t-100 -135z" />
<glyph unicode="&#xe096;" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
<glyph unicode="&#xe097;" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -142l-295 -294l129 -130h-400z" />
<glyph unicode="&#xe101;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-33 14.5h-207q-20 0 -32 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
<glyph unicode="&#xe102;" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111v6t-1 15t-3 18l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6h-111v-100z M100 0h400v400h-400v-400zM200 900q-3 0 14 48t35 96l18 47l214 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
<glyph unicode="&#xe103;" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
<glyph unicode="&#xe104;" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-4 -23 -14 -51.5t-20 -49t-24 -49.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5 t30.5 2.5t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5 t8 -43t6 -39.5t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
<glyph unicode="&#xe105;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
<glyph unicode="&#xe106;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM119 600q37 -48 65.5 -82.5t84 -93t118.5 -100t126 -60.5l37 141 q-107 18 -178.5 101.5t-71.5 193.5q0 85 46 158q-97 -83 -227 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59.5 69t-43.5 68l-15 26zM780 161l38 145q22 15 45 34t45.5 43.5t40.5 44.5t40.5 49.5t34 44.5t32 44t24.5 34q-83 113 -139 175l38 146 q68 -54 132.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
<glyph unicode="&#xe107;" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 33 -48 36t-48 -29l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
<glyph unicode="&#xe108;" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
<glyph unicode="&#xe109;" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
<glyph unicode="&#xe110;" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
<glyph unicode="&#xe111;" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
<glyph unicode="&#xe112;" d="M100 600v200h300v-250v-26v-55.5t3.5 -50t11 -47.5t22 -37t35.5 -31.5t53.5 -18t74.5 -7.5t74.5 8t53.5 18.5t35.5 32t22 38t11 48t3.5 49.5v54v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5 t-89 96.5t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
<glyph unicode="&#xe113;" d="M-1 410l198 -198l353 353l353 -353l198 198l-550 552z" />
<glyph unicode="&#xe114;" d="M99 797l551 -551l550 551l-198 198l-353 -352l-352 352z" />
<glyph unicode="&#xe115;" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-199l300 -283l299 283h-200v600h-796z" />
<glyph unicode="&#xe116;" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50q0 -21 -14.5 -35.5 t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
<glyph unicode="&#xe117;" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
<glyph unicode="&#xe118;" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
<glyph unicode="&#xe119;" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
<glyph unicode="&#xe120;" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
<glyph unicode="&#xe121;" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
<glyph unicode="&#xe122;" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
<glyph unicode="&#xe123;" d="M74 350q0 21 13.5 35.5t33.5 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-22 -9 -63 -23 t-167.5 -37t-251.5 -23t-245.5 20.5t-178.5 41.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
<glyph unicode="&#xe124;" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
<glyph unicode="&#xe125;" d="M0 200v600h200v-600h-200zM300 275v400q0 37 20 63l145 196l96 198q14 28 38 48t51 20h50q39 0 69.5 -40.5t30.5 -84.5v-150l-28 -125h328q39 0 69.5 -40.5t30.5 -84.5v-100q0 -43 -29 -74l-238 -344q-37 -57 -83 -57h-250q-7 0 -41.5 25t-66.5 50l-31 25h-61 q-100 0 -100 75z" />
<glyph unicode="&#xe126;" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q123 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63z" />
<glyph unicode="&#xe127;" d="M8 200v600h200v-600h-200zM308 275q0 -13 83 -94t90 -81h341q15 0 28.5 19.5t20.5 41.5l130 339h107q84 0 138.5 39t54.5 111t-53.5 110t-138.5 38h-302l85 121q11 15 10.5 34t-13.5 32l-110 112q-22 22 -53 6l-362 -230q-6 -4 -15.5 -10.5t-25 -26t-15.5 -36.5v-525z M408 289v503l339 236l86 -83l-147 -183q-17 -23 -5 -47q2 -3 4 -5.5t4 -4t5.5 -2.5t5 -1.5t6 -1t6.5 -0.5h7.5h6.5h457q22 0 30.5 -25t-0.5 -50t-30 -25h-203q-15 0 -28.5 -20t-19.5 -41l-131 -339h-293z" />
<glyph unicode="&#xe128;" d="M-101 651q0 -72 55 -111t139 -39h107l130 -339q6 -21 19.5 -41t29.5 -20h341q8 0 94 80.5t86 93.5v526q0 17 -15 35.5t-30 27.5l-15 10l-365 230q-32 14 -54 -6l-109 -113q-13 -13 -13.5 -32t10.5 -34l85 -121q-101 1 -302 1q-85 0 -139 -38t-54 -110zM-1 601v100h476 h6.5h7.5t6.5 0.5t6.5 1t5.5 1.5t5 2.5l4 4t3.5 5.5q13 24 -5 46l-145 184l87 83l343 -237v-502l-107 -89h-293l-131 339q-6 20 -19.5 40.5t-28.5 20.5h-222zM1000 201v600h200v-600h-200z" />
<glyph unicode="&#xe129;" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6v7.5v7v456q0 22 25 31t50 -0.5t25 -30.5v-203q0 -15 20 -28.5t41 -19.5l339 -131v-293l-89 -100h-503zM400 0v200h600v-200h-600z" />
<glyph unicode="&#xe130;" d="M1 585q-15 -31 7 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM76 565l237 339h503 l89 -100v-294l-340 -130q-21 -7 -40.5 -20.5t-19.5 -28.5v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
<glyph unicode="&#xe131;" d="M22 600q0 157 77.5 290.5t210.5 210.5t290 77t290 -77t210.5 -210.5t77.5 -290.5t-77.5 -290t-210.5 -210.5t-290 -77.5t-290 77.5t-210.5 210.5t-77.5 290zM298 500h300v-194l402 294l-402 299v-198h-300v-201z" />
<glyph unicode="&#xe132;" d="M22 600q0 157 77.5 290.5t210.5 210.5t290 77t290 -77t210.5 -210.5t77.5 -290.5t-77.5 -290t-210.5 -210.5t-290 -77.5t-290 77.5t-210.5 210.5t-77.5 290zM200 600l400 -294v194h300v201h-298v198z" />
<glyph unicode="&#xe133;" d="M22 600q0 157 77.5 290.5t210.5 210.5t290 77t290 -77t210.5 -210.5t77.5 -290.5t-77.5 -290t-210.5 -210.5t-290 -77.5t-290 77.5t-210.5 210.5t-77.5 290zM302 599h197v-300h201v300h194l-294 401z" />
<glyph unicode="&#xe134;" d="M22 600q0 157 77.5 290.5t210.5 210.5t290 77t290 -77t210.5 -210.5t77.5 -290.5t-77.5 -290t-210.5 -210.5t-290 -77.5t-290 77.5t-210.5 210.5t-77.5 290zM306 602l294 -402l298 402h-197v300h-201v-300h-194z" />
<glyph unicode="&#xe135;" d="M24 600q0 154 78 287t211 211t287 78t287 -78t211 -211t78 -287t-78 -287t-211 -211t-287 -78t-287 78t-211 211t-78 287zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60q12 0 23 -5.5t23 -15t20 -13.5q16 -8 34 -15t40 -14.5t34 -12.5q22 -8 53 -31.5 t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49.5t20.5 62.5q-14 9 -37.5 9t-35.5 7q-14 8 -49 15.5t-52 18.5q-9 0 -39.5 -0.5t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12 q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5 t34 22.5q-6 17 10 36q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 41 1 44q31 -13 58.5 -14.5t39.5 3.5l11 4q6 36 -17 53.5t-64 28.5t-56 23q-20 -3 -37 1q-16 -13 -37.5 -21.5t-34 -12t-44 -8.5t-38.5 -6 q-15 -3 -45.5 0.5t-45.5 -2.5q-22 -8 -52.5 -27t-33.5 -34q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -17 8 -41.5t16.5 -44.5t9.5 -24q-9 2 -39.5 6t-52 10t-37.5 16z" />
<glyph unicode="&#xe136;" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
<glyph unicode="&#xe138;" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
<glyph unicode="&#xe139;" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
<glyph unicode="&#xe140;" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
<glyph unicode="&#xe141;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125.5 -301.5t301.5 -125.5q177 0 302 125.5t125 301.5 q0 177 -125 302t-302 125q-176 0 -301.5 -125t-125.5 -302zM291 655q0 23 16 39t38 16q23 0 39 -16t16 -39t-16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM513 609q0 32 21 56.5 t52 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-16 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-62 25.5t-26 61.5zM800 655q0 23 16 39t39 16q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16t-16 39z " />
<glyph unicode="&#xe142;" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -79.5 -17t-67.5 -51l-388 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23q38 0 53 -36 q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60l517 511 q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-39 -23 -111 -95l-512 -512q-68 -68 -81 -163z" />
<glyph unicode="&#xe143;" d="M99 785q0 64 28 122.5t73 100t104.5 64t119 20.5t120 -38.5t105.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100t27 -122.5q0 -70 -55.5 -151.5t-129.5 -151t-182.5 -181t-182.5 -212.5q-62 85 -145.5 174t-150 152.5t-127 127t-94 124.5t-33.5 118z M229 785q0 -31 29.5 -75t64.5 -80.5t97 -97.5q17 -16 25 -24q101 -98 204 -217q85 97 209 219q127 125 163 171q48 62 48 104q0 78 -53.5 132.5t-120.5 54.5q-85 0 -147 -91l-102 -147l-97 150q-58 88 -141 88q-68 0 -123.5 -55.5t-55.5 -131.5z" />
<glyph unicode="&#xe144;" d="M57 353q0 -95 66 -159l141 -142q66 -66 159 -66t159 66l283 283q66 66 66 159t-66 159l-141 141q-3 4 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q3 -3 9.5 -9t8.5 -8 l106 105l-212 212l389 389l247 -247l-95 -96l17 -17q47 -47 78 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
<glyph unicode="&#xe145;" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
<glyph unicode="&#xe146;" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
<glyph unicode="&#xe148;" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -36 9 -60t31 -38t36 -19.5t47 -13.5q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5zM700 237 q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
<glyph unicode="&#xe149;" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q32 1 102 -16t104 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
<glyph unicode="&#xe150;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
<glyph unicode="&#xe151;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
<glyph unicode="&#xe152;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
<glyph unicode="&#xe153;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
<glyph unicode="&#xe154;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
<glyph unicode="&#xe155;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
<glyph unicode="&#xe156;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
<glyph unicode="&#xe157;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
<glyph unicode="&#xe158;" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
<glyph unicode="&#xe159;" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
<glyph unicode="&#xe160;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Binary file not shown.