Browse Source

Many improvements

confirmation-email
Milad Karbasizadeh 11 years ago
parent
commit
79308c8a3f
34 changed files with 1115 additions and 133 deletions
  1. +54
    -0
      Sevomin.Models/AvalinViewModel.cs
  2. +6
    -3
      Sevomin.Models/DovominJob.cs
  3. +1
    -1
      Sevomin.Models/DovominJobViewModel.cs
  4. +1
    -0
      Sevomin.Models/DovominViewModel.cs
  5. +2
    -2
      Sevomin.Models/Helpers/SevominUserValidator.cs
  6. +3
    -1
      Sevomin.Models/JobMiniViewModel.cs
  7. +1
    -1
      Sevomin.Models/Repositories/IRepository.cs
  8. +3
    -1
      Sevomin.Models/Repositories/JobRepository.cs
  9. +1
    -0
      Sevomin.Models/Sevomin.Models.csproj
  10. +64
    -35
      Sevomin.WebFrontend.Controllers/AccountController.cs
  11. +68
    -18
      Sevomin.WebFrontend.Controllers/JobController.cs
  12. +11
    -0
      Sevomin.WebFrontend/App_Start/RouteConfig.cs
  13. +22
    -4
      Sevomin.WebFrontend/Content/common.css
  14. +6
    -3
      Sevomin.WebFrontend/Sevomin.WebFrontend.csproj
  15. +68
    -0
      Sevomin.WebFrontend/Views/Account/Dovomin.cshtml
  16. +9
    -8
      Sevomin.WebFrontend/Views/Account/Login.cshtml
  17. +53
    -3
      Sevomin.WebFrontend/Views/Account/ProfileAvalin.cshtml
  18. +12
    -5
      Sevomin.WebFrontend/Views/Home/AvalinIndex.cshtml
  19. +3
    -1
      Sevomin.WebFrontend/Views/Home/DovominIndex.cshtml
  20. +57
    -16
      Sevomin.WebFrontend/Views/Job/Apply.cshtml
  21. +1
    -1
      Sevomin.WebFrontend/Views/Job/Edit.cshtml
  22. +1
    -1
      Sevomin.WebFrontend/Views/Job/JobDigest.cshtml
  23. +2
    -3
      Sevomin.WebFrontend/Views/Job/JobEditor.cshtml
  24. +32
    -19
      Sevomin.WebFrontend/Views/Job/JobList.cshtml
  25. +1
    -1
      Sevomin.WebFrontend/Views/Job/NewJob.cshtml
  26. +19
    -0
      Sevomin.WebFrontend/Views/Job/RecentJobs.cshtml
  27. +2
    -6
      Sevomin.WebFrontend/Views/Shared/Navbar.cshtml
  28. BIN
      Sevomin.WebFrontend/fonts/BYekan.eot
  29. BIN
      Sevomin.WebFrontend/fonts/BYekan.ttf
  30. BIN
      Sevomin.WebFrontend/fonts/BYekan.woff
  31. BIN
      Sevomin.WebFrontend/fonts/WebYekan.eot
  32. +612
    -0
      Sevomin.WebFrontend/fonts/WebYekan.svg
  33. BIN
      Sevomin.WebFrontend/fonts/WebYekan.ttf
  34. BIN
      Sevomin.WebFrontend/fonts/WebYekan.woff

+ 54
- 0
Sevomin.Models/AvalinViewModel.cs View File

@ -0,0 +1,54 @@
using Sevomin.Models.Helpers;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sevomin.Models
{
public class AvalinViewModel
{
public string DisplayName
{
get
{
return this.CompanyName;
}
}
[Required]
[DisplayName("نام شرکت")]
public string CompanyName { get; set; }
[StringLength(12)]
[DisplayName("شناسه ملی")]
public string NationalId { get; set; }
[StringLength(10)]
[DisplayName("شماره ثبت")]
public string RegisterId { get; set; }
[DisplayName("آدرس")]
public string Address { get; set; }
[DisplayName("شماره تماس")]
public string CompanyPhoneNumber { get; set; }
[RegularExpression(@"^([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-zA-Z0-9]{1}[a-zA-Z0-9\-]{0,62}[a-zA-Z0-9]{1})|[a-zA-Z])\.)+[a-zA-Z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)$", ErrorMessage = "لطفا ایمیل معتبر وارد کنید.")]
[DisplayName("ایمیل")]
public string EMail { get; set; }
public AvalinViewModel(Avalin avalin)
{
this.CompanyName = avalin.CompanyName;
this.NationalId = avalin.NationalId;
this.RegisterId = avalin.RegisterId;
this.Address = avalin.Address;
this.CompanyPhoneNumber = avalin.CompanyPhoneNumber;
this.EMail = avalin.Email;
}
}
}

+ 6
- 3
Sevomin.Models/DovominJob.cs View File

@ -48,11 +48,13 @@ namespace Sevomin.Models
public DovominJob() public DovominJob()
{ {
} }
private void CalculateAffinity()
public void CalculateAffinity()
{ {
if (Dovomin == null || Job == null)
return;
MinimumRequirement = true; MinimumRequirement = true;
decimal sum = 0; decimal sum = 0;
decimal count = 0; decimal count = 0;
@ -84,11 +86,12 @@ namespace Sevomin.Models
} }
if (dpv == null) if (dpv == null)
continue; continue;
if (jpv > dpv)
if (jpv <= dpv)
sum += m; sum += m;
else else
sum += m * ((jpv.Value - dpv.Value) / jpv.Value); sum += m * ((jpv.Value - dpv.Value) / jpv.Value);
} }
this.Affinity = sum / count;
} }
} }
} }

+ 1
- 1
Sevomin.Models/DovominJobViewModel.cs View File

@ -32,7 +32,7 @@ namespace Sevomin.Models
} }
[Required(ErrorMessage = "ورود {0} الزامی است.")] [Required(ErrorMessage = "ورود {0} الزامی است.")]
[DisplayName("نامه خصوصی برای کارفرما")]
[DisplayName("یادداشت برای کارفرما")]
public string CoverLetter { get; set; } public string CoverLetter { get; set; }
public decimal Affinity { get; set; } public decimal Affinity { get; set; }


+ 1
- 0
Sevomin.Models/DovominViewModel.cs View File

@ -14,6 +14,7 @@ namespace Sevomin.Models
[StringLength(128)] [StringLength(128)]
public string Id { get; set; } public string Id { get; set; }
[DisplayName("نام و نام خانوادگی")]
public string DisplayName public string DisplayName
{ {
get get


+ 2
- 2
Sevomin.Models/Helpers/SevominUserValidator.cs View File

@ -16,9 +16,9 @@ namespace Sevomin.Models.Helpers
} }
public async Task<IdentityResult> ValidateAsync(User item) public async Task<IdentityResult> ValidateAsync(User item)
{
{
var errors = new List<string>(); var errors = new List<string>();
if (string.IsNullOrWhiteSpace(item.UserName)) if (string.IsNullOrWhiteSpace(item.UserName))
errors.Add("نام کاربری نمی تواند خالی باشد. لطفا ایمیل خود را وارد نمایید."); errors.Add("نام کاربری نمی تواند خالی باشد. لطفا ایمیل خود را وارد نمایید.");
else if (await (manager.FindByNameAsync(item.UserName)) != null) else if (await (manager.FindByNameAsync(item.UserName)) != null)


+ 3
- 1
Sevomin.Models/JobMiniViewModel.cs View File

@ -19,6 +19,8 @@ namespace Sevomin.Models
[StringLength(128)] [StringLength(128)]
public string AvalinId { get; set; } public string AvalinId { get; set; }
public string AvalinUsername { get; set; }
[DisplayName("آخرین مهلت اعلام آمادگی")] [DisplayName("آخرین مهلت اعلام آمادگی")]
[DataType(DataType.Date)] [DataType(DataType.Date)]
public DateTime ExpireDate { get; set; } public DateTime ExpireDate { get; set; }
@ -55,7 +57,7 @@ namespace Sevomin.Models
this.AvalinId = job.AvalinId; this.AvalinId = job.AvalinId;
this.ExpireDate = job.ExpireDate == DateTime.MinValue ? DateTime.Now.AddDays(14) : job.ExpireDate; this.ExpireDate = job.ExpireDate == DateTime.MinValue ? DateTime.Now.AddDays(14) : job.ExpireDate;
this.IsFullTime = job.IsFullTime; this.IsFullTime = job.IsFullTime;
this.AvalinUsername = job.Avalin.UserName;
this.ShowCompanyLogo = job.ShowCompanyLogo; this.ShowCompanyLogo = job.ShowCompanyLogo;
this.ShowCompanyName = job.ShowCompanyName; this.ShowCompanyName = job.ShowCompanyName;
if (this.ShowCompanyName) if (this.ShowCompanyName)


+ 1
- 1
Sevomin.Models/Repositories/IRepository.cs View File

@ -19,7 +19,7 @@ namespace Sevomin.Models.Repositories
{ {
Job GetEmptyJobFor(Avalin avalin); Job GetEmptyJobFor(Avalin avalin);
IQueryable<Job> ListAll(); IQueryable<Job> ListAll();
void Apply(Dovomin dovomin, Job job, string coverLetter);
DovominJob Apply(Dovomin dovomin, Job job, string coverLetter);
} }
public interface IParameterRepository : IRepository<long, Parameter> public interface IParameterRepository : IRepository<long, Parameter>


+ 3
- 1
Sevomin.Models/Repositories/JobRepository.cs View File

@ -82,7 +82,7 @@ namespace Sevomin.Models.Repositories
return job; return job;
} }
public void Apply(Dovomin dovomin, Job job, string coverLetter)
public DovominJob Apply(Dovomin dovomin, Job job, string coverLetter)
{ {
DovominJob dj = new DovominJob(dovomin, job); DovominJob dj = new DovominJob(dovomin, job);
dj.ApplyDate = DateTime.UtcNow; dj.ApplyDate = DateTime.UtcNow;
@ -98,6 +98,8 @@ namespace Sevomin.Models.Repositories
} }
Save(); Save();
return dj;
} }
#endregion #endregion
} }


+ 1
- 0
Sevomin.Models/Sevomin.Models.csproj View File

@ -62,6 +62,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Avalin.cs" /> <Compile Include="Avalin.cs" />
<Compile Include="AvalinViewModel.cs" />
<Compile Include="DovominJob.cs" /> <Compile Include="DovominJob.cs" />
<Compile Include="DovominJobViewModel.cs" /> <Compile Include="DovominJobViewModel.cs" />
<Compile Include="DovominParameterViewModel.cs" /> <Compile Include="DovominParameterViewModel.cs" />


+ 64
- 35
Sevomin.WebFrontend.Controllers/AccountController.cs View File

@ -8,6 +8,7 @@ using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Web; using System.Web;
using System.Web.Mvc; using System.Web.Mvc;
using System.Linq;
namespace Sevomin.WebFrontend.Controllers namespace Sevomin.WebFrontend.Controllers
{ {
@ -60,6 +61,9 @@ namespace Sevomin.WebFrontend.Controllers
if (!(await roleManager.RoleExistsAsync("Dovomin"))) if (!(await roleManager.RoleExistsAsync("Dovomin")))
await roleManager.CreateAsync(new IdentityRole("Dovomin")); await roleManager.CreateAsync(new IdentityRole("Dovomin"));
//Todo: Check this
UserManager.UserValidator = new UserValidator<User>(UserManager);
if (user is Avalin) if (user is Avalin)
await UserManager.AddToRoleAsync(user.Id, "Avalin"); await UserManager.AddToRoleAsync(user.Id, "Avalin");
else if(user is Dovomin) else if(user is Dovomin)
@ -123,34 +127,6 @@ namespace Sevomin.WebFrontend.Controllers
AuthenticationManager.SignOut(); AuthenticationManager.SignOut();
return RedirectToAction("Index", "Home"); return RedirectToAction("Index", "Home");
} }
private async Task SignInAsync(User user, bool isPersistent)
{
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
}
private ActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
private void AddErrors(IdentityResult result)
{
foreach (var error in result.Errors)
{
ModelState.AddModelError("", error);
}
}
[Authorize] [Authorize]
public async Task<ActionResult> MyProfile(bool? success) public async Task<ActionResult> MyProfile(bool? success)
@ -163,7 +139,7 @@ namespace Sevomin.WebFrontend.Controllers
User u = await UserManager.FindByNameAsync(User.Identity.Name); User u = await UserManager.FindByNameAsync(User.Identity.Name);
if (u is Avalin) if (u is Avalin)
{ {
return View("ProfileAvalin", u as Avalin);
return View("ProfileAvalin", new AvalinViewModel(u as Avalin));
} }
else else
{ {
@ -186,7 +162,7 @@ namespace Sevomin.WebFrontend.Controllers
try try
{ {
Dovomin dovomin = (Dovomin)u; Dovomin dovomin = (Dovomin)u;
dovomin.BirthDate = DateAssist.ToMiladi(JalaliBirthDate);
dovomin.BirthDate = DateAssist.ValidateAndSetToMiladi(JalaliBirthDate);
dovomin.Description = Description; dovomin.Description = Description;
dovomin.FirstName = FirstName; dovomin.FirstName = FirstName;
dovomin.LastName = LastName; dovomin.LastName = LastName;
@ -199,7 +175,7 @@ namespace Sevomin.WebFrontend.Controllers
string value = form[string.Format("value-{0}", jp.Parameter.Id)]; string value = form[string.Format("value-{0}", jp.Parameter.Id)];
jp.SetValue(value); jp.SetValue(value);
} }
if (EnglishResume != null) if (EnglishResume != null)
{ {
dovomin.EnglishResume = string.Format("{0}-resume-en{2}", User.Identity.Name, "", System.IO.Path.GetExtension(EnglishResume.FileName)); dovomin.EnglishResume = string.Format("{0}-resume-en{2}", User.Identity.Name, "", System.IO.Path.GetExtension(EnglishResume.FileName));
@ -209,7 +185,7 @@ namespace Sevomin.WebFrontend.Controllers
{ {
dovomin.PersianResume = string.Format("{0}-resume-fa{2}", User.Identity.Name, "", System.IO.Path.GetExtension(PersianResume.FileName)); dovomin.PersianResume = string.Format("{0}-resume-fa{2}", User.Identity.Name, "", System.IO.Path.GetExtension(PersianResume.FileName));
PersianResume.SaveAs(System.IO.Path.Combine(Server.MapPath("~/App_Data/resumes"), dovomin.PersianResume)); PersianResume.SaveAs(System.IO.Path.Combine(Server.MapPath("~/App_Data/resumes"), dovomin.PersianResume));
}
}
SevominDbContext.Current.SaveChanges(); SevominDbContext.Current.SaveChanges();
@ -218,7 +194,7 @@ namespace Sevomin.WebFrontend.Controllers
catch (Exception) catch (Exception)
{ {
throw; throw;
}
}
} }
[Authorize] [Authorize]
@ -241,13 +217,66 @@ namespace Sevomin.WebFrontend.Controllers
SevominDbContext.Current.SaveChanges(); SevominDbContext.Current.SaveChanges();
return RedirectToAction("MyProfile", new { success = true });
} }
catch (Exception) catch (Exception)
{ {
throw; throw;
} }
return View("ProfileAvalin", u as Avalin);
} }
public async Task<ActionResult> Dovomin(string userId)
{
User user = await UserManager.FindByIdAsync(userId);
if ((user as Dovomin) == null)
return HttpNotFound();
if (User.IsInRole("Dovomin"))
{
if (userId != user.Id)
{
return HttpNotFound();
}
else { }
}
else if (User.IsInRole("Avalin"))
{
if (!(user as Avalin).Jobs.Any(j => j.Applications.Any(c => c.DovominId == userId)))
{
return HttpNotFound();
}
}
return View(new DovominViewModel(user as Dovomin));
}
private async Task SignInAsync(User user, bool isPersistent)
{
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
}
private ActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
private void AddErrors(IdentityResult result)
{
foreach (var error in result.Errors)
{
ModelState.AddModelError("", error);
}
}
} }
} }

+ 68
- 18
Sevomin.WebFrontend.Controllers/JobController.cs View File

@ -1,9 +1,12 @@
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.Owin.Security;
using Sevomin.Models; using Sevomin.Models;
using Sevomin.Models.Enums; using Sevomin.Models.Enums;
using Sevomin.Models.Helpers; using Sevomin.Models.Helpers;
using Sevomin.Models.Repositories; using Sevomin.Models.Repositories;
using System; using System;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -14,7 +17,7 @@ namespace Sevomin.WebFrontend.Controllers
{ {
public class JobController : AuthorizedController public class JobController : AuthorizedController
{ {
IJobRepository _JobRepository;
IJobRepository _jobRepository;
private HttpContextBase _httpContext; private HttpContextBase _httpContext;
public JobController() public JobController()
@ -31,7 +34,7 @@ namespace Sevomin.WebFrontend.Controllers
public JobController(IJobRepository jobRepository, SevominUserManager userManager, HttpContextBase httpContext) : base(userManager) public JobController(IJobRepository jobRepository, SevominUserManager userManager, HttpContextBase httpContext) : base(userManager)
{ {
_JobRepository = jobRepository;
_jobRepository = jobRepository;
_httpContext = httpContext; _httpContext = httpContext;
} }
@ -43,7 +46,7 @@ namespace Sevomin.WebFrontend.Controllers
Avalin avalin = u as Avalin; Avalin avalin = u as Avalin;
if (avalin == null) if (avalin == null)
throw new InvalidOperationException("جای شما که اینجا نیست!"); throw new InvalidOperationException("جای شما که اینجا نیست!");
Job job = _JobRepository.GetEmptyJobFor(avalin);
Job job = _jobRepository.GetEmptyJobFor(avalin);
return job; return job;
} }
@ -84,15 +87,20 @@ namespace Sevomin.WebFrontend.Controllers
if (u == null) if (u == null)
throw new InvalidOperationException("شما خیلی هنرمندی! به ما هم بگو چجوری!"); throw new InvalidOperationException("شما خیلی هنرمندی! به ما هم بگو چجوری!");
Avalin avalin = (Avalin)u; Avalin avalin = (Avalin)u;
Job job = _JobRepository.Find(id);
Job job = _jobRepository.Find(id);
if (job == null || job.AvalinId != avalin.Id) if (job == null || job.AvalinId != avalin.Id)
throw new InvalidOperationException("شماره آگهی استخدام مورد نظر معتبر نیست"); throw new InvalidOperationException("شماره آگهی استخدام مورد نظر معتبر نیست");
return job; return job;
} }
public async Task<ActionResult> Edit(long id)
[Authorize(Roles= "Avalin")]
public async Task<ActionResult> Edit(long id)
{ {
Job job = await FetchJob(id); Job job = await FetchJob(id);
if (job.AvalinId != (await UserManager.FindByNameAsync(User.Identity.Name)).Id)
return HttpNotFound();
JobViewModel jvm = new JobViewModel(job); JobViewModel jvm = new JobViewModel(job);
return View(jvm); return View(jvm);
} }
@ -103,6 +111,10 @@ namespace Sevomin.WebFrontend.Controllers
bool ShowCompanyName, string Description, bool ShowCompanyLogo, ResumeTypes ResumeType, FormCollection form) bool ShowCompanyName, string Description, bool ShowCompanyLogo, ResumeTypes ResumeType, FormCollection form)
{ {
Job job = await FetchJob(id); Job job = await FetchJob(id);
if (job.AvalinId != (await UserManager.FindByNameAsync(User.Identity.Name)).Id)
return HttpNotFound();
try try
{ {
UpdateFields(JalaliExpireDate, ContactPersonName, ContactPersonPhone, UpdateFields(JalaliExpireDate, ContactPersonName, ContactPersonPhone,
@ -121,20 +133,31 @@ namespace Sevomin.WebFrontend.Controllers
return View(new JobViewModel(job)); return View(new JobViewModel(job));
} }
} }
[AllowAnonymous]
public ActionResult RecentJobs()
{
return View(_jobRepository.ListAll()
.Where(d => d.ExpireDate >= DateTime.Now)
.OrderByDescending(d => d.ExpireDate)
.ToList()
.Select(j => new JobMiniViewModel(j)).ToList());
}
public PartialViewResult LatestJobList(int count) public PartialViewResult LatestJobList(int count)
{ {
return PartialView("JobList", JobRepository.Current.ListAll()
return PartialView("JobList", _jobRepository.ListAll()
.Where(d => d.ExpireDate >= DateTime.Now) .Where(d => d.ExpireDate >= DateTime.Now)
.OrderBy(d => d.ExpireDate)
.OrderByDescending(d => d.ExpireDate)
.Take(count) .Take(count)
.ToList() .ToList()
.Select(j => new JobMiniViewModel(j)).ToList()); .Select(j => new JobMiniViewModel(j)).ToList());
} }
[AllowAnonymous]
public ActionResult SingleJob(long jobId) public ActionResult SingleJob(long jobId)
{ {
Job job = _JobRepository.Find(jobId);
Job job = _jobRepository.Find(jobId);
if (job == null) if (job == null)
return HttpNotFound(); return HttpNotFound();
@ -153,11 +176,13 @@ namespace Sevomin.WebFrontend.Controllers
public async Task<ActionResult> Apply(long jobId) public async Task<ActionResult> Apply(long jobId)
{ {
Dovomin user = (await UserManager.FindByNameAsync(User.Identity.Name)) as Dovomin; Dovomin user = (await UserManager.FindByNameAsync(User.Identity.Name)) as Dovomin;
Job job = _JobRepository.Find(jobId);
Job job = _jobRepository.Find(jobId);
if (user == null || job == null) if (user == null || job == null)
return HttpNotFound(); return HttpNotFound();
DovominJob dj = new DovominJob(user, job);
bool alreadyApplied = job.Applications.Any(a => a.DovominId == user.Id);
DovominJob dj = alreadyApplied ? job.Applications.First(a => a.DovominId == user.Id) : new DovominJob(user, job);
dj.CalculateAffinity();
JobMiniViewModel jvm = new JobMiniViewModel(job, 3); JobMiniViewModel jvm = new JobMiniViewModel(job, 3);
StringBuilder sb = new StringBuilder("کارشناس برنامه ریزی و کنترل پروژه "); StringBuilder sb = new StringBuilder("کارشناس برنامه ریزی و کنترل پروژه ");
@ -165,7 +190,8 @@ namespace Sevomin.WebFrontend.Controllers
sb.Append(string.Format(param.Item1 + " ", param.Item2)); sb.Append(string.Format(param.Item1 + " ", param.Item2));
ViewBag.ShortJobDescription = sb.ToString(); ViewBag.ShortJobDescription = sb.ToString();
ViewBag.Job = new JobViewModel(job);
ViewBag.Job = new JobViewModel(job);
ViewBag.AlreadyApplied = alreadyApplied;
return View(new DovominJobViewModel(dj)); return View(new DovominJobViewModel(dj));
} }
@ -176,11 +202,11 @@ namespace Sevomin.WebFrontend.Controllers
public async Task<ActionResult> Apply(long jobId, string CoverLetter) public async Task<ActionResult> Apply(long jobId, string CoverLetter)
{ {
Dovomin user = (await UserManager.FindByNameAsync(User.Identity.Name)) as Dovomin; Dovomin user = (await UserManager.FindByNameAsync(User.Identity.Name)) as Dovomin;
Job job = _JobRepository.Find(jobId);
Job job = _jobRepository.Find(jobId);
if (user == null || job == null) if (user == null || job == null)
return HttpNotFound(); return HttpNotFound();
_JobRepository.Apply(user, job, CoverLetter);
DovominJob dj = _jobRepository.Apply(user, job, CoverLetter);
JobMiniViewModel jvm = new JobMiniViewModel(job, 3); JobMiniViewModel jvm = new JobMiniViewModel(job, 3);
StringBuilder sb = new StringBuilder("کارشناس برنامه ریزی و کنترل پروژه "); StringBuilder sb = new StringBuilder("کارشناس برنامه ریزی و کنترل پروژه ");
@ -189,12 +215,36 @@ namespace Sevomin.WebFrontend.Controllers
ViewBag.ShortJobDescription = sb.ToString(); ViewBag.ShortJobDescription = sb.ToString();
ViewBag.Job = new JobViewModel(job); ViewBag.Job = new JobViewModel(job);
ViewBag.AlreadyApplied = true;
ViewBag.Result = new PostResultViewModel(true, "اعلام آمادگی شما برای این فرصت شغلی ثبت شد."); ViewBag.Result = new PostResultViewModel(true, "اعلام آمادگی شما برای این فرصت شغلی ثبت شد.");
return View();
return View(new DovominJobViewModel(dj));
} }
public ActionResult MyJobs(int? count)
{
User user = UserManager.FindByName(User.Identity.Name);
List<JobMiniViewModel> retList = new List<JobMiniViewModel>();
if (user is Avalin)
retList = _jobRepository.ListAll()
.Where(j => j.AvalinId == user.Id)
.OrderByDescending(j => j.CreateDate)
.ToList()
.Select(j => new JobMiniViewModel(j))
.ToList();
else
retList = _jobRepository.ListAll()
.Where(j => j.Applications.Any(a => a.DovominId == user.Id))
.OrderByDescending(j => j.CreateDate)
.ToList()
.Select(j => new JobMiniViewModel(j))
.ToList();
return PartialView("JobList", retList);
}
private static void UpdateFields(string JalaliExpireDate, string ContactPersonName, string ContactPersonPhone, string ContactPersonEMail, bool IsFullTime, bool ShowCompanyName, string Description, bool ShowCompanyLogo, ResumeTypes ResumeType, FormCollection form, Job job) private static void UpdateFields(string JalaliExpireDate, string ContactPersonName, string ContactPersonPhone, string ContactPersonEMail, bool IsFullTime, bool ShowCompanyName, string Description, bool ShowCompanyLogo, ResumeTypes ResumeType, FormCollection form, Job job)
{ {
@ -227,4 +277,4 @@ namespace Sevomin.WebFrontend.Controllers
} }
} }
} }
}
}

+ 11
- 0
Sevomin.WebFrontend/App_Start/RouteConfig.cs View File

@ -48,6 +48,11 @@ namespace Sevomin.WebFrontend
url: "my-profile", url: "my-profile",
defaults: new { controller = "Account", action = "MyProfile" } defaults: new { controller = "Account", action = "MyProfile" }
); );
routes.MapRoute(
name: "DovominProfile",
url: "dovomin/id-{userId}",
defaults: new { controller = "Account", action = "Dovomin" }
);
#endregion #endregion
#region For Jobs #region For Jobs
@ -69,6 +74,12 @@ namespace Sevomin.WebFrontend
defaults: new { controller = "Job", action = "Apply" } defaults: new { controller = "Job", action = "Apply" }
); );
routes.MapRoute(
name: "RecentJobs",
url: "jobs",
defaults: new { controller = "Job", action = "RecentJobs" }
);
routes.MapRoute( routes.MapRoute(
name: "SingleJob", name: "SingleJob",
url: "jobs/{jobId}", url: "jobs/{jobId}",


+ 22
- 4
Sevomin.WebFrontend/Content/common.css View File

@ -5,10 +5,15 @@
url('/fonts/BKoodakBold.ttf') format('truetype'); /* Saf3—5, Chrome4+, FF3.5, Opera 10+ */ url('/fonts/BKoodakBold.ttf') format('truetype'); /* Saf3—5, Chrome4+, FF3.5, Opera 10+ */
} }
@font-face { @font-face {
font-family: 'Yekan';
src: url('/fonts/BYekan.eot?#') format('eot'), /* IE6–8 */
url('/fonts/BYekan.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('/fonts/BYekan.ttf') format('truetype'); /* Saf3—5, Chrome4+, FF3.5, Opera 10+ */
font-family: 'Yekan';
src: url('/fonts/WebYekan.eot');
src: url('/fonts/WebYekan.eot?#iefix') format('embedded-opentype'),
url('/fonts/WebYekan.woff') format('woff'),
url('/fonts/WebYekan.ttf') format('truetype'),
url('/fonts/WebYekan.svg#WebYekan') format('svg');
font-weight: normal;
font-style: normal;
unicode-range: U+060006FF;
} }
body{ body{
@ -74,4 +79,17 @@ th{
.job-list-bottom-toolbar .date{ .job-list-bottom-toolbar .date{
float: right; float: right;
}
#login-intro-text{
line-height: 1.5em;
font-size: 1.3em;
}
#login-intro-box{
border-radius: 5px;
border: 1px solid #808080;
margin: 10px;
padding: 5px;
background: #dcdcdc;
} }

+ 6
- 3
Sevomin.WebFrontend/Sevomin.WebFrontend.csproj View File

@ -199,18 +199,19 @@
<Content Include="Content\themes\base\minified\jquery.ui.theme.min.css" /> <Content Include="Content\themes\base\minified\jquery.ui.theme.min.css" />
<Content Include="Content\themes\base\minified\jquery.ui.tooltip.min.css" /> <Content Include="Content\themes\base\minified\jquery.ui.tooltip.min.css" />
<Content Include="fonts\glyphicons-halflings-regular.svg" /> <Content Include="fonts\glyphicons-halflings-regular.svg" />
<Content Include="fonts\WebYekan.svg" />
<Content Include="Global.asax" /> <Content Include="Global.asax" />
<Content Include="fonts\BKoodakBold.eot" /> <Content Include="fonts\BKoodakBold.eot" />
<Content Include="fonts\BKoodakBold.ttf" /> <Content Include="fonts\BKoodakBold.ttf" />
<Content Include="fonts\BKoodakBold.woff" /> <Content Include="fonts\BKoodakBold.woff" />
<Content Include="fonts\BYekan.eot" />
<Content Include="fonts\BYekan.ttf" />
<Content Include="fonts\BYekan.woff" />
<Content Include="fonts\glyphicons-halflings-regular.woff" /> <Content Include="fonts\glyphicons-halflings-regular.woff" />
<Content Include="fonts\glyphicons-halflings-regular.ttf" /> <Content Include="fonts\glyphicons-halflings-regular.ttf" />
<Content Include="fonts\glyphicons-halflings-regular.eot" /> <Content Include="fonts\glyphicons-halflings-regular.eot" />
<Content Include="Content\bootstrap-theme.css.map" /> <Content Include="Content\bootstrap-theme.css.map" />
<Content Include="Content\bootstrap.css.map" /> <Content Include="Content\bootstrap.css.map" />
<Content Include="fonts\WebYekan.eot" />
<Content Include="fonts\WebYekan.ttf" />
<Content Include="fonts\WebYekan.woff" />
<None Include="Scripts\jquery-1.10.2.intellisense.js" /> <None Include="Scripts\jquery-1.10.2.intellisense.js" />
<Content Include="Scripts\bootstrap.js" /> <Content Include="Scripts\bootstrap.js" />
<Content Include="Scripts\bootstrap.min.js" /> <Content Include="Scripts\bootstrap.min.js" />
@ -262,6 +263,8 @@
<Content Include="Views\Job\SingleJob.cshtml" /> <Content Include="Views\Job\SingleJob.cshtml" />
<Content Include="Views\Job\Apply.cshtml" /> <Content Include="Views\Job\Apply.cshtml" />
<Content Include="Views\Job\JobDigest.cshtml" /> <Content Include="Views\Job\JobDigest.cshtml" />
<Content Include="Views\Job\RecentJobs.cshtml" />
<Content Include="Views\Account\Dovomin.cshtml" />
<None Include="Web.Debug.config"> <None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon> <DependentUpon>Web.config</DependentUpon>
</None> </None>


+ 68
- 0
Sevomin.WebFrontend/Views/Account/Dovomin.cshtml View File

@ -0,0 +1,68 @@
@model Sevomin.Models.DovominViewModel
@{
ViewBag.Title = "Dovomin";
}
<div class="page-header rtl">
<h1>پروفایل @Model.DisplayName</h1>
</div>
<div class="table-responsive rtl">
<table class="table table-bordered">
<thead>
<tr>
<th>@Html.DisplayNameFor(m => m.JalaliBirthDate)</th>
<th>تمایل به کار فول تایم</th>
<th>تمایل به کار پارت تایم</th>
<th>@Html.DisplayNameFor(m => m.EnglishResume)</th>
<th>@Html.DisplayNameFor(m => m.PersianResume)</th>
</tr>
</thead>
<tbody>
<tr>
<td>@Html.DisplayFor(m => m.JalaliBirthDate)</td>
<td>@(Model.IsFullTime ? "بله" : "خیر")</td>
<td>@(Model.IsPartTime ? "بله" : "خیر")</td>
<td>
@if (!string.IsNullOrWhiteSpace(Model.EnglishResume)){
<a class="rtl" href="@Url.RouteUrl("EnglishResumeGrabber")" class="pull-left"><span class="glyphicon glyphicon-arrow-down"></span>فایل رزومه انگلیسی</a>
}
else {
<span>ندارد</span>
}
</td>
<td>
@if (!string.IsNullOrWhiteSpace(Model.PersianResume)){
<a class="rtl" href="@Url.RouteUrl("PersianResumeGrabber")" class="pull-left"><span class="glyphicon glyphicon-arrow-down"></span>فایل رزومه فارسی</a>
}
else {
<spanp>ندارد</spanp>
}
</td>
</tr>
</tbody>
</table>
<p>
@Model.Description
</p>
<table class="table table-stripped table-bordered">
<thead>
<tr>
<th colspan="2">توانایی های فردی</th>
</tr>
</thead>
<tbody>
@foreach (var param in Model.Parameters)
{
if (!string.IsNullOrWhiteSpace(param.StringValue))
{
<tr>
<th>@param.ParameterName</th>
<td>@(param.DisplayMethod == 4 ? param.ParameterValues.FirstOrDefault(v => v.Item1.ToString() == param.StringValue).Item2 : param.StringValue)</td>
</tr>
}
}
</tbody>
</table>
</div>

+ 9
- 8
Sevomin.WebFrontend/Views/Account/Login.cshtml View File

@ -6,6 +6,14 @@
<div class="row rtl"> <div class="row rtl">
<h2>ورود به سومین</h2> <h2>ورود به سومین</h2>
<div class="col-md-6 pull-right">
<div id="login-intro-box">
<p id="login-intro-text">
اگر قبلا در سایت ثبت‌نام کرده‌اید می‌توانید با وارد کردن کد کاربری و کلمه عبور وارد سایت شوید.
اگر قبلا در سایت ثبت‌نام نکرده‌اید می‌توانید هم‌اکنون به هر بخشی که مایل هستید بروید و اطلاعات موجود در سایت را مرور کنید (به جز مواردی که از سوی اشخاص محرمانه معرفی شده‌اند). می‌توانید با مراجعه به <a href="@Url.Action("Index", "Home")">صفحه اول سایت</a> ثبت‌نام نیز بکنید تا بتوانید برای آگهی‌های استخدام اعلام آمادگی کنید، آگهی استخدام ثبت کنید و ...
</p>
</div>
</div>
<div class="col-md-6"> <div class="col-md-6">
<p> <p>
@Html.ValidationSummary() @Html.ValidationSummary()
@ -39,11 +47,4 @@
</div> </div>
} }
</div> </div>
<div class="col-md-6">
<p>
لورم ایپسوم متنی است که ساختگی برای طراحی و چاپ آن مورد است. صنعت چاپ زمانی لازم بود شرایطی شما باید فکر ثبت نام و طراحی، لازمه خروج می باشد. در ضمن قاعده همفکری ها جوابگوی سئوالات زیاد شاید باشد، آنچنان که لازم بود طراحی گرافیکی خوب بود. کتابهای زیادی شرایط سخت ، دشوار و کمی در سالهای دور لازم است. هدف از این نسخه فرهنگ پس از آن و دستاوردهای خوب شاید باشد. حروفچینی لازم در شرایط فعلی لازمه تکنولوژی بود که گذشته، حال و آینده را شامل گردد. سی و پنج درصد از طراحان در قرن پانزدهم میبایست پرینتر در ستون و سطر حروف لازم است، بلکه شناخت این ابزار گاه اساسا بدون هدف بود و سئوالهای زیادی در گذشته بوجود می آید، تنها لازمه آن بود.
لورم ایپسوم متنی است که ساختگی برای طراحی و چاپ آن مورد است. صنعت چاپ زمانی لازم بود شرایطی شما باید فکر ثبت نام و طراحی، لازمه خروج می باشد. در ضمن قاعده همفکری ها جوابگوی سئوالات زیاد شاید باشد، آنچنان که لازم بود طراحی گرافیکی خوب بود. کتابهای زیادی شرایط سخت ، دشوار و کمی در سالهای دور لازم است. هدف از این نسخه فرهنگ پس از آن و دستاوردهای خوب شاید باشد. حروفچینی لازم در شرایط فعلی لازمه تکنولوژی بود که گذشته، حال و آینده را شامل گردد. سی و پنج درصد از طراحان در قرن پانزدهم میبایست پرینتر در ستون و سطر حروف لازم است، بلکه شناخت این ابزار گاه اساسا بدون هدف بود و سئوالهای زیادی در گذشته بوجود می آید، تنها لازمه آن بود.
</p>
</div>
</div>
</div>

+ 53
- 3
Sevomin.WebFrontend/Views/Account/ProfileAvalin.cshtml View File

@ -1,5 +1,55 @@
@{
ViewBag.Title = "View1";
@model Sevomin.Models.AvalinViewModel
@{
ViewBag.Title = "ویرایش پروفایل";
} }
<h2>ProfileAvalin</h2>
@Html.Partial("PostResult", ViewBag.Result as Sevomin.Models.PostResultViewModel)
<div class="page-header rtl">
<h1>ویرایش پروفایل <small>@Model.DisplayName</small></h1>
</div>
@using (Html.BeginForm("ProfileAvalin", "Account", FormMethod.Post, new { role = "form", @class = "assess-inputs", enctype = "multipart/form-data" }))
{
<div class="row" style="margin-bottom: 20px">
<div class="col-md-12">
<button type="submit" class="btn btn-primary pull-left">به روز رسانی پروفایل</button>
</div>
</div>
<div class="row rtl">
<div class="panel panel-default">
<div class="panel-body">
<div class="col-md-6">
<div class="form-group">
@Html.LabelFor(model => model.CompanyPhoneNumber)
@Html.TextBoxFor(model => model.CompanyPhoneNumber, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(model => model.EMail)
@Html.TextBoxFor(model => model.EMail, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(model => model.Address)
@Html.TextAreaFor(model => model.Address, new { @class = "form-control" })
</div>
</div>
<div class="col-md-6">
<div class="form-group">
@Html.LabelFor(model => model.CompanyName)
@Html.TextBoxFor(model => model.CompanyName, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(model => model.NationalId)
@Html.TextBoxFor(model => model.NationalId, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(model => model.RegisterId)
@Html.TextBoxFor(model => model.RegisterId, new { @class = "form-control" })
</div>
</div>
</div>
</div>
</div>
<div class="clearfix">
<button type="submit" class="btn btn-primary pull-left">به روز رسانی پروفایل</button>
</div>
}

+ 12
- 5
Sevomin.WebFrontend/Views/Home/AvalinIndex.cshtml View File

@ -4,10 +4,17 @@
<nav> <nav>
<div class="btn-toolbar"> <div class="btn-toolbar">
<div class="btn-group">
<a href="@Url.Action("NewJob", "Job")" class="btn btn-default">انتشار آگهی</a>
<a href="#" class="btn btn-default">آگهی های شما</a>
<a href="#" class="btn btn-default">وضعیت آگهی های جاری</a>
<div class="btn-group">
<a href="#" class="btn btn-default disabled" role="button">آگهی های شما</a>
<a href="#" class="btn btn-default disabled" role="button">وضعیت آگهی های جاری</a>
<a href="@Url.Action("NewJob", "Job")" class="btn btn-default rtl"><span class="glyphicon glyphicon-plus"></span> انتشار آگهی</a>
</div> </div>
</div> </div>
</nav>
</nav>
<div class="row">
<div class="col-md-6">
<h3 class="rtl">آگهی های شما</h3>
@Html.Action("MyJobs", "Job")
</div>
</div>

+ 3
- 1
Sevomin.WebFrontend/Views/Home/DovominIndex.cshtml View File

@ -3,6 +3,8 @@
} }
<section> <section>
<div class="row"> <div class="row">
@Html.Action("LatestJobList", "Job", new { count = 15 })
<div class="col-md-12">
@Html.Action("LatestJobList", "Job", new { count = 15 })
</div>
</div> </div>
</section> </section>

+ 57
- 16
Sevomin.WebFrontend/Views/Job/Apply.cshtml View File

@ -2,26 +2,67 @@
@{ @{
ViewBag.Title = ViewBag.ShortJobDescription; ViewBag.Title = ViewBag.ShortJobDescription;
bool AlreadyApplied = (ViewBag.AlreadyApplied != null && (bool)ViewBag.AlreadyApplied);
} }
@Html.Partial("PostResult", ViewBag.Result as Sevomin.Models.PostResultViewModel) @Html.Partial("PostResult", ViewBag.Result as Sevomin.Models.PostResultViewModel)
<div class="col-md-12 rtl">
<h4 class="rtl">@ViewBag.ShortJobDescription</h4>
<h3 class="rtl">@ViewBag.ShortJobDescription</h3>
@Html.Partial("JobDigest", (Sevomin.Models.JobViewModel)ViewBag.Job)
@if (User.IsInRole("Dovomin")) {
<div class="row">
<div class="col-md-4 rtl">
<span>میزان مطابقت شما با این فرصت شغلی @(Model.Affinity*100) درصد می باشد.</span>
<div class="progress progress-striped">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: @(Model.Affinity*100)%">
<span class="sr-only">@(Model.Affinity*100)%</span>
</div>
</div>
</div>
<div class="col-md-8 rtl">
@if (!Model.MinimumRequirement)
{
<span class="text-warning"><em>این فرصت شغلی نیاز به مهارت هایی دارد که با پروفایل شما مطابقت ندارد. اگر هنوز اطلاعات خود را کامل نکرده اید، به صفحه <a href="@Url.Action("MyProfile", "Account")">ویرایش پروفایل</a> مراجعه نمایید.</em></span>
}
else {
<span class="text-success"><em>شما تمامی مهارت های الزامی مورد نیاز این فرصت شغلی را دارید.</em></span>
}
</div>
</div>
}
<div class="row">
<div class="col-md-12 rtl">
@if (AlreadyApplied)
{
<div class="alert alert-info">اعلام آمادگی شما برای این فرصت شغلی ثبت شده است.</div>
}
@Html.Partial("JobDigest", (Sevomin.Models.JobViewModel)ViewBag.Job)
@using (Html.BeginForm("Apply", "Job", FormMethod.Post, new { role = "form" }))
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.LabelFor(model => model.CoverLetter)
<p>برای کارفرمای مربوطه پیغامی داری بگو</p>
@Html.TextAreaFor(model => model.CoverLetter, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.CoverLetter)
</div>
<div class="clearfix">
<button type="submit" class="btn btn-primary pull-left">اعلام آمادگی به کارفرما</button>
</div>
}
@if (AlreadyApplied)
{
<div class="form-group">
@Html.LabelFor(model => model.CoverLetter)
<p>
@Model.CoverLetter
</p>
</div>
}
else {
using (Html.BeginForm("Apply", "Job", FormMethod.Post, new { role = "form" }))
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.LabelFor(model => model.CoverLetter)
<span class="glyphicon glyphicon-exclamation-sign form-help" data-toggle="tooltip" data-for="CoverLetter" data-placement="top" title="پیغامی که همراه با اعلام آمادگی شما به کارفرما ارائه می شود."></span>
@Html.TextAreaFor(model => model.CoverLetter, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.CoverLetter)
</div>
<div class="clearfix">
<button type="submit" class="btn btn-primary pull-left">اعلام آمادگی به کارفرما</button>
</div>
}
}
</div>
</div> </div>

+ 1
- 1
Sevomin.WebFrontend/Views/Job/Edit.cshtml View File

@ -6,7 +6,7 @@
@Html.Partial("PostResult", ViewBag.Result as Sevomin.Models.PostResultViewModel) @Html.Partial("PostResult", ViewBag.Result as Sevomin.Models.PostResultViewModel)
<div class="page-header rtl"> <div class="page-header rtl">
<h1>ویرایش آگهی استخدام <small>لورم ایپسوم</small></h1>
<h1>ویرایش آگهی استخدام</h1>
</div> </div>
@using (Html.BeginForm("Edit", "Job", FormMethod.Post, new { role = "form", @class = "assess-inputs" })) @using (Html.BeginForm("Edit", "Job", FormMethod.Post, new { role = "form", @class = "assess-inputs" }))


+ 1
- 1
Sevomin.WebFrontend/Views/Job/JobDigest.cshtml View File

@ -40,4 +40,4 @@
} }
</tbody> </tbody>
</table> </table>
</div>
</div>

+ 2
- 3
Sevomin.WebFrontend/Views/Job/JobEditor.cshtml View File

@ -61,9 +61,8 @@
</div> </div>
<div class="row rtl"> <div class="row rtl">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading">مشخصات اضافه آگهی</div>
<div class="panel-body">
<div class="alert alert-info"><strong>سلام</strong> چطورین؟</div>
<div class="panel-heading">مشخصات تکمیلی آگهی</div>
<div class="panel-body">
<div class="col-md-12"> <div class="col-md-12">
@foreach (var category in Model.Parameters.GroupBy(m => m.GroupName)) @foreach (var category in Model.Parameters.GroupBy(m => m.GroupName))
{ {


+ 32
- 19
Sevomin.WebFrontend/Views/Job/JobList.cshtml View File

@ -1,30 +1,43 @@
@model IList<Sevomin.Models.JobMiniViewModel> @model IList<Sevomin.Models.JobMiniViewModel>
<div class="col-md-12">
<section>
@foreach (var job in Model)
<section>
@if (User.IsInRole("Avalin") && Model.Count == 0)
{
<div class="panel panel-default">
<div class="panel-body rtl">
<h5>شما هیچ آگهی منتشر شده ای ندارید.</h5>
<p>
برای انتشار آگهی به صفحه <a href="#" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-plus"></span> انتشار آگهی</a> مراجعه کنید.
</p>
</div>
</div>
}
else
{
foreach (var job in Model)
{ {
<div class="panel panel-default">
<div class="panel-body">
<div class="job-list-top-toolbar rtl">
<a href="@Url.Action("SingleJob", new { jobId = job.Id })" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-th-list"></span> مشاهده جزییات بیشتر</a>
</div>
<p class="rtl">
کارشناس برنامه ریزی و کنترل پروژه
<div class="panel panel-default">
<div class="panel-body">
<div class="job-list-top-toolbar rtl">
<a href="@Url.Action("SingleJob", new { jobId = job.Id })" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-th-list"></span> مشاهده جزییات بیشتر</a>
</div>
<p class="rtl">
کارشناس برنامه ریزی و کنترل پروژه
@foreach (var param in job.Parameters) @foreach (var param in job.Parameters)
{ {
@MvcHtmlString.Create(string.Format(param.Item1, param.Item2) + " ") @MvcHtmlString.Create(string.Format(param.Item1, param.Item2) + " ")
} }
</p>
<div class="job-list-bottom-toolbar rtl">
<span class="date">آخرین مهلت اعلام آمادگی: @job.JalaliExpireDate</span>
@if (User.IsInRole("Dovomin"))
</p>
<div class="job-list-bottom-toolbar rtl">
<span class="date">آخرین مهلت اعلام آمادگی: @job.JalaliExpireDate</span>
@if(Request.IsAuthenticated){
if (User.IsInRole("Avalin") && job.AvalinUsername == User.Identity.Name)
{ {
<a href="@Url.Action("Apply", "Job", new { jobId = job.Id })" class="btn btn-primary btn-xs"><span class="glyphicon glyphicon-ok"></span> اعلام آمادگی</a>
<a href="@Url.Action("Edit", "Job", new { id = job.Id })" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-pencil"></span> ویرایش آگهی</a>
} }
</div>
}
</div> </div>
</div> </div>
</div>
} }
</section>
</div>
}
</section>

+ 1
- 1
Sevomin.WebFrontend/Views/Job/NewJob.cshtml View File

@ -5,7 +5,7 @@
@Html.Partial("PostResult", ViewBag.Result as Sevomin.Models.PostResultViewModel) @Html.Partial("PostResult", ViewBag.Result as Sevomin.Models.PostResultViewModel)
<div class="page-header rtl"> <div class="page-header rtl">
<h1>انتشار آگهی استخدام <small>لورم ایپسوم</small></h1>
<h1>انتشار آگهی استخدام</h1>
</div> </div>
@using (Html.BeginForm("NewJob", "Job", FormMethod.Post, new { role = "form", @class = "assess-inputs" })) @using (Html.BeginForm("NewJob", "Job", FormMethod.Post, new { role = "form", @class = "assess-inputs" }))


+ 19
- 0
Sevomin.WebFrontend/Views/Job/RecentJobs.cshtml View File

@ -0,0 +1,19 @@
@model IEnumerable<Sevomin.Models.JobMiniViewModel>
@{
ViewBag.Title = "آگهی های استخدام";
}
<h2 class="rtl">آگهی های استخدام تازه</h2>
@if (!Request.IsAuthenticated) {
<p class="text-info rtl">
شما در سایت <a href="@Url.Action("Login", "Account")">وارد</a> نشده اید. برای اعلام آمادگی برای هرکدام از فرصت های شغلی، به سایت وارد شوید یا <a href="@Url.Action("Index", "Home")">ثبت نام</a> کنید.
</p>
}
<div class="row">
<div class="col-md-12">
@Html.Partial("JobList", Model)
</div>
</div>

+ 2
- 6
Sevomin.WebFrontend/Views/Shared/Navbar.cshtml View File

@ -18,13 +18,9 @@
} }
else { else {
<li class="rtl"><a href="@Url.Action("Login", "Account")">ورود به سایت</a></li> <li class="rtl"><a href="@Url.Action("Login", "Account")">ورود به سایت</a></li>
}
@*<li class="rtl"><a href="#">تماس با ما</a></li>
<li class="rtl"><a href="#">درباره ما</a></li>*@
<li class="rtl"><a href="#">مشخصات متخصصین</a></li>
<li class="rtl"><a href="#">آگهی های استخدام</a></li>
}
<li class="rtl"><a href="@Url.Action("Index", "Home")"><span class="glyphicon glyphicon-home"></span> خانه</a></li> <li class="rtl"><a href="@Url.Action("Index", "Home")"><span class="glyphicon glyphicon-home"></span> خانه</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</nav>
</nav>

BIN
Sevomin.WebFrontend/fonts/BYekan.eot View File


BIN
Sevomin.WebFrontend/fonts/BYekan.ttf View File


BIN
Sevomin.WebFrontend/fonts/BYekan.woff View File


BIN
Sevomin.WebFrontend/fonts/WebYekan.eot View File


+ 612
- 0
Sevomin.WebFrontend/fonts/WebYekan.svg View File

@ -0,0 +1,612 @@
<?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>
<metadata>
Created by FontForge 1853326994 at Sun Oct 13 04:53:50 2013
By U-zoghal-god\zoghal,S-1-5-21-2758449068-1321902542-3097588897-1003
(c) 1392 Rita Development Corpertion(RitaCo)
</metadata>
<defs>
<font id="WebYekan" horiz-adv-x="0" >
<font-face
font-family="Web Yekan"
font-weight="400"
font-stretch="normal"
units-per-em="2048"
panose-1="0 0 4 0 0 0 0 0 0 0"
ascent="1638"
descent="-410"
bbox="-288 -1044 2334 2090"
underline-thickness="100"
underline-position="-850"
unicode-range="U+0020-FEFC"
/>
<missing-glyph horiz-adv-x="1024"
d="M256 128h512v1834h-512v-1834zM128 0v2090h768v-2090h-768z" />
<glyph glyph-name="uFC60" unicode="&#x651;&#x64e;" arabic-form="isolated"
d="M-6 1475v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100zM383 1755l-315 -168l-28 47l315 176z" />
<glyph glyph-name="uFC61" unicode="&#x651;&#x64f;" arabic-form="isolated"
d="M15 1486v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100zM322.5 1813q26.5 30 26.5 60t-26.5 52.5t-60.5 22.5q-78 0 -78 -86q0 -79 86 -79q26 0 52.5 30zM396 1868q0 -89 -50 -116
l-227 -121l-28 47l126 70q-78 45 -78 113q0 91 90 125q26 10 33 10q55 0 94.5 -37t39.5 -91z" />
<glyph glyph-name="uE818" unicode="&#x651;&#x64b;"
d="M-26 1516v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100zM382 1810l-315 -168l-28 47l315 173zM383 1927l-316 -172l-27 50l315 174z" />
<glyph glyph-name="uFC5E" unicode="&#x651;&#x64c;" arabic-form="isolated"
d="M5 1509v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100zM375 1881.5q27 29.5 27 59.5t-26.5 53t-59.5 23q-79 0 -79 -87q0 -78 85 -78q26 0 53 29.5zM448 1937q0 -91 -49 -117
l-283 -151l-28 48q51 33 63 53q0 34 -37 34t-57 -11l-20 36q56 19 85 19q57 0 72 -78l77 45q-79 45 -79 124.5t87 113.5q29 11 37 11q54 0 93 -37t39 -90z" />
<glyph glyph-name="uFC62" unicode="&#x651;&#x650;" arabic-form="isolated"
d="M-16 1782v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100zM378 1534l-314 -169l-29 48l315 175z" />
<glyph glyph-name="uFC5F" unicode="&#x651;&#x64d;" arabic-form="isolated"
d="M-6 2039v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100zM372 1626l-315 -169l-27 48l315 175zM372 1770l-315 -169l-27 47l315 174z" />
<glyph glyph-name="uFEF5" unicode="&#xfedf;&#xfe82;" horiz-adv-x="1054" arabic-form="isolated"
d="M621 1360h-451q-30 0 -88 -7t-80 -24t-59 -98l-164 64q65 139 121 184t231 57q53 4 193 4t297 -3v-177zM935 275q0 -130 -77.5 -202.5t-208.5 -72.5h-169q-351 0 -351 275v879h180v-800q0 -111 30.5 -142.5t140.5 -31.5h158q79 0 106 43q15 24 15 131v800h176v-879z" />
<glyph glyph-name="uFEF6" unicode="&#xfee0;&#xfe82;" horiz-adv-x="1054" arabic-form="final"
d="M555 1426h-451q-134 0 -169 -30q-21 -17 -59 -99l-164 64q66 139 122 184t231 57q52 4 192 4t298 -2v-178zM1084 0q-157 0 -246 118q-90 -118 -243 -118h-165q-351 0 -351 275v879h176v-800q0 -121 34 -154q20 -20 141 -20h154q78 0 105 43q16 26 16 131v800h180v-818
q0 -156 199 -156v-180z" />
<glyph glyph-name="uFEF7" unicode="&#xfedf;&#xfe84;" horiz-adv-x="1054" arabic-form="isolated"
d="M347 1419l-246 -124l-20 40l84 48q-75 38 -75 110q0 49 35 85t70 36h1q36 0 81 -20l-17 -36q-22 13 -54 13q-70 0 -70 -75t67 -75q54 0 122 42zM935 275q0 -130 -77.5 -202.5t-208.5 -72.5h-169q-351 0 -351 275v879h180v-800q0 -111 30.5 -142.5t140.5 -31.5h158
q79 0 106 43q15 24 15 131v800h176v-879z" />
<glyph glyph-name="uFEF8" unicode="&#xfee0;&#xfe84;" horiz-adv-x="1054" arabic-form="final"
d="M311 1412l-247 -124l-20 40l84 48q-75 38 -75 110q0 48 35 84q36 36 72 36t81 -19l-18 -36q-21 13 -54 13q-70 0 -70 -75t68 -75q54 0 121 42zM1084 0q-157 0 -246 118q-90 -118 -243 -118h-165q-351 0 -351 275v879h176v-800q0 -121 34 -154q20 -20 141 -20h154
q78 0 105 43q16 26 16 131v800h180v-818q0 -156 199 -156v-180z" />
<glyph glyph-name="uFEF9" unicode="&#xfedf;&#xfe88;" horiz-adv-x="1054" arabic-form="isolated"
d="M443 -330l-246 -124l-20 40l84 47q-75 39 -75 110q0 50 34 85q36 35 72 35t81 -18l-17 -37q-22 14 -54 14q-70 0 -70 -75t67 -75q54 0 122 41zM935 275q0 -130 -77.5 -202.5t-208.5 -72.5h-169q-351 0 -351 275v879h180v-800q0 -111 30.5 -142.5t140.5 -31.5h158
q79 0 106 43q15 24 15 131v800h176v-879z" />
<glyph glyph-name="uFEFA" unicode="&#xfee0;&#xfe88;" horiz-adv-x="1054" arabic-form="final"
d="M369 -323l-246 -124l-20 40l84 48q-75 39 -75 110q0 49 35 84.5t71 35.5t81 -19l-17 -36q-21 14 -54 14q-70 0 -70 -75t68 -75q53 0 121 41zM1084 0q-157 0 -246 118q-90 -118 -243 -118h-165q-351 0 -351 275v879h176v-800q0 -121 34 -154q20 -20 141 -20h154
q78 0 105 43q16 26 16 131v800h180v-818q0 -156 199 -156v-180z" />
<glyph glyph-name="uFEFB" unicode="&#xfedf;&#xfe8e;" horiz-adv-x="1054" arabic-form="isolated"
d="M935 275q0 -130 -77.5 -202.5t-208.5 -72.5h-169q-351 0 -351 275v879h180v-800q0 -111 30.5 -142.5t140.5 -31.5h158q79 0 106 43q15 24 15 131v800h176v-879z" />
<glyph glyph-name="uFEFC" unicode="&#xfee0;&#xfe8e;" horiz-adv-x="1054" arabic-form="final"
d="M1084 0q-157 0 -246 118q-90 -118 -243 -118h-165q-351 0 -351 275v879h176v-800q0 -121 34 -154q20 -20 141 -20h154q78 0 105 43q16 26 16 131v800h180v-818q0 -156 199 -156v-180z" />
<glyph glyph-name="uFDF2" unicode="&#xfedf;&#xfee0;&#xfeea;" horiz-adv-x="2253" arabic-form="isolated"
d="M501.5 198.5q51.5 44.5 51.5 111.5t-34 100l-145 144q-84 -79 -105 -106q-53 -68 -53 -137.5t47 -113t117 -43.5t121.5 44.5zM2123 275q0 -130 -77.5 -202.5t-209.5 -72.5h-173q-176 0 -262 70q-65 -54 -107.5 -62t-193 -8t-204.5 31q-27 16 -188 165
q-102 -216 -329 -216q-149 0 -246 97t-97 249.5t209 361.5l-51 58l121 122l539 -573q68 -72 92 -87q49 -30 230 -30q87 0 114 48q19 34 19 128v800h180v-836q0 -98 59 -122q40 -16 277 -16q80 0 106 43q15 24 15 131v800h177v-879zM1638 1415q0 -62 -36.5 -106.5t-89 -44.5
t-117.5 56q-46 -56 -104 -56q-117 0 -126 151h45q0 -100 80.5 -100t83.5 100h50q0 -100 82.5 -100t82.5 100h49z" />
<glyph glyph-name="u0622" unicode="&#x622;" horiz-adv-x="669" arabic-form="isolated"
d="M430 0h-175v1154h175v-1154zM676 1253h-451q-31 0 -89 -7t-80 -24t-59 -98l-163 64q65 140 121 184t231 57q53 4 193 4t297 -3v-177z" />
<glyph glyph-name="Hcircumflex" unicode="&#x622;" horiz-adv-x="575" arabic-form="final"
d="M604 0q-182 0 -266 46q-117 64 -117 229v851h180v-772q0 -122 36 -148t167 -26v-180zM725 1258h-450q-11 -2 -79 -8t-90 -25t-58 -96l-166 62q65 141 112 177q74 56 206 60t385 5h140v-175z" />
<glyph glyph-name="u0623" unicode="&#x623;" horiz-adv-x="575" arabic-form="isolated"
d="M419 1389l-246 -123l-20 40l83 47q-75 39 -75 110q0 49 35 85q36 36 71 36h1q36 0 81 -20l-18 -36q-21 14 -53 14q-70 0 -70 -75t67 -75q54 0 121 41zM374 0h-175v1154h175v-1154z" />
<glyph glyph-name="uFE84" unicode="&#x623;" horiz-adv-x="469" arabic-form="final"
d="M345 1382l-246 -124l-20 40l84 48q-75 38 -75 110q0 48 34 84q36 36 72 36t81 -19l-17 -36q-22 13 -54 13q-70 0 -70 -75t67 -75q54 0 122 42zM509 0q-228 0 -321 88q-62 57 -62 187v851h180v-772q0 -125 42 -153q26 -17 161 -21v-180z" />
<glyph glyph-name="u0624" unicode="&#x624;" horiz-adv-x="893" arabic-form="isolated"
d="M621 180v185q0 176 -139 176t-139 -185q0 -122 86 -157q46 -19 192 -19zM803 -23q0 -186 -134 -309t-321 -123h-233l-22 180h227q124 1 212 77t88 198q-218 0 -322 59q-140 77 -140 271t61 283q74 108 252 108q216 0 288 -165q44 -101 44 -353v-226zM453 890l-304 -154
l-25 50l104 57q-93 47 -93 121t41.5 119.5t104.5 45.5q25 0 87 -23l-23 -47q-25 19 -61 19t-64.5 -30t-28.5 -73q0 -81 79 -81q56 0 156 52z" />
<glyph glyph-name="uFE86" unicode="&#x624;" horiz-adv-x="893" arabic-form="final"
d="M615 180v171q0 112 -53 151t-96 39q-137 0 -137 -185q0 -122 90 -157q48 -19 196 -19zM919 0h-119q0 -201 -132.5 -328t-333.5 -127h-233l-22 180h227q125 1 214 77t89 198q-221 0 -325 58q-140 77 -140 271t62 283q75 107 253 107q221 0 295 -174q46 -109 46 -365h119
v-180zM484 890l-304 -154l-25 50l104 57q-90 49 -90 123t39.5 118.5t105.5 44.5q23 0 85 -23l-23 -47q-30 16 -62 16t-60.5 -29t-28.5 -72q0 -81 79 -81q59 0 156 51z" />
<glyph glyph-name="u0625" unicode="&#x625;" horiz-adv-x="575" arabic-form="isolated"
d="M448 -345l-246 -124l-20 40l84 48q-75 38 -75 110q0 49 35 84.5t71 35.5t81 -19l-17 -36q-21 13 -54 13q-70 0 -70 -75t68 -75q53 0 121 42zM374 0h-175v1154h175v-1154z" />
<glyph glyph-name="uFE88" unicode="&#x625;" horiz-adv-x="469" arabic-form="final"
d="M434 -367l-247 -124l-20 40l84 48q-75 38 -75 110q0 49 35 84.5t71 35.5t82 -19l-18 -36q-21 13 -54 13q-70 0 -70 -75t68 -75q54 0 121 42zM509 0q-228 0 -321 88q-62 57 -62 187v851h180v-772q0 -125 42 -153q26 -17 161 -21v-180z" />
<glyph glyph-name="u0626" unicode="&#x626;" horiz-adv-x="1289" arabic-form="isolated"
d="M1225 9v-3q0 -203 -119 -332t-319 -129h-282q-188 1 -307 137t-119 327v372h169v-392q0 -122 84 -195t209 -73h232q99 0 189 72.5t91 164.5q0 92 -60 110t-358 20v308q0 137 90.5 230t227.5 93h216l7 -169h-216q-105 0 -139 -101q-17 -53 -17 -190q262 -5 327 -43
q94 -53 94 -207zM444 778l-304 -154l-25 50l104 56q-90 50 -90 123t39 118t105 45q24 0 86 -22l-23 -48q-30 17 -64 17t-61.5 -30t-27.5 -73q0 -80 76 -80q62 0 160 51z" />
<glyph glyph-name="uFE8A" unicode="&#x626;" horiz-adv-x="1289" arabic-form="final"
d="M1318 0h-167q9 -31 9 -88q0 -159 -116 -263t-278 -104h-280q-215 0 -328.5 147.5t-114.5 370.5v322h180v-391q1 -129 87 -199t218 -70h231q95 0 159 54t65 147q0 46 -53 58q-58 12 -321 16l-16 180h725v-180zM450 781l-304 -152l-25 49l104 57q-92 49 -92 121t41.5 117.5
t91.5 45.5t99 -21l-22 -47q-29 15 -63 15t-62.5 -29t-28.5 -72q0 -81 79 -81q56 0 156 52z" />
<glyph glyph-name="uFE8B" unicode="&#x626;" horiz-adv-x="609" arabic-form="initial"
d="M339 353l-3 212h184v-272q0 -116 -74 -204.5t-187 -88.5h-295v180q283 0 315 11q60 22 60 162zM446 773l-303 -153l-25 49l103 56q-92 52 -92 124.5t41.5 117t104.5 44.5q24 0 85 -22l-22 -48q-26 19 -54 19q-99 0 -99 -101q0 -81 79 -81q57 0 155 51z" />
<glyph glyph-name="uFE8C" unicode="&#x626;" horiz-adv-x="703" arabic-form="medial"
d="M441 780l-303 -154l-25 50l103 57q-92 48 -92 120.5t41.5 119t104.5 46.5q25 0 86 -23l-22 -47q-28 15 -62.5 15t-63 -29.5t-28.5 -71.5q0 -82 79 -82q56 0 156 53zM728 0h-29q-93 0 -128.5 9.5t-95.5 60.5q-90 -70 -169 -70h-326v180q29 0 123 -1l93 -1h12q106 0 139 35
t33 153v199h184v-247q0 -90 33.5 -112t130.5 -26v-180z" />
<glyph glyph-name="u0627" unicode="&#x627;" horiz-adv-x="575" arabic-form="isolated"
d="M374 0h-175v1154h175v-1154z" />
<glyph glyph-name="uFE8E" unicode="&#x627;" horiz-adv-x="469" arabic-form="final"
d="M509 0q-228 0 -321 88q-62 57 -62 187v851h180v-772q0 -125 42 -153q26 -17 161 -21v-180z" />
<glyph glyph-name="u0628" unicode="&#x628;" horiz-adv-x="1606" arabic-form="isolated"
d="M978 -326q0 -52 -37 -89.5t-88 -37.5q-134 0 -134 127v2q0 103 129.5 103t129.5 -105zM1541 293q0 -113 -74 -203t-186 -90h-950q-115 0 -186.5 86.5t-71.5 203.5v275h180v-247q0 -76 28.5 -107t103.5 -31h840q75 0 104.5 31t29.5 107v247h182v-272z" />
<glyph glyph-name="uFE90" unicode="&#x628;" horiz-adv-x="1713" arabic-form="final"
d="M938 -334q0 -53 -36.5 -88.5t-88.5 -35.5q-135 0 -135 124q0 109 130 109t130 -109zM1746 0q-214 0 -286 70q-92 -70 -174 -70h-948q-112 0 -184 89t-73 204v272h180v-247q0 -77 30 -107.5t105 -30.5h837q75 0 103.5 30.5t28.5 107.5v247h183v-247q0 -138 198 -138v-180z
" />
<glyph glyph-name="uFE91" unicode="&#x628;" horiz-adv-x="586" arabic-form="initial"
d="M308 -336q0 -53 -36.5 -88.5t-88.5 -35.5q-134 0 -134 124q0 108 129.5 108t129.5 -108zM339 353l-3 212h184v-272q0 -116 -74 -204.5t-187 -88.5h-295v180q283 0 315 11q60 22 60 162z" />
<glyph glyph-name="uFE92" unicode="&#x628;" horiz-adv-x="703" arabic-form="medial"
d="M314 -326q0 -53 -36 -89t-89 -36q-135 0 -135 125q0 107 130 107t130 -107zM356 354l-2 211h185v-247q0 -88 60 -117q36 -17 140 -21v-180h-56q-153 0 -233 70q-90 -70 -172 -70h-296v180q279 0 314 13q60 21 60 161z" />
<glyph glyph-name="u067E" unicode="&#x67e;" horiz-adv-x="1606" arabic-form="isolated"
d="M951 -598q-1 -98 -121 -98t-120 98q0 109 114 109q52 0 89.5 -28.5t37.5 -77.5v-3zM786 -343q0 -96 -120 -96t-121 96q0 46 34 77.5t82.5 31.5t86.5 -29t38 -80zM1131 -343q-1 -96 -121 -96t-120 96q0 46 34 77.5t83 31.5t86.5 -28.5t37.5 -77.5v-3zM1541 293
q0 -113 -74 -203t-186 -90h-950q-115 0 -186.5 86.5t-71.5 203.5v275h180v-247q0 -76 28.5 -107t103.5 -31h840q75 0 104.5 31t29.5 107v247h182v-272z" />
<glyph glyph-name="uFB57" unicode="&#x67e;" horiz-adv-x="1713" arabic-form="final"
d="M719 -572v4q0 48 31.5 79t81.5 31t88 -30t38 -80q0 -97 -119.5 -97t-119.5 93zM793 -314v-4q0 -90 -119.5 -90t-119.5 94q0 47 32 79t79 32q128 0 128 -111zM899 -318v4q0 47 32 79t79 32q128 0 128 -111q0 -94 -119.5 -94t-119.5 90zM1746 0q-214 0 -286 70
q-92 -70 -174 -70h-948q-112 0 -184 89t-73 204v272h180v-247q0 -77 30 -107.5t105 -30.5h837q75 0 103.5 30.5t28.5 107.5v247h183v-247q0 -138 198 -138v-180z" />
<glyph glyph-name="uFB58" unicode="&#x67e;" horiz-adv-x="703" arabic-form="initial"
d="M419 -568q-1 -98 -121 -98t-120 98q0 110 112 110q52 0 90 -30t39 -80zM254 -314q0 -96 -120 -96t-121 96q0 48 32.5 79.5t80.5 31.5q128 0 128 -111zM599 -314q-1 -96 -121 -96t-120 96q0 48 32.5 79.5t80.5 31.5q128 0 128 -111zM621 293q0 -117 -71 -205t-185 -88
h-385v180h329q75 0 103.5 30.5t28.5 107.5v247h180v-272z" />
<glyph glyph-name="uFB59" unicode="&#x67e;" horiz-adv-x="739" arabic-form="medial"
d="M389 -568q0 -98 -120.5 -98t-120.5 98q0 110 112 110q52 0 90.5 -29.5t38.5 -80.5zM224 -314q0 -96 -121 -96t-121 96q0 48 33 79.5t81 31.5q128 0 128 -111zM569 -314q0 -96 -120.5 -96t-120.5 96q0 48 32.5 79.5t80.5 31.5q128 0 128 -111zM778 0h-63q-53 0 -102 9
q-46 19 -93 61q-86 -70 -171 -70h-388v180h334q75 0 104 30.5t29 107.5v247h181v-247q0 -89 36.5 -113.5t132.5 -24.5v-180z" />
<glyph glyph-name="u062A" unicode="&#x62a;" horiz-adv-x="1606" arabic-form="isolated"
d="M1541 293q0 -113 -74 -203t-186 -90h-950q-115 0 -186.5 86.5t-71.5 203.5v275h180v-247q0 -76 28.5 -107t103.5 -31h840q75 0 104.5 31t29.5 107v247h182v-272zM719 865q0 -46 -33 -77.5t-80 -31.5q-126 0 -126 109q0 98 119.5 98t119.5 -96v-2zM1064 865
q0 -46 -33.5 -77.5t-80.5 -31.5q-125 0 -125 109v2q0 96 119.5 96t119.5 -98z" />
<glyph glyph-name="uFE96" unicode="&#x62a;" horiz-adv-x="1713" arabic-form="final"
d="M1746 0q-214 0 -286 70q-92 -70 -174 -70h-948q-112 0 -184 89t-73 204v272h180v-247q0 -77 30 -107.5t105 -30.5h837q75 0 103.5 30.5t28.5 107.5v247h183v-247q0 -138 198 -138v-180zM766 865q0 -46 -33.5 -76t-79.5 -30q-128 0 -128 106q1 99 121 99t120 -99z
M1113 865q0 -46 -33.5 -76t-80.5 -30q-128 0 -128 106q0 99 121 99t121 -99z" />
<glyph glyph-name="uFE97" unicode="&#x62a;" horiz-adv-x="680" arabic-form="initial"
d="M606 293q0 -117 -72 -205t-185 -88h-385v180h329q75 0 104 30.5t29 107.5v247h180v-272zM123 851v5q1 99 121 99t120 -99q0 -46 -33 -77t-83 -31t-87.5 27.5t-37.5 75.5zM709 856q0 -46 -33.5 -77t-83.5 -31t-87 29t-37 79q0 99 120 99t121 -99z" />
<glyph glyph-name="uFE98" unicode="&#x62a;" horiz-adv-x="739" arabic-form="medial"
d="M778 0h-63q-53 0 -102 9q-46 19 -93 61q-86 -70 -171 -70h-388v180h334q75 0 104 30.5t29 107.5v247h181v-247q0 -89 36.5 -113.5t132.5 -24.5v-180zM380 863q0 -47 -33 -77t-79 -30q-127 0 -127 107q0 100 119.5 100t119.5 -100zM725 863q0 -47 -33 -77t-79 -30
q-127 0 -127 107q0 100 119.5 100t119.5 -100z" />
<glyph glyph-name="u062B" unicode="&#x62b;" horiz-adv-x="1606" arabic-form="isolated"
d="M1541 293q0 -113 -74 -203t-186 -90h-950q-115 0 -186.5 86.5t-71.5 203.5v275h180v-247q0 -76 28.5 -107t103.5 -31h840q75 0 104.5 31t29.5 107v247h182v-272zM491 798v4q0 97 119.5 97t119.5 -99q0 -45 -34 -77t-82 -32t-85.5 29.5t-37.5 77.5zM1076 800
q0 -46 -34 -77.5t-82 -31.5t-86 30t-38 79q0 99 120 99t120 -99zM901 1054q0 -47 -34.5 -77.5t-82.5 -30.5t-86 30t-38 78q0 100 120 100t121 -100z" />
<glyph glyph-name="uFE9A" unicode="&#x62b;" horiz-adv-x="1713" arabic-form="final"
d="M1746 0q-214 0 -286 70q-92 -70 -174 -70h-948q-112 0 -184 89t-73 204v272h180v-247q0 -77 30 -107.5t105 -30.5h837q75 0 103.5 30.5t28.5 107.5v247h183v-247q0 -138 198 -138v-180zM759 800q0 -45 -33.5 -77t-81.5 -32t-86 30t-38 79q0 99 119.5 99t119.5 -97v-2z
M1106 800q0 -46 -34 -78t-83 -32h-1q-48 0 -85.5 30t-37.5 78v2q1 99 121 99t120 -99zM930 1054q0 -47 -34 -77.5t-81 -30.5q-126 0 -126 108q1 100 121 100t120 -100z" />
<glyph glyph-name="uFE9B" unicode="&#x62b;" horiz-adv-x="680" arabic-form="initial"
d="M606 293q0 -117 -72 -205t-185 -88h-385v180h329q75 0 104 30.5t29 107.5v247h180v-272zM358 800q0 -46 -34 -78.5t-82 -32.5t-88 31q-38 31 -38 80q0 99 121 99t121 -99zM704 800q0 -46 -35 -78t-83 -32l-2 -1q-46 0 -84 31t-39 80v2q0 97 121.5 97t121.5 -99zM529 1054
q0 -48 -34 -79t-84 -31t-88 30t-38 80q0 100 122 100t122 -100z" />
<glyph glyph-name="uFE9C" unicode="&#x62b;" horiz-adv-x="739" arabic-form="medial"
d="M778 0h-63q-53 0 -102 9q-46 19 -93 61q-86 -70 -171 -70h-388v180h334q75 0 104 30.5t29 107.5v247h181v-247q0 -89 36.5 -113.5t132.5 -24.5v-180zM428 800q0 -46 -34 -78.5t-82.5 -32.5t-87 31t-38.5 80q0 99 121 99t121 -99zM774 800q0 -46 -34.5 -78.5t-83 -32.5
t-87 31t-38.5 80q0 99 121.5 99t121.5 -99zM599 1054q0 -48 -34 -79t-84 -31t-88 30t-38 80q0 100 122 100t122 -100z" />
<glyph glyph-name="u062C" unicode="&#x62c;" horiz-adv-x="1104" arabic-form="isolated"
d="M815 -336q0 -53 -35.5 -90t-91.5 -37t-95 33t-39 90q0 112 130 112t131 -108zM43 -310v6q0 296 263 442l550 303q-40 75 -118 88t-479 14l-23 176h435q376 0 377 -371l-593 -332q-241 -135 -241 -334q0 -145 114 -259t260 -114h525l16 -177h-494q-253 0 -422.5 155.5
t-169.5 402.5z" />
<glyph glyph-name="uFE9E" unicode="&#x62c;" horiz-adv-x="1104" arabic-form="final"
d="M350 547h-19c-22 0 -43 -1 -65 -2l-22 174h434c126 0 215 -26 282 -93c62 -61 97 -149 97 -236c0 -14 -1 -28 -3 -42l-164 -93c34 -69 122 -75 221 -75h38v-180c-135 0 -273 25 -311 126c-10 27 -15 57 -24 85l-353 -195c-116 -64 -240 -166 -240 -338
c0 -110 54 -198 114 -256c64 -63 138 -113 260 -113h525l15 -177h-492c-181 0 -322 64 -423 156c-97 88 -170 223 -170 395v13c3 146 62 287 150 366c34 31 74 54 114 76l551 303c-71 90 -204 106 -357 110h-17c-47 0 -94 -4 -141 -4zM691 -220c77 0 133 -33 133 -106
c0 -74 -60 -127 -131 -127c-74 0 -133 50 -133 122c0 75 56 111 131 111z" />
<glyph glyph-name="uFE9F" unicode="&#x62c;" horiz-adv-x="1031" arabic-form="initial"
d="M349 -323q0 -52 -35.5 -89t-91 -37t-95 33t-39.5 90q0 112 130.5 112t130.5 -109zM996 348l-412 -235q-145 -83 -304 -103q-79 -10 -323 -10v180q349 0 493 68q70 32 350 191q-35 74 -116 94q-35 8 -159 8l-315 2l-25 176h444q367 0 367 -371z" />
<glyph glyph-name="uFEA0" unicode="&#x62c;" horiz-adv-x="1031" arabic-form="medial"
d="M519 -334q-1 -50 -37 -88t-90 -38t-94 33t-40 89q0 110 130 110t131 -106zM1059 0q-254 6 -281 118q-12 45 -23 93q-259 -155 -371 -183t-427 -28v180q348 0 493 68q30 13 350 191q-35 73 -116 94q-33 8 -159 8l-315 2l-25 176h444q367 0 367 -371l-167 -92
q0 -76 230 -76v-180z" />
<glyph glyph-name="u0686" unicode="&#x686;" horiz-adv-x="1104" arabic-form="isolated"
d="M834 -478q0 -97 -120 -97t-121 97q0 110 112 110q53 0 91 -30t38 -80zM544 -113h6q45 0 82.5 -29.5t38.5 -80.5q-1 -95 -121 -95t-120 95q0 48 32 79t82 31zM39 -310v6q0 297 262 442l550 303q-39 75 -117 88t-479 14l-22 176h433q376 0 377 -371l-593 -332
q-240 -134 -240 -334q0 -146 113.5 -259.5t260.5 -113.5h525l15 -177h-493q-253 0 -422.5 155.5t-169.5 402.5zM892 -113h6q45 0 82.5 -29.5t38.5 -80.5q-1 -95 -121 -95t-120 95q0 48 32 79t82 31z" />
<glyph glyph-name="uFB7B" unicode="&#x686;" horiz-adv-x="1104" arabic-form="final"
d="M826 -478q0 -97 -120 -97t-120 97q0 110 112 110q51 0 89.5 -29.5t38.5 -80.5zM665 -223q0 -95 -120.5 -95t-120.5 95q0 48 32 79t82 31t88.5 -29.5t38.5 -80.5zM519 551q-82 0 -241 -6l-23 174h434q376 0 376 -371l-164 -93q23 -55 114 -70q30 -5 145 -5v-180
q-163 5 -230 42t-81 84q-10 33 -24 85l-352 -195q-240 -133 -240 -334q0 -146 113.5 -259.5t259.5 -113.5h525l15 -177h-492q-253 0 -423 156.5t-170 407.5q0 296 264 442l551 303q-71 110 -357 110zM1011 -223q0 -95 -120.5 -95t-120.5 95q0 48 33 79t82.5 31t87.5 -29.5
t38 -80.5zM278 543l-14 1q14 0 14 -1z" />
<glyph glyph-name="uFB7C" unicode="&#x686;" horiz-adv-x="1031" arabic-form="initial"
d="M503 -568q0 -97 -121 -97t-121 97q0 110 113 110q51 0 90 -29.5t39 -80.5zM339 -314q0 -94 -120.5 -94t-120.5 94q0 48 32 79.5t82.5 31.5t88.5 -29.5t38 -81.5zM683 -314q0 -94 -120 -94t-120 94q0 48 32 79.5t80 31.5q128 0 128 -111zM996 348l-412 -235
q-145 -83 -304 -103q-79 -10 -323 -10v180q349 0 493 68q70 32 350 191q-35 74 -116 94q-35 8 -159 8l-315 2l-25 176h444q367 0 367 -371z" />
<glyph glyph-name="uFB7D" unicode="&#x686;" horiz-adv-x="1031" arabic-form="medial"
d="M525 -568q-1 -98 -121 -98t-120 98q0 108 120 108t121 -108zM360 -314q0 -96 -120 -96t-120 96q0 45 34 77t80 32q126 0 126 -109zM705 -314q-1 -96 -121 -96t-120 96q0 45 34 77t83 32t86.5 -29t37.5 -80zM1059 0q-254 6 -281 118q-12 45 -23 93q-259 -155 -371 -183
t-427 -28v180q348 0 493 68q30 13 350 191q-35 73 -116 94q-33 8 -159 8l-315 2l-25 176h444q367 0 367 -371l-167 -92q0 -76 230 -76v-180z" />
<glyph glyph-name="u062D" unicode="&#x62d;" horiz-adv-x="1104" arabic-form="isolated"
d="M1131 -868h-493q-288 0 -460 203q-133 155 -133 351v39q1 4 5 39q28 247 259 374l551 303q-61 109 -344 109h-56l-196 -4l-25 173h435q370 0 376 -371l-592 -332q-242 -136 -242 -334q0 -143 115 -258t259 -115h525z" />
<glyph glyph-name="uFEA2" unicode="&#x62d;" horiz-adv-x="1104" arabic-form="final"
d="M1151 0q-272 0 -311 126q-8 25 -25 85l-351 -195q-241 -134 -241 -334q0 -145 114.5 -259t260.5 -114h525l15 -177h-494q-286 0 -459 203q-134 157 -134 351v39q1 1 5 39q31 249 259 374l555 303q-38 71 -106 85t-494 17l-25 176h435q370 0 376 -371l-163 -93
q11 -75 258 -75v-180z" />
<glyph glyph-name="uFEA3" unicode="&#x62d;" horiz-adv-x="1031" arabic-form="initial"
d="M996 348l-412 -235q-138 -79 -304 -100q-68 -9 -323 -13v180h144q198 0 367 76q29 14 332 183q-29 67 -122 92q-24 6 -468 12l-25 176h444q365 0 367 -371z" />
<glyph glyph-name="uFEA4" unicode="&#x62d;" horiz-adv-x="1031" arabic-form="medial"
d="M1059 0q-249 0 -281 118q-6 21 -13 50l-10 43q-243 -147 -363 -177t-435 -34v180h144q192 0 367 76q50 22 332 183q-30 69 -122 92q-23 6 -468 12l-25 176h444q361 0 367 -374l-167 -90q0 -75 230 -75v-180z" />
<glyph glyph-name="u062E" unicode="&#x62e;" horiz-adv-x="1104" arabic-form="isolated"
d="M43 -310v6q0 296 263 442l550 303q-40 75 -118 88t-479 14l-23 176h435q376 0 377 -371l-593 -332q-241 -135 -241 -334q0 -145 114 -259t260 -114h525l16 -177h-494q-253 0 -422.5 155.5t-169.5 402.5zM495 1045v4q0 102 131.5 102t131.5 -106q0 -53 -36.5 -89.5
t-88.5 -36.5q-138 0 -138 126z" />
<glyph glyph-name="uFEA6" unicode="&#x62e;" horiz-adv-x="1104" arabic-form="final"
d="M508 551q-83 0 -242 -6l-22 174h434q376 0 376 -371l-164 -93q22 -55 114 -70q30 -5 145 -5v-180q-164 5 -231 42t-80 84q-10 33 -24 85l-353 -195q-240 -133 -240 -334q0 -146 114 -259.5t260 -113.5h525l15 -177h-492q-254 0 -423.5 156.5t-169.5 407.5q0 296 264 442
l551 303q-71 110 -357 110z" />
<glyph glyph-name="uFEA7" unicode="&#x62e;" horiz-adv-x="1031" arabic-form="initial"
d="M996 348l-412 -235q-145 -83 -304 -103q-79 -10 -323 -10v180q349 0 493 68q70 32 350 191q-35 74 -116 94q-35 8 -159 8l-315 2l-25 176h444q367 0 367 -371zM649 1041q0 -51 -37 -88t-88 -37q-136 0 -136 125q0 108 130.5 108t130.5 -108z" />
<glyph glyph-name="uFEA8" unicode="&#x62e;" horiz-adv-x="1031" arabic-form="medial"
d="M1059 0q-254 6 -281 118q-12 45 -23 93q-259 -155 -371 -183t-427 -28v180q348 0 493 68q30 13 350 191q-35 73 -116 94q-33 8 -159 8l-315 2l-25 176h444q367 0 367 -371l-167 -92q0 -76 230 -76v-180zM609 1070v-3q0.0270386 -1.37842 0.0270386 -2.74585
q0 -49.2272 -35.027 -84.2542q-36 -36 -92 -36t-94.5 34.5t-38.5 91.5q0 106 130 106t130 -106z" />
<glyph glyph-name="u062F" unicode="&#x62f;" horiz-adv-x="986" arabic-form="isolated"
d="M860 439q84 -89 84 -200.5t-78 -175t-188 -63.5h-558l-25 180h571q100 0 100 70q0 36 -27 65l-405 431l121 122z" />
<glyph glyph-name="uFEAA" unicode="&#x62f;" horiz-adv-x="1171" arabic-form="final"
d="M1225 0h-82q-102 0 -228 124q-81 -124 -239 -124h-558l-25 180h572q99 0 99 68q0 38 -28 67l-405 431l122 122l541 -573q70 -75 106 -95t125 -20v-180z" />
<glyph glyph-name="u0630" unicode="&#x630;" horiz-adv-x="986" arabic-form="isolated"
d="M859 439q82 -87 82 -199t-75 -176t-190 -64h-558l-25 180h572q99 0 99 70q0 36 -28 65l-405 431l122 122zM590 1169q0 -53 -36 -89.5t-89 -36.5q-136 0 -136 126q0 106 130.5 106t130.5 -106z" />
<glyph glyph-name="uFEAC" unicode="&#x630;" horiz-adv-x="1171" arabic-form="final"
d="M1224 0h-84q-101 0 -225 124q-50 -72 -100.5 -98t-138.5 -26h-561l-25 180h573q98 0 98 68q0 39 -26 67l-406 431l121 122l541 -573q67 -71 105 -93t128 -22v-180zM475 1076q0 -51 -36.5 -87t-88.5 -36q-136 0 -136 123q0 109 130 109t131 -109z" />
<glyph glyph-name="u0631" unicode="&#x631;" horiz-adv-x="870" arabic-form="isolated"
d="M764 31q0 -199 -125.5 -342.5t-321.5 -143.5h-243l-29 185h203q130 0 230 67t101 192v576h185v-534z" />
<glyph glyph-name="uFEAE" unicode="&#x631;" horiz-adv-x="915" arabic-form="final"
d="M753 85v-8q0 -222 -117.5 -377t-337.5 -155h-233l-29 180h248q116 1 201 75t85 189v576h180v-259q0 -122 196 -126v-180q-136 0 -193 85z" />
<glyph glyph-name="u0632" unicode="&#x632;" horiz-adv-x="870" arabic-form="isolated"
d="M761 31q0 -198 -127 -342t-323 -144h-238l-30 185h202q131 0 231 67t100 192v576h185v-534zM491 1054v4q0 105 131.5 105t131.5 -109q0 -53 -36 -89.5t-89 -36.5q-138 0 -138 126z" />
<glyph glyph-name="uFEB0" unicode="&#x632;" horiz-adv-x="915" arabic-form="final"
d="M753 85v-8q0 -222 -117.5 -377t-337.5 -155h-233l-29 180h248q112 1 199 77t87 187v576h180v-259q0 -126 196 -126v-180q-142 2 -193 85zM481 1045v4q0 102 131.5 102t131.5 -106q0 -53 -36 -89.5t-89 -36.5q-138 0 -138 126z" />
<glyph glyph-name="u0698" unicode="&#x698;" horiz-adv-x="922" arabic-form="isolated"
d="M766 31q0 -199 -127 -342.5t-324 -143.5h-239l-28 185h202q130 0 230.5 67t100.5 192v576h185v-534zM604 800q0 -47 -33 -79t-81.5 -32t-87.5 31t-39 80q0 96 120.5 96t120.5 -96zM954 800q0 -48 -33.5 -79.5t-83.5 -31.5t-88.5 30.5t-38.5 80.5q0 96 122 96t122 -96z
M747 977q-33 -33 -83.5 -33t-89 29.5t-38.5 80.5q0 97 122 97t122 -92q0 -49 -33 -82z" />
<glyph glyph-name="uFB8B" unicode="&#x698;" horiz-adv-x="915" arabic-form="final"
d="M753 85v-8q0 -222 -117.5 -377t-337.5 -155h-233l-29 180h248q112 1 199 77t87 187v576h180v-259q0 -126 196 -126v-180q-142 2 -193 85zM573 808v-4q-1 -46 -35 -78t-82 -32t-85 30.5t-37 79.5q0 97 119.5 97t119.5 -93zM920 804q0 -48 -34 -79t-82 -31t-86 31t-39 79
q1 97 121 97t120 -97zM744 1059q0 -48 -33.5 -79t-82.5 -31t-87 31t-38 79q1 97 121 97t120 -97z" />
<glyph glyph-name="u0633" unicode="&#x633;" horiz-adv-x="2253" arabic-form="isolated"
d="M2163 289q-1 -127 -63 -217t-184 -90t-251 122q-87 -122 -212 -122q-98 0 -203 72q0 -215 -118 -362t-328 -147h-274q-195 0 -320 135t-125 331v374h176v-385q0 -124 81.5 -199.5t207.5 -75.5h234q126 0 205 76t79 202v562h180v-267q0 -62 46.5 -103t109.5 -41
q124 0 124 112v299h177v-265q0 -62 45.5 -104t108.5 -42q126 0 126 112v299h178v-276z" />
<glyph glyph-name="uFEB2" unicode="&#x633;" horiz-adv-x="2298" arabic-form="final"
d="M2334 0q-105 2 -141 13q-69 18 -109 83q-80 -114 -218 -114t-243 122q-97 -127 -229 -127q-95 0 -180 77q0 -212 -120 -360t-325 -149h-280q-194 0 -319 135t-125 331v374h180v-382q0 -123 81.5 -200.5t204.5 -77.5h235q126 0 207 76t81 202v562h180v-267q0 -64 45 -104
t109 -40q121 0 121 112v299h180v-265q0 -62 45.5 -104t108.5 -42q123 0 123 112v299h178v-276q0 -62 66 -93q19 -8 144 -16v-180z" />
<glyph glyph-name="uFEB3" unicode="&#x633;" horiz-adv-x="1455" arabic-form="initial"
d="M1390 289q0 -133 -64 -221t-193 -88t-245 121q-103 -119 -222 -119t-242 142q-108 -124 -235 -124h-229v180h216q125 0 125 134v251h177v-265q0 -64 46 -105t111 -41q123 0 123 112v299h175v-265q0 -63 45.5 -104.5t109.5 -41.5q126 0 126 112v299h176v-276z" />
<glyph glyph-name="uFEB4" unicode="&#x633;" horiz-adv-x="1561" arabic-form="medial"
d="M1589 0q-105 2 -140 13q-70 19 -106 83q-83 -116 -209 -116t-246 119q-104 -119 -256 -119t-247 126q-59 -77 -201 -97q-63 -9 -234 -9v180h151q99 0 144 29t45 127v229h176v-267q0 -63 46 -103.5t109 -40.5q123 0 123 112v299h177v-268q0 -60 45.5 -101.5t109.5 -41.5
q125 0 125 112v299h178v-276q0 -63 65 -93q19 -9 145 -16v-180z" />
<glyph glyph-name="u0634" unicode="&#x634;" horiz-adv-x="2253" arabic-form="isolated"
d="M2163 289q-1 -127 -63 -217t-188 -90t-247 122q-97 -122 -201 -122t-214 72q-3 -212 -122 -360t-324 -149h-274q-192 0 -318 136t-127 330v374h176v-382q1 -127 80.5 -202.5t205.5 -75.5h237q123 0 203.5 77.5t80.5 200.5v562h180v-267q0 -62 46.5 -103t109.5 -41
q124 0 124 112v299h177v-265q0 -64 44.5 -105t109.5 -41q126 0 126 112v299h178v-276zM1311 798v4q0 97 119.5 97t119.5 -99q0 -45 -34 -77t-82 -32t-85.5 29.5t-37.5 77.5zM1896 800q0 -46 -34 -77.5t-82 -31.5t-86 30t-38 79q0 99 120 99t120 -99zM1721 1054
q0 -47 -34.5 -77.5t-82.5 -30.5t-86 30t-38 78q0 100 120 100t121 -100z" />
<glyph glyph-name="uFEB6" unicode="&#x634;" horiz-adv-x="2298" arabic-form="final"
d="M2328 0h-64q-125 0 -189 99q-81 -115 -223 -115t-237 122q-96 -126 -225 -126q-98 0 -182 74q-3 -212 -122 -360.5t-325 -148.5h-278q-192 0 -318 136.5t-126 329.5v374h180v-382q0 -126 80 -202t206 -76h234q123 0 206 77.5t83 200.5v562h180v-267q0 -62 43 -103
t105 -41q127 0 127 112v299h180v-265q0 -65 44 -105.5t109 -40.5q124 0 124 112v299h178v-276q0 -109 210 -109v-180zM1508 795q0 -45 -34.5 -76t-83 -31t-86.5 28.5t-38 78.5q0 100 121 100t121 -100zM1856 795q0 -46 -34 -76.5t-83.5 -30.5t-87.5 28.5t-38 78.5
q0 100 121.5 100t121.5 -100zM1649 974.5q-34 -33.5 -84 -33.5t-87.5 29t-37.5 80q0 99 121 99q45 0 83.5 -25.5t38.5 -70.5t-34 -78.5z" />
<glyph glyph-name="uFEB7" unicode="&#x634;" horiz-adv-x="1455" arabic-form="initial"
d="M1390 289q0 -131 -64 -219t-198 -88t-238 122q-104 -120 -226 -120t-238 142q-121 -126 -237 -126h-229v180h216q125 0 125 131v253l177 1v-265q0 -65 44 -105.5t109 -40.5q127 0 127 112v299h175v-265q0 -64 45 -105t110 -41q126 0 126 112v299h176v-276zM761 800
q0 -46 -33.5 -78.5t-81.5 -32.5t-85.5 31t-37.5 80q0 96 119 96t119 -96zM1109 800q0 -48 -33.5 -79.5t-82.5 -31.5t-87 31t-38 80q0 96 120 96t121 -96zM933 1054q-1 -48 -35 -79t-82 -31t-86 31t-39 79q0 97 121 97t121 -97z" />
<glyph glyph-name="uFEB8" unicode="&#x634;" horiz-adv-x="1561" arabic-form="medial"
d="M1589 0h-69l-65 11q-73 13 -116 88q-83 -117 -208 -117t-246 122q-108 -122 -256 -122t-244 127q-69 -78 -202 -99q-63 -10 -233 -10v180h165q93 0 124 23q51 37 51 133v229h176v-267q0 -64 45.5 -104t109.5 -40q123 0 123 112v299h177v-265q0 -64 45.5 -105t109.5 -41
q125 0 125 112v299h178v-276q0 -109 210 -109v-180zM716 851q0 -46 -33.5 -78t-82 -32t-87 30.5t-38.5 79.5q0 98 120.5 98t120.5 -98zM1065 851q0 -47 -33.5 -78.5t-83 -31.5t-87.5 30t-38 80q0 98 121 98t121 -98zM860 1028.5q-33 -33.5 -83.5 -33.5t-89 30.5t-38.5 80.5
q0 97 121 97q46 0 84.5 -24.5t38.5 -70.5t-33 -79.5z" />
<glyph glyph-name="u0635" unicode="&#x635;" horiz-adv-x="2275" arabic-form="isolated"
d="M2050 346q0 54 -32 124t-78 71q-89 0 -194 -124t-157 -237h346q115 0 115 166zM2224 318q0 -147 -85.5 -232.5t-232.5 -85.5h-488q-154 0 -188 95q0 -219 -119 -384.5t-327 -165.5h-279q-194 1 -319 145t-125 341v354h180v-396q1 -101 89 -180t190 -79h250q106 0 192 77
t86 182v576h185v-267q0 -114 168 -118q79 204 189 345q152 194 306 194t245 -134q14 -21 33 -55q6 -20 28 -82t22 -130z" />
<glyph glyph-name="uFEBA" unicode="&#x635;" horiz-adv-x="2253" arabic-form="final"
d="M1926 180q99 0 99 179.5t-107 179.5q-157 0 -339 -359h347zM2284 0h-818q-202 0 -241 95q0 -238 -112 -394t-340 -156h-278q-201 0 -317.5 140.5t-116.5 345.5v354h175v-396q0 -110 81 -187t192 -77h252q105 0 193.5 80t88.5 184v576h181v-267q0 -117 171 -118
q214 541 495 541q184 0 278 -180q42 -81 42 -176.5t-27 -184.5h101v-180z" />
<glyph glyph-name="uFEBB" unicode="&#x635;" horiz-adv-x="1548" arabic-form="initial"
d="M1269 354q0 121 -55 166q-23 19 -54 19q-159 0 -345 -359h353q101 0 101 174zM1449 349q0 -76 -23 -158q-34 -123 -98 -157t-194 -34h-456q-187 0 -257 146q-107 -146 -243 -146h-218v180h200q126 0 126 134v251h178v-231q0 -153 174 -154q208 539 497 539q66 0 140 -41
q174 -98 174 -329z" />
<glyph glyph-name="uFEBC" unicode="&#x635;" horiz-adv-x="1561" arabic-form="medial"
d="M1269 354q0 121 -55 166q-23 19 -54 19q-159 0 -345 -359h353q101 0 101 174zM1589 0h-911q-187 0 -257 146q-107 -146 -243 -146h-218v180h200q126 0 126 134v251h178v-231q0 -153 174 -154q208 539 497 539q72 0 143 -41q171 -100 171 -330q0 -69 -28 -168h168v-180z
" />
<glyph glyph-name="u0636" unicode="&#x636;" horiz-adv-x="2275" arabic-form="isolated"
d="M2053 340q0 60 -31.5 130.5t-81.5 70.5q-89 0 -195 -125.5t-156 -235.5h349q115 0 115 160zM1908 719q143 0 229.5 -125.5t86.5 -274.5t-85 -234t-233 -85h-488q-163 0 -188 95q-2 -217 -122 -383.5t-327 -166.5h-276q-196 0 -320 143.5t-124 342.5v354h180v-396
q0 -103 87.5 -181t191.5 -78h250q99 0 188.5 80.5t89.5 178.5v576h185v-267q0 -118 171 -118q225 539 504 539zM1879 1053q0 -52 -37 -88.5t-88 -36.5q-136 0 -136 125q0 107 130.5 107t130.5 -107z" />
<glyph glyph-name="uFEBE" unicode="&#x636;" horiz-adv-x="2253" arabic-form="final"
d="M1924 180q99 0 99 179.5t-108 179.5q-87 0 -200 -139q-86 -106 -137 -220h346zM2283 0h-819q-213 0 -240 95q-4 -240 -106 -384q-118 -166 -348 -166h-276q-197 0 -316 143t-119 343v354h175v-396q0 -107 82.5 -185.5t189.5 -78.5h253q101 0 191.5 82t90.5 182v576h180
v-267q0 -118 172 -118q222 541 495 541q70 0 146 -43q171 -99 171 -333q0 -86 -26 -165h104v-180zM1863 1039q0 -52 -37 -88t-88 -36q-137 0 -137 124q0 107 131 107t131 -107z" />
<glyph glyph-name="uFEBF" unicode="&#x636;" horiz-adv-x="1548" arabic-form="initial"
d="M1162 539h-2q-90 0 -204 -138q-86 -104 -141 -221h350q101 0 101 179.5t-104 179.5zM1449 351q0 -79 -23 -160q-33 -121 -106 -161q-55 -30 -186 -30h-456q-180 0 -259 146q-105 -146 -243 -146h-216v180h200q126 0 126 131v253l178 1v-231q0 -154 176 -154
q222 539 498 539q71 0 140 -41q171 -103 171 -327zM1023 1068v-4q0 -52 -37 -88.5t-88 -36.5q-134 0 -134 125q0 107 129.5 107t129.5 -103z" />
<glyph glyph-name="uFEC0" unicode="&#x636;" horiz-adv-x="1561" arabic-form="medial"
d="M1162 539h-2q-90 0 -204 -138q-86 -104 -141 -221h350q101 0 101 179.5t-104 179.5zM1589 0h-911q-180 0 -259 146q-105 -146 -243 -146h-216v180h200q126 0 126 131v253l178 1v-231q0 -154 176 -154q222 539 498 539q72 0 140 -41q168 -104 168 -330q0 -85 -27 -168h170
v-180zM1028 1068q0 -52 -37.5 -88t-89.5 -36q-135 0 -135 124q0 108 131 108t131 -108z" />
<glyph glyph-name="u0637" unicode="&#x637;" horiz-adv-x="1054" arabic-form="isolated"
d="M809 369q0 170 -109 170q-89 0 -202 -139q-84 -102 -139 -220h346q44 0 74 48t30 141zM371 511q172 208 311 208t225.5 -126.5t86.5 -266.5t-78.5 -233t-210.5 -93h-624l-36 180h151v974h175v-643z" />
<glyph glyph-name="uFEC2" unicode="&#x637;" horiz-adv-x="1043" arabic-form="final"
d="M809 369q0 170 -109 170q-89 0 -202 -139q-84 -102 -139 -220h346q44 0 74 48t30 141zM1061 0h-985l-36 180h154v974h176v-643q171 208 313 208q57 0 132 -41q174 -97 174 -367q0 -58 -25 -131h97v-180z" />
<glyph glyph-name="uFEC3" unicode="&#x637;" horiz-adv-x="986" arabic-form="initial"
d="M621 536q-87 0 -191 -123t-151 -235h350q104 0 104 163q0 195 -112 195zM629 0h-665v180h154v974h180v-643q172 205 310 205t224 -117t86 -263t-74 -241t-215 -95z" />
<glyph glyph-name="uFEC4" unicode="&#x637;" horiz-adv-x="949" arabic-form="medial"
d="M696 369q0 170 -108 170q-89 0 -203 -139q-85 -104 -140 -220h348q43 0 73 48t30 141zM966 0h-1016v180h131v974h175v-643q172 208 314 208q58 0 133 -41q168 -94 168 -338q0 -95 -23 -160h118v-180z" />
<glyph glyph-name="u0638" unicode="&#x638;" horiz-adv-x="1054" arabic-form="isolated"
d="M703 180q103 0 103 179.5t-107 179.5q-89 0 -192 -123.5t-151 -235.5h347zM703 0h-624l-36 180h151v974h176v-643q166 208 305.5 208t227.5 -121.5t88 -263t-74.5 -238t-213.5 -96.5zM838 1054q0 -53 -36 -89.5t-88 -36.5q-138 0 -138 126q0 109 131 109t131 -109z" />
<glyph glyph-name="uFEC6" unicode="&#x638;" horiz-adv-x="1043" arabic-form="final"
d="M703 180q103 0 103 179.5t-107 179.5q-89 0 -192 -123.5t-151 -235.5h347zM1061 0h-987l-34 180h154v974h176v-643q166 208 310 208q64 0 134 -41q175 -104 175 -304q0 -118 -26 -194h98v-180zM829 1053q0 -52 -37 -88.5t-88 -36.5q-134 0 -134 125q0 107 129.5 107
t129.5 -107z" />
<glyph glyph-name="uFEC7" unicode="&#x638;" horiz-adv-x="986" arabic-form="initial"
d="M621 536q-87 0 -191 -123t-151 -235h350q104 0 104 163q0 195 -112 195zM629 0h-665v180h154v974h180v-643q172 205 310 205t224 -117t86 -263t-74 -241t-215 -95zM744 1036q0 -53 -36 -89.5t-89 -36.5q-136 0 -136 126q1 107 131 107t130 -107z" />
<glyph glyph-name="uFEC8" unicode="&#x638;" horiz-adv-x="949" arabic-form="medial"
d="M590 180q104 0 104 179.5t-108 179.5q-88 0 -203 -138q-92 -109 -139 -221h346zM966 0h-1017l1 180h131v974h175v-643q166 208 312 208q66 0 132 -41q171 -108 171 -302q0 -117 -26 -196h121v-180zM753 1068q0 -53 -36.5 -90t-88.5 -37q-137 0 -137 127q0 106 131 106
t131 -106z" />
<glyph glyph-name="u0639" unicode="&#x639;" horiz-adv-x="1090" arabic-form="isolated"
d="M663 719h7q144 0 305 -135l-85 -138q-153 104 -250 104t-124 -97q-1 -3 -4.5 -16.5t-6.5 -23.5v-30q0 -73 40 -138t109 -65h357l25 -180h-595q-122 0 -187 -95t-65 -241t100 -250.5t264 -104.5h488l24 -177h-472q-247 0 -417 154t-170 399q0 342 379 509q-59 107 -59 216
q0 150 99.5 229.5t237.5 79.5z" />
<glyph glyph-name="uFECA" unicode="&#x639;" horiz-adv-x="1115" arabic-form="final"
d="M860 491q0 25 -30 39t-57 15h-284l199 -209q172 95 172 155zM1026 588q17 -42 17 -58v-18q0 -103 -55.5 -168.5t-173.5 -129.5q80 -34 340 -34v-180q-184 0 -266 15q-152 27 -233 118q-432 -183 -432 -456q0 -138 115 -253t250 -115h525l18 -177h-496q-240 0 -412 163
t-172 402q0 357 472 559l-239 235q58 104 121 228h384q185 0 237 -131z" />
<glyph glyph-name="uFECB" unicode="&#x639;" horiz-adv-x="904" arabic-form="initial"
d="M865 0h-905v180h256q-56 129 -56 231t59.5 182t141.5 103t165 23q144 0 277 -133l-89 -140q-142 108 -241 108q-142 0 -142 -173q0 -75 38 -138t109 -63h358z" />
<glyph glyph-name="uFECC" unicode="&#x639;" horiz-adv-x="831" arabic-form="medial"
d="M586 489q0 24 -28 40t-55 16h-287l197 -207q173 88 173 151zM860 0q-168 0 -248 20t-191 111q-113 -93 -225 -120q-26 -6 -239 -11v180q251 0 316 65l-250 246q58 104 121 228h386q185 0 235 -130q16 -43 16 -69q0 -110 -61 -181q-39 -45 -155 -118q107 -41 295 -41v-180
z" />
<glyph glyph-name="u063A" unicode="&#x63a;" horiz-adv-x="1090" arabic-form="isolated"
d="M1064 -868h-471q-243 0 -415 156t-172 397q0 340 379 509q-61 113 -61 202q0 146 90 236t244 90h2q156 0 314 -138l-86 -138q-147 104 -244 104q-141 0 -141 -162q0 -80 37 -144t111 -64h358l25 -180h-595q-121 0 -186 -96t-65 -222q0 -166 98 -269.5t264 -103.5h489z
M826 1050q0 -53 -36 -89.5t-89 -36.5q-136 0 -136 126q1 108 131 108t130 -108z" />
<glyph glyph-name="uFECE" unicode="&#x63a;" horiz-adv-x="1115" arabic-form="final"
d="M860 494l-9 22q-31 29 -78 29h-284l199 -207q172 91 172 156zM51 -315v6q0 379 472 565l-239 235q58 104 121 228h384q192 0 240 -131q14 -38 14 -67t-9 -91q-14 -98 -219 -216q89 -34 341 -34l-2 -180l-163 5q-227 8 -337 128q-433 -193 -433 -456q0 -141 112 -254.5
t253 -113.5h527l18 -177h-496q-241 0 -412.5 159.5t-171.5 393.5zM838 1045q0 -53 -36 -89.5t-88 -36.5q-138 0 -138 126q0 106 131 106t131 -106z" />
<glyph glyph-name="uFECF" unicode="&#x63a;" horiz-adv-x="904" arabic-form="initial"
d="M865 0h-905v180h256q-58 117 -58 221q0 144 92 232t252 88t301 -135l-89 -140q-148 108 -239 108q-144 0 -144 -169q0 -77 37 -141t110 -64h358zM599 1041q0 -51 -37 -88t-88 -37q-136 0 -136 125q0 108 130 108t131 -108z" />
<glyph glyph-name="uFED0" unicode="&#x63a;" horiz-adv-x="831" arabic-form="medial"
d="M586 489l-10 27q-10 29 -73 29h-287l197 -207q173 90 173 151zM860 0h-13q-145 0 -233 22t-195 109q-143 -119 -276 -128q-34 -3 -82 -3h-106l2 180q254 5 316 65q-161 163 -250 246q66 115 120 228h387q190 0 240 -130q16 -43 16 -64.5t-8 -94.5q-12 -94 -210 -209
q114 -41 292 -41v-180zM503 1068q0 -52 -37 -88t-88 -36q-134 0 -134 124q0 108 129.5 108t129.5 -108z" />
<glyph glyph-name="u0641" unicode="&#x641;" horiz-adv-x="1606" arabic-form="isolated"
d="M1359 483q0 87 -46 147t-129 60q-131 0 -131 -117q0 -88 138 -89q42 0 168 -1zM899 586v6q0 129 87.5 202.5t226.5 73.5t227 -98t92 -242t4 -213q0 -129 -76 -222t-202 -93h-938q-116 0 -186 87t-71 206v272h181v-247q0 -77 28.5 -107.5t103.5 -30.5h860q82 0 103 31
q10 15 24 104q-254 0 -318 23q-146 51 -146 248zM1334 1076q0 -51 -37.5 -87t-88.5 -36q-135 0 -135 123q1 109 131 109t130 -109z" />
<glyph glyph-name="uFED2" unicode="&#x641;" horiz-adv-x="1618" arabic-form="final"
d="M1370 385q0 66 -43.5 113t-103.5 47t-102 -40.5t-42 -94.5q0 -105 182 -191q109 67 109 166zM1230 719h6q138 -1 218 -97t80 -222t-65 -220h174v-180q-314 0 -388 40q-25 -37 -342 -37q-45 -1 -300 -2l-299 -1q-108 0 -174 90t-66 203v272h181v-247q0 -138 133 -138h623
q-101 112 -101 246t93.5 213.5t226.5 79.5zM1359 1054q0 -53 -36 -89.5t-89 -36.5q-136 0 -136 126q0 106 130 106t131 -106z" />
<glyph glyph-name="uFED3" unicode="&#x641;" horiz-adv-x="915" arabic-form="initial"
d="M599 484q-7 199 -169 199q-119 0 -119 -95q0 -76 45 -94q19 -8 112 -9zM800 284v-14q0 -106 -87 -188t-204 -82h-540v180h542q99 0 99 134q-140 1 -317 17q-149 55 -149 245q0 131 82 211.5t201 80.5t208 -57q143 -90 154 -302zM573 1098q0 -52 -37.5 -88.5t-89.5 -36.5
q-132 0 -132 125q0 107 129.5 107t129.5 -107z" />
<glyph glyph-name="uFED4" unicode="&#x641;" horiz-adv-x="856" arabic-form="medial"
d="M564 385q0 60 -44 110t-104 50t-101.5 -39.5t-41.5 -97.5q0 -111 182 -189q109 81 109 166zM904 0q-20 4 -106 5l-178 3q-93 1 -171 40q-83 -48 -512 -48v180h266q-99 111 -99 245t90 214t227 80l2 -1q139 0 222 -92t83 -222t-65 -224h241v-180zM556 1041
q0 -51 -36.5 -88t-88.5 -37q-133 0 -133 125q0 108 129 108t129 -108z" />
<glyph glyph-name="u0642" unicode="&#x642;" horiz-adv-x="1339" arabic-form="isolated"
d="M1079 165v3q0 83 -47.5 142.5t-130.5 59.5q-126 0 -126 -102q0 -108 169 -108q91 0 135 5zM1253 35q0 -39 -9 -143q-14 -164 -141.5 -267.5t-293.5 -103.5h-275q-200 0 -319 135t-119 338v359h170v-366q0 -125 77.5 -211t201.5 -86h250q127 0 205 90t81 219
q-254 0 -320 22q-146 50 -146 247q0 130 86 204t228 74t233 -100t91 -253v-158zM849 741q0 -47 -33.5 -76t-80.5 -29q-126 0 -126 105q0 100 120 100t120 -100zM1196 741q0 -47 -33 -76t-80 -29q-128 0 -128 105q1 100 121 100t120 -100z" />
<glyph glyph-name="uFED6" unicode="&#x642;" horiz-adv-x="1350" arabic-form="final"
d="M1061 180q0 86 -52.5 143.5t-138.5 57.5q-124 0 -124 -91q0 -70 60 -96q32 -14 255 -14zM1385 0h-149q0 -189 -133.5 -322t-322.5 -133h-283q-180 0 -303.5 139.5t-123.5 324.5v376h180v-396q0 -103 95 -181t191 -78h234q116 0 196.5 77t89.5 193q-258 0 -326 25
q-160 59 -160 259q0 131 94 206t241.5 75t240.5 -111t95 -274h144v-180zM809 773q0 -47 -33.5 -77t-80.5 -30q-127 0 -127 107q0 98 120 98t121 -98zM1156 773q0 -47 -33.5 -77t-79.5 -30q-128 0 -128 107q1 98 121 98t120 -98z" />
<glyph glyph-name="uFED7" unicode="&#x642;" horiz-adv-x="915" arabic-form="initial"
d="M599 484q-7 199 -169 199q-119 0 -119 -95q0 -76 45 -94q19 -8 112 -9zM800 284v-14q0 -106 -87 -188t-204 -82h-540v180h542q99 0 99 134q-140 1 -317 17q-149 55 -149 245q0 131 82 211.5t201 80.5t208 -57q143 -90 154 -302zM388 1061q0 -46 -33.5 -76t-80.5 -30
q-125 0 -125 106q0 99 119.5 99t119.5 -99zM733 1061q0 -46 -33.5 -76t-80.5 -30q-125 0 -125 106q0 99 119.5 99t119.5 -99z" />
<glyph glyph-name="uFED8" unicode="&#x642;" horiz-adv-x="856" arabic-form="medial"
d="M564 385q0 60 -44 110t-104 50t-101.5 -39.5t-41.5 -97.5q0 -111 182 -189q109 81 109 166zM904 0q-20 4 -106 5l-178 3q-93 1 -171 40q-83 -48 -512 -48v180h266q-99 111 -99 245t90 214t227 80l2 -1q139 0 222 -92t83 -222t-65 -224h241v-180zM348 1064
q0 -47 -33.5 -76.5t-80.5 -29.5q-125 0 -125 106v2q0 97 119.5 97t119.5 -99zM691 1064q0 -47 -32.5 -76.5t-79.5 -29.5q-126 0 -126 106q0 99 119 99t119 -99z" />
<glyph glyph-name="u0643" unicode="&#x643;" horiz-adv-x="1606" arabic-form="isolated"
d="M1446 450q87 -91 87 -204.5t-82 -179.5t-196 -66h-926q-115 0 -185.5 88t-70.5 205v272h180v-247q0 -76 28.5 -107t103.5 -31h863q95 0 95 84q0 38 -29 67l-471 487l-25 205l656 236l24 -180l-473 -183z" />
<glyph glyph-name="uFEDA" unicode="&#x6a9;" horiz-adv-x="1760" arabic-form="final"
d="M1806 0q-202 0 -297 129q-48 -129 -231 -129h-944q-114 0 -186 88t-72 205v272h180v-247q0 -76 29.5 -107t104.5 -31h879q90 0 90 65q0 35 -44 81l-467 492l-34 202l664 239l25 -180l-469 -175l500 -555l129 -130q33 -34 143 -39v-180z" />
<glyph glyph-name="uFEDB" unicode="&#x6a9;" horiz-adv-x="843" arabic-form="initial"
d="M803 249v-4q0 -245 -275 -245h-562v180h562q71 0 71 84q0 39 -23 62l-467 492l-30 201l660 240l27 -180l-466 -175l369 -413q39 -45 86.5 -119t47.5 -123z" />
<glyph glyph-name="uFEDC" unicode="&#x6a9;" horiz-adv-x="1009" arabic-form="medial"
d="M1064 0q-230 0 -325 131q-53 -131 -248 -131h-534v180h537q71 0 71 93q0 32 -20 53l-469 492l-33 202l662 239l25 -180l-469 -175l497 -550q84 -94 144 -132t162 -42v-180z" />
<glyph glyph-name="u06AF" unicode="&#x6af;" horiz-adv-x="1606" arabic-form="isolated"
d="M1466 441q89 -98 89 -209t-79.5 -171.5t-202.5 -60.5h-925q-114 0 -186 88t-72 205v272h180v-247q0 -78 30 -108t108 -30h876q34 0 63 24t29 53t-17 47l-499 514l-34 202l665 239l25 -180l-466 -178zM1446 1361l-628 -227l-9 69l632 227z" />
<glyph glyph-name="uFB93" unicode="&#x6af;" horiz-adv-x="1760" arabic-form="final"
d="M1794 0q-203 0 -298 129q-47 -129 -232 -129h-944q-116 0 -186 87t-71 206v272h181v-247q0 -77 28.5 -107.5t103.5 -30.5h879q90 0 90 68q0 34 -42 78l-472 492l-31 202l664 239l25 -180l-469 -175l499 -555q0 -1 127 -130q33 -34 148 -39v-180zM1419 1361l-626 -227
l-9 69l631 227z" />
<glyph glyph-name="uFB94" unicode="&#x6af;" horiz-adv-x="856" arabic-form="initial"
d="M719 388q50 -56 50 -160t-84 -166t-202 -62h-526v180h526q103 0 103 68q0 37 -33 72l-479 498l-34 202l665 239l25 -180l-474 -180zM660 1361l-629 -227l-8 69l632 227z" />
<glyph glyph-name="uFB95" unicode="&#x6af;" horiz-adv-x="1031" arabic-form="medial"
d="M1054 0q-222 0 -315 144q-61 -144 -228 -144h-536v180h539q92 0 92 68q0 34 -42 78l-471 492l-30 202l661 239l29 -180l-480 -180l502 -550q53 -59 158 -150q39 -19 75 -19h46v-180zM680 1361l-629 -227l-8 69l633 227z" />
<glyph glyph-name="u0644" unicode="&#x644;" horiz-adv-x="1361" arabic-form="isolated"
d="M1264 23q0 -204 -124 -341t-326 -137h-278q-178 0 -309.5 141.5t-131.5 322.5v376h180v-396q1 -111 91 -185t204 -74h233q109 0 195 76t86 183v1165h180v-1131z" />
<glyph glyph-name="uFEDE" unicode="&#x644;" horiz-adv-x="1408" arabic-form="final"
d="M1446 0q-145 0 -202 85q0 -226 -118 -383t-337 -157h-278q-185 1 -308.5 138.5t-123.5 322.5v379h176v-396q0 -116 86 -190t204 -74h233q117 0 200 74t83 190v1165h180v-848q0 -124 205 -126v-180z" />
<glyph glyph-name="uFEDF" unicode="&#x644;" horiz-adv-x="516" arabic-form="initial"
d="M388 275q0 -130 -77.5 -202.5t-209.5 -72.5h-137v180l123 -1q86 6 109 44q15 23 15 131v800h177v-879z" />
<glyph glyph-name="uFEE0" unicode="&#x644;" horiz-adv-x="598" arabic-form="medial"
d="M635 0h-54q-175 0 -261 70q-65 -54 -108 -62t-246 -8v180q54 -2 134 -2t104 40t24 136v800h180v-836q0 -98 58 -122q28 -11 169 -16v-180z" />
<glyph glyph-name="u0645" unicode="&#x645;" horiz-adv-x="1149" arabic-form="isolated"
d="M778 176q132 0 132 151.5t-31 180.5t-250 35v-250q0 -52 47.5 -84.5t101.5 -32.5zM1086 295q0 -136 -91.5 -218t-229.5 -82t-224 93.5t-86 234.5v220q-31 2 -37 2q-70 0 -117.5 -55t-47.5 -125v-820h-177v798q0 173 92.5 274.5t264.5 101.5h365q180 0 245 -131
q43 -89 43 -293z" />
<glyph glyph-name="uFEE2" unicode="&#x645;" horiz-adv-x="1233" arabic-form="final"
d="M906 331q0 137 -34 173t-248 39v-253q0 -57 43 -89t102 -32q137 0 137 162zM1281 0q-113 0 -165 22t-107 109q-56 -142 -228 -142q-147 0 -239 93t-92 241v220q-82 0 -141 -49t-59 -129v-820h-176v798q0 175 90 275t264 101h365q288 0 288 -421q0 -116 200 -118v-180z
" />
<glyph glyph-name="uFEE3" unicode="&#x645;" horiz-adv-x="843" arabic-form="initial"
d="M624 348.5q0 194.5 -156.5 194.5t-156.5 -194.5t156.5 -194.5t156.5 194.5zM474 719q150 0 228.5 -112.5t78.5 -268t-80.5 -259.5t-231.5 -104q-115 0 -203 68q-87 -38 -305 -43v180q153 0 179 30q8 10 11 138q9 371 323 371z" />
<glyph glyph-name="uFEE4" unicode="&#x645;" horiz-adv-x="904" arabic-form="medial"
d="M458 154q152 0 152 194.5t-152 194.5q-158 0 -158 -194.5t158 -194.5zM930 0q-89 0 -135 19t-87 85q-77 -129 -248 -129q-63 0 -131.5 38t-103.5 91q-20 -102 -273 -104v180q150 0 177 30q14 15 14 158.5t81 247t234 103.5t232.5 -109.5t82.5 -261.5q1 -57 2 -73
q6 -65 48 -82q20 -9 107 -13v-180z" />
<glyph glyph-name="u0646" unicode="&#x646;" horiz-adv-x="1339" arabic-form="isolated"
d="M1239 29q-1 -211 -123 -347t-330 -137h-277q-185 1 -309 139t-124 325v376h177v-396q0 -114 87 -189t203 -75h232q117 0 200.5 74t83.5 190v576h180v-536zM471 606v4q0 104 129.5 104t129.5 -108q0 -51 -36.5 -87t-88.5 -36q-134 0 -134 123z" />
<glyph glyph-name="uFEE6" unicode="&#x646;" horiz-adv-x="1361" arabic-form="final"
d="M1440 0q-148 0 -199 85q0 -226 -117 -383t-338 -157h-277q-185 1 -309 139t-124 325v376h177v-396q0 -116 86 -190t204 -74h232q117 0 200.5 74t83.5 190v576h180v-259q0 -124 201 -126v-180zM736 606q0 -51 -36.5 -87t-88.5 -36q-136 0 -136 123q1 108 131 108t130 -108
z" />
<glyph glyph-name="uFEE7" unicode="&#x646;" horiz-adv-x="586" arabic-form="initial"
d="M339 353l-3 212h184v-272q0 -116 -74 -204.5t-187 -88.5h-295v180q283 0 315 11q60 22 60 162zM343 848q0 -53 -36.5 -90t-88.5 -37q-137 0 -137 127q0 107 131 107t131 -107z" />
<glyph glyph-name="uFEE8" unicode="&#x646;" horiz-adv-x="703" arabic-form="medial"
d="M331 353l-2 212h182v-247q0 -133 224 -138v-180h-59q-170 0 -250 70q-90 -70 -173 -70h-296v180q279 0 314 13q60 21 60 160zM343 848q0 -53 -36.5 -90t-88.5 -37q-137 0 -137 127q0 107 131 107t131 -107z" />
<glyph glyph-name="u0648" unicode="&#x648;" horiz-adv-x="893" arabic-form="isolated"
d="M601 180v185q0 176 -141 176q-86 0 -116 -58q-21 -41 -21 -147t91 -138q49 -18 187 -18zM781 -23q0 -180 -135.5 -306t-316.5 -126h-233l-23 180h227q128 0 212 74t89 201q-225 0 -327 60q-136 80 -136 297t107 308q66 56 220 56q205 0 274 -172q42 -107 42 -346v-226z
" />
<glyph glyph-name="uFEEE" unicode="&#x648;" horiz-adv-x="893" arabic-form="final"
d="M329 351v-15q0 -106 95 -138q51 -18 191 -18v171q-1 75 -38.5 132.5t-111.5 57.5h-6q-79 -1 -104.5 -48t-25.5 -142zM919 0h-119q0 -198 -132.5 -326.5t-331.5 -128.5h-232l-25 180h227q128 0 213 74t90 201q-223 0 -328 61q-137 81 -137 297t109 307q63 54 213 54
q215 0 288 -178q42 -104 46 -361h119v-180z" />
<glyph glyph-name="u0647" unicode="&#x647;" horiz-adv-x="809" arabic-form="isolated"
d="M534.5 199q44.5 46 44.5 109t-29 93l-145 153q-161 -153 -161 -243q0 -69 52 -113.5t123 -44.5t115.5 46zM674 528q84 -87 84 -225t-105 -230.5t-249.5 -92.5t-239 100.5t-94.5 251.5t205 356l-52 58l122 122z" />
<glyph glyph-name="uFEEA" unicode="&#x647;" horiz-adv-x="1031" arabic-form="final"
d="M501.5 198.5q51.5 44.5 51.5 111.5t-34 100l-145 144q-84 -79 -105 -106q-53 -68 -53 -137.5t47 -113t117 -43.5t121.5 44.5zM1068 0q-118 0 -158.5 23.5t-201.5 172.5q-102 -216 -329 -216q-149 0 -246 97t-97 249.5t209 361.5l-51 58l121 122l539 -573
q71 -75 100 -92.5t114 -22.5v-180z" />
<glyph glyph-name="uFEEB" unicode="&#x647;" horiz-adv-x="1171" arabic-form="initial"
d="M548 415q0 61 -45 101t-100.5 40t-84.5 -39t-29 -89q0 -117 144 -173q115 51 115 160zM786 115q118 0 118 110.5t-238 350.5q55 -62 55 -171q0 -172 -111 -229q102 -61 176 -61zM1093 239q0 -119 -89 -214t-219 -95t-357 133q-116 -59 -259 -60l-200 -3v180h250
q-99 130 -99 253t82 205.5t204.5 82.5t222.5 -97l-118 122l135 122q447 -427 447 -629z" />
<glyph glyph-name="uFEEC" unicode="&#x647;" horiz-adv-x="798" arabic-form="medial"
d="M586 -208q0 104 -102.5 163t-215.5 59q0 -334 183 -334q135 0 135 112zM264 180q115 0 200.5 70t85.5 185t-120 115q-171 0 -171 -229q0 -14 5 -141zM831 0h-227q132 -91 132 -264q0 -209 -265 -209q-322 0 -350 277l-20 196h-155v180h147q-14 184 -14 201q0 335 336 335
q136 0 220 -76t84 -219t-120 -241h232v-180z" />
<glyph glyph-name="u0629" unicode="&#x629;" horiz-adv-x="809" arabic-form="isolated"
d="M534.5 199q44.5 46 44.5 109t-29 93l-145 153q-161 -153 -161 -243q0 -69 52 -113.5t123 -44.5t115.5 46zM674 528q84 -87 84 -225t-105 -230.5t-249.5 -92.5t-239 100.5t-94.5 251.5t205 356l-52 58l122 122zM466 1093l-303 -153l-25 49l103 56q-90 50 -90 124t39.5 118
t104.5 44q25 0 86 -22l-22 -48q-30 17 -55 17q-99 0 -99 -102q0 -81 76 -81q63 0 160 51z" />
<glyph glyph-name="uFE94" unicode="&#x6c0;" horiz-adv-x="1031" arabic-form="final"
d="M501.5 198.5q51.5 44.5 51.5 111.5t-34 100l-145 144q-84 -79 -105 -106q-53 -68 -53 -137.5t47 -113t117 -43.5t121.5 44.5zM1068 0q-118 0 -158.5 23.5t-201.5 172.5q-102 -216 -329 -216q-149 0 -246 97t-97 249.5t209 361.5l-51 58l121 122l539 -573
q71 -75 100 -92.5t114 -22.5v-180zM450 1143l-304 -154l-25 50l104 56q-92 49 -92 121t41.5 117.5t93 45.5t97.5 -20l-22 -48q-31 17 -64 17t-61.5 -30t-28.5 -73q0 -80 79 -80q58 0 156 51z" />
<glyph glyph-name="u064A" unicode="&#x64a;" horiz-adv-x="1289" arabic-form="isolated"
d="M1225 9q0 -265 -191 -390q-113 -74 -250 -74h-279q-185 0 -305 138t-121 326v372h169v-392q0 -120 86 -194t207 -74h232q106 1 193 71t87 166t-123 125q-33 7 -45 7h-250v309q0 139 89 229.5t229 90.5h216l7 -169h-216q-97 0 -134 -86q-17 -42 -22 -205q213 0 284 -26
q137 -52 137 -224z" />
<glyph glyph-name="uFEF2" unicode="&#x6cc;" horiz-adv-x="1289" arabic-form="final"
d="M1318 0h-167l9 -88q0 -157 -118 -262t-276 -105h-280q-211 0 -326.5 149.5t-116.5 368.5v322h180v-391q1 -129 87 -199t218 -70h231q96 0 160 53t64 148q0 58 -165 71q-30 3 -209 3l-16 180h725v-180z" />
<glyph glyph-name="uFEF3" unicode="&#x6cc;" horiz-adv-x="680" arabic-form="initial"
d="M-9 -347v4q0 98 119.5 98t119.5 -100q0 -46 -33.5 -76t-80.5 -30q-1 1 -2 1q-48 0 -85.5 27.5t-37.5 75.5zM575 -343v-5q0 -44 -33 -73.5t-80 -29.5q-1 1 -2 1q-48 0 -86 28t-38 77q0 100 119.5 100t119.5 -98zM606 293q0 -117 -72 -205t-185 -88h-385v180h329
q75 0 104 30.5t29 107.5v247h180v-272z" />
<glyph glyph-name="uFEF4" unicode="&#x6cc;" horiz-adv-x="739" arabic-form="medial"
d="M270 -343q0 -46 -33 -76t-81.5 -30t-86.5 29t-38 77q0 99 119.5 99t119.5 -99zM615 -343q0 -46 -33 -76t-81.5 -30t-86.5 29t-38 77q0 99 119.5 99t119.5 -99zM775 0h-63q-52 0 -102 9q-43 17 -91 61q-86 -70 -171 -70h-388v180h333q75 0 104 30.5t29 107.5v247h180v-247
q0 -89 37 -113.5t132 -24.5v-180z" />
<glyph glyph-name="u0649" unicode="&#x649;" horiz-adv-x="1289" arabic-form="isolated"
d="M1225 9q0 -265 -191 -390q-113 -74 -250 -74h-279q-185 0 -305 138t-121 326v372h169v-392q0 -120 86 -194t207 -74h232q106 1 193 71t87 166t-123 125q-33 7 -45 7h-250v309q0 139 89 229.5t229 90.5h216l7 -169h-216q-97 0 -134 -86q-17 -42 -22 -205q213 0 284 -26
q137 -52 137 -224z" />
<glyph glyph-name="uFEF0" unicode="&#x649;" horiz-adv-x="1289" arabic-form="final"
d="M1318 0h-167l9 -88q0 -157 -118 -262t-276 -105h-280q-211 0 -326.5 149.5t-116.5 368.5v322h180v-391q1 -129 87 -199t218 -70h231q96 0 160 53t64 148q0 58 -165 71q-30 3 -209 3l-16 180h725v-180z" />
<glyph glyph-name=".notdef" horiz-adv-x="1024"
d="M256 128h512v1834h-512v-1834zM128 0v2090h768v-2090h-768z" />
<glyph glyph-name=".null"
/>
<glyph glyph-name="nonmarkingreturn" horiz-adv-x="469"
/>
<glyph glyph-name="space" unicode=" " horiz-adv-x="469"
/>
<glyph glyph-name="exclam" unicode="!" horiz-adv-x="469"
d="M371 120q0 -120 -131 -120t-131 120q0 110 131 110t131 -110zM326 759q-12 -12 -12 -136l-28 -274h-95l-42 410v395h177v-395z" />
<glyph glyph-name="percent" unicode="%" horiz-adv-x="469"
d="M469 552.5q47 47.5 47 110.5t-53 110t-117.5 47t-110.5 -51t-46 -115.5t52 -106.5t116.5 -42t111.5 47.5zM553.5 853q89.5 -88 89.5 -196.5t-92.5 -187.5t-203.5 -79t-195 81.5t-84 192t88 194t198 83.5t199.5 -88zM1129 930l-646 -1174h-174l640 1174h180zM1228.5 -55
q49.5 49 49.5 110t-50.5 110t-113 49t-114 -51.5t-51.5 -121t76 -117.5q43 -28 98.5 -28t105 49zM1316 247.5q85 -88.5 85 -200t-89.5 -189t-199 -77.5t-198 80.5t-88.5 188.5t91.5 197t202.5 89t196 -88.5z" />
<glyph glyph-name="parenleft" unicode="(" horiz-adv-x="721"
d="M643 1399q-162 -313 -229 -511q-94 -276 -94 -586t74 -580t246 -576h-99q-205 295 -305 560t-101 574q0 309 120 595q82 197 293 524h95z" />
<glyph glyph-name="parenright" unicode=")" horiz-adv-x="721"
d="M178 1399q204 -303 305 -562t101 -568.5t-118 -593.5q-82 -199 -295 -529h-95q323 599 323 1062q0 371 -65.5 595.5t-254.5 595.5h99z" />
<glyph glyph-name="asterisk" unicode="*" horiz-adv-x="680"
/>
<glyph glyph-name="plus" unicode="+" horiz-adv-x="1275"
d="M1191 239h-466v-464h-171v464h-464v176h464v464h171v-464h466v-176z" />
<glyph glyph-name="comma" unicode="," horiz-adv-x="264"
d="M4 34q0 110 136 110q82 0 105 -36t23 -161t-25 -191q-43 -111 -177 -124v65q79 8 107 75q14 38 18 138q-187 0 -187 124z" />
<glyph glyph-name="hyphen" unicode="-" horiz-adv-x="1149"
d="M1076 239h-981v177h981v-177z" />
<glyph glyph-name="period" unicode="." horiz-adv-x="564"
d="M416 96q0 -119 -132 -119t-133 119q1 112 133 112t132 -112z" />
<glyph glyph-name="slash" unicode="/" horiz-adv-x="971"
d="M904 930l-648 -1174h-172l640 1174h180z" />
<glyph glyph-name="zero" unicode="0" horiz-adv-x="1210"
d="M729.5 204.5q51.5 51.5 51.5 120.5t-54 122t-125.5 53t-124.5 -56t-53 -126.5t58 -117.5t127 -47t120.5 51.5zM829.5 542q96.5 -102 96.5 -222t-100.5 -208.5t-222 -88.5t-220.5 88.5t-99 213t100.5 222t224.5 97.5t220.5 -102z" />
<glyph glyph-name="zero" unicode="&#x6f0;" horiz-adv-x="1210"
d="M729.5 204.5q51.5 51.5 51.5 120.5t-54 122t-125.5 53t-124.5 -56t-53 -126.5t58 -117.5t127 -47t120.5 51.5zM829.5 542q96.5 -102 96.5 -222t-100.5 -208.5t-222 -88.5t-220.5 88.5t-99 213t100.5 222t224.5 97.5t220.5 -102z" />
<glyph glyph-name="zero" unicode="&#x660;" horiz-adv-x="1210"
d="M729.5 204.5q51.5 51.5 51.5 120.5t-54 122t-125.5 53t-124.5 -56t-53 -126.5t58 -117.5t127 -47t120.5 51.5zM829.5 542q96.5 -102 96.5 -222t-100.5 -208.5t-222 -88.5t-220.5 88.5t-99 213t100.5 222t224.5 97.5t220.5 -102z" />
<glyph glyph-name="one" unicode="1" horiz-adv-x="1210"
d="M736 -200h-175v551q0 276 -86 562l171 56l62 -241q0 -6 14 -116t14 -261v-551z" />
<glyph glyph-name="one" unicode="&#x6f1;" horiz-adv-x="1210"
d="M736 -200h-175v551q0 276 -86 562l171 56l62 -241q0 -6 14 -116t14 -261v-551z" />
<glyph glyph-name="one" unicode="&#x661;" horiz-adv-x="1210"
d="M736 -200h-175v551q0 276 -86 562l171 56l62 -241q0 -6 14 -116t14 -261v-551z" />
<glyph glyph-name="two" unicode="2" horiz-adv-x="1210"
d="M908 971q50 -246 50 -338t-86 -160t-175.5 -68t-180.5 59l3 -664h-181v525q0 357 -85 588l173 56l72 -295q27 -113 133 -113q74 1 107 48t33 84q0 5 -1 10l-29 215q55 18 167 53z" />
<glyph glyph-name="two" unicode="&#x6f2;" horiz-adv-x="1210"
d="M908 971q50 -246 50 -338t-86 -160t-175.5 -68t-180.5 59l3 -664h-181v525q0 357 -85 588l173 56l72 -295q27 -113 133 -113q74 1 107 48t33 84q0 5 -1 10l-29 215q55 18 167 53z" />
<glyph glyph-name="two" unicode="&#x662;" horiz-adv-x="1210"
d="M908 971q50 -246 50 -338t-86 -160t-175.5 -68t-180.5 59l3 -664h-181v525q0 357 -85 588l173 56l72 -295q27 -113 133 -113q74 1 107 48t33 84q0 5 -1 10l-29 215q55 18 167 53z" />
<glyph glyph-name="three" unicode="3" horiz-adv-x="1210"
d="M1161 654q0 -98 -80 -165.5t-185.5 -67.5t-215.5 124q0 -130 -189 -130q-94 0 -177 46l1 -661h-175v525q0 334 -90 588l178 56l67 -295q26 -113 140 -113q59 1 99 42t40 84q0 8 -1 16l-34 215l169 62q41 -213 41 -304q0 -11 -3 -63q46 -57 106.5 -57t99 37.5t38.5 89.5
q0 10 -1 20l-29 215l166 51l34 -291q1 -11 1 -24z" />
<glyph glyph-name="three" unicode="&#x6f3;" horiz-adv-x="1210"
d="M1161 654q0 -98 -80 -165.5t-185.5 -67.5t-215.5 124q0 -130 -189 -130q-94 0 -177 46l1 -661h-175v525q0 334 -90 588l178 56l67 -295q26 -113 140 -113q59 1 99 42t40 84q0 8 -1 16l-34 215l169 62q41 -213 41 -304q0 -11 -3 -63q46 -57 106.5 -57t99 37.5t38.5 89.5
q0 10 -1 20l-29 215l166 51l34 -291q1 -11 1 -24z" />
<glyph glyph-name="three" unicode="&#x663;" horiz-adv-x="1210"
d="M1161 654q0 -98 -80 -165.5t-185.5 -67.5t-215.5 124q0 -130 -189 -130q-94 0 -177 46l1 -661h-175v525q0 334 -90 588l178 56l67 -295q26 -113 140 -113q59 1 99 42t40 84q0 8 -1 16l-34 215l169 62q41 -213 41 -304q0 -11 -3 -63q46 -57 106.5 -57t99 37.5t38.5 89.5
q0 10 -1 20l-29 215l166 51l34 -291q1 -11 1 -24z" />
<glyph glyph-name="four" unicode="4" horiz-adv-x="1210"
d="M1075 466q-194 -90 -357 -90t-324 70l2 -646h-175v538q0 264 -86 575l169 56q51 -188 79 -351l92 -43q0 403 328 403q102 0 217 -57l-60 -155q-74 54 -148 54t-128.5 -48.5t-54.5 -120.5q0 -117 135 -117q102 0 255 76z" />
<glyph glyph-name="four" unicode="&#x6f4;" horiz-adv-x="1210"
d="M1075 466q-194 -90 -357 -90t-324 70l2 -646h-175v538q0 264 -86 575l169 56q51 -188 79 -351l92 -43q0 403 328 403q102 0 217 -57l-60 -155q-74 54 -148 54t-128.5 -48.5t-54.5 -120.5q0 -117 135 -117q102 0 255 76z" />
<glyph glyph-name="four" unicode="&#x664;" horiz-adv-x="1210"
d="M1075 466q-194 -90 -357 -90t-324 70l2 -646h-175v538q0 264 -86 575l169 56q51 -188 79 -351l92 -43q0 403 328 403q102 0 217 -57l-60 -155q-74 54 -148 54t-128.5 -48.5t-54.5 -120.5q0 -117 135 -117q102 0 255 76z" />
<glyph glyph-name="five" unicode="5" horiz-adv-x="1210"
d="M974 118q0 212 -420 560q-318 -334 -318 -557q0 -169 152 -169q139 0 140 158q-2 11 -9 68h177q12 -24 12 -89t-19 -100q53 -34 117 -34q168 0 168 163zM1163 74q-1 -145 -103 -230t-242 -85t-232 70q-126 -73 -254 -73t-206 104t-78 244q0 220 177 439l196 241l-70 50
l115 137q697 -520 697 -897z" />
<glyph glyph-name="five" unicode="&#x6f5;" horiz-adv-x="1210"
d="M974 118q0 212 -420 560q-318 -334 -318 -557q0 -169 152 -169q139 0 140 158q-2 11 -9 68h177q12 -24 12 -89t-19 -100q53 -34 117 -34q168 0 168 163zM1163 74q-1 -145 -103 -230t-242 -85t-232 70q-126 -73 -254 -73t-206 104t-78 244q0 220 177 439l196 241l-70 50
l115 137q697 -520 697 -897z" />
<glyph glyph-name="five" unicode="&#x665;" horiz-adv-x="1210"
d="M974 118q0 212 -420 560q-318 -334 -318 -557q0 -169 152 -169q139 0 140 158q-2 11 -9 68h177q12 -24 12 -89t-19 -100q53 -34 117 -34q168 0 168 163zM1163 74q-1 -145 -103 -230t-242 -85t-232 70q-126 -73 -254 -73t-206 104t-78 244q0 220 177 439l196 241l-70 50
l115 137q697 -520 697 -897z" />
<glyph glyph-name="six" unicode="6" horiz-adv-x="1210"
d="M971 483q-72 -64 -140 -147l-151 -185q-117 -143 -261 -396l-158 96q85 163 327 480q-157 1 -253 85t-96 232t88.5 241.5t228.5 93.5q99 0 225 -65l-57 -160q-76 40 -144 40t-114.5 -42t-46.5 -107q0 -144 164 -144q111 0 243 85z" />
<glyph glyph-name="six" unicode="&#x6f6;" horiz-adv-x="1210"
d="M971 483q-72 -64 -140 -147l-151 -185q-117 -143 -261 -396l-158 96q85 163 327 480q-157 1 -253 85t-96 232t88.5 241.5t228.5 93.5q99 0 225 -65l-57 -160q-76 40 -144 40t-114.5 -42t-46.5 -107q0 -144 164 -144q111 0 243 85z" />
<glyph glyph-name="six" unicode="&#x666;" horiz-adv-x="1210"
d="M971 483q-72 -64 -140 -147l-151 -185q-117 -143 -261 -396l-158 96q85 163 327 480q-157 1 -253 85t-96 232t88.5 241.5t228.5 93.5q99 0 225 -65l-57 -160q-76 40 -144 40t-114.5 -42t-46.5 -107q0 -144 164 -144q111 0 243 85z" />
<glyph glyph-name="seven" unicode="7" horiz-adv-x="1210"
d="M1109 893l-149 -255q-72 -122 -146 -304t-140 -534h-140q-45 306 -142 539t-288 551l157 81q166 -283 233 -462q6 -16 34 -119l70 -259l20 -2q73 363 193 581l144 261q70 -37 154 -78z" />
<glyph glyph-name="seven" unicode="&#x6f7;" horiz-adv-x="1210"
d="M1109 893l-149 -255q-72 -122 -146 -304t-140 -534h-140q-45 306 -142 539t-288 551l157 81q166 -283 233 -462q6 -16 34 -119l70 -259l20 -2q73 363 193 581l144 261q70 -37 154 -78z" />
<glyph glyph-name="seven" unicode="&#x667;" horiz-adv-x="1210"
d="M1109 893l-149 -255q-72 -122 -146 -304t-140 -534h-140q-45 306 -142 539t-288 551l157 81q166 -283 233 -462q6 -16 34 -119l70 -259l20 -2q73 363 193 581l144 261q70 -37 154 -78z" />
<glyph glyph-name="eight" unicode="8" horiz-adv-x="1210"
d="M1109 -113q-83 -37 -156 -81q-165 282 -232 464q-12 32 -38 134l-65 245l-20 2q-36 -165 -96 -353t-243 -492q-88 49 -158 84q199 332 289 548t146 542l140 -2q73 -446 262 -793q56 -104 171 -298z" />
<glyph glyph-name="eight" unicode="&#x6f8;" horiz-adv-x="1210"
d="M1109 -113q-83 -37 -156 -81q-165 282 -232 464q-12 32 -38 134l-65 245l-20 2q-36 -165 -96 -353t-243 -492q-88 49 -158 84q199 332 289 548t146 542l140 -2q73 -446 262 -793q56 -104 171 -298z" />
<glyph glyph-name="eight" unicode="&#x668;" horiz-adv-x="1210"
d="M1109 -113q-83 -37 -156 -81q-165 282 -232 464q-12 32 -38 134l-65 245l-20 2q-36 -165 -96 -353t-243 -492q-88 49 -158 84q199 332 289 548t146 542l140 -2q73 -446 262 -793q56 -104 171 -298z" />
<glyph glyph-name="nine" unicode="9" horiz-adv-x="1210"
d="M739 599q-7 46 -26 134q-24 64 -73 76q-4 1 -59 11q-68 0 -108 -48t-40 -117q0 -119 121 -119q76 0 185 63zM933 -200h-175v615q-109 -36 -220 -36t-185 71t-74 205q1 134 87 231t224 97q85 0 185 -59q158 -93 158 -539v-585z" />
<glyph glyph-name="nine" unicode="&#x6f9;" horiz-adv-x="1210"
d="M739 599q-7 46 -26 134q-24 64 -73 76q-4 1 -59 11q-68 0 -108 -48t-40 -117q0 -119 121 -119q76 0 185 63zM933 -200h-175v615q-109 -36 -220 -36t-185 71t-74 205q1 134 87 231t224 97q85 0 185 -59q158 -93 158 -539v-585z" />
<glyph glyph-name="nine" unicode="&#x669;" horiz-adv-x="1210"
d="M739 599q-7 46 -26 134q-24 64 -73 76q-4 1 -59 11q-68 0 -108 -48t-40 -117q0 -119 121 -119q76 0 185 63zM933 -200h-175v615q-109 -36 -220 -36t-185 71t-74 205q1 134 87 231t224 97q85 0 185 -59q158 -93 158 -539v-585z" />
<glyph glyph-name="colon" unicode=":" horiz-adv-x="564"
d="M428 120q0 -120 -138 -120q-54 0 -90.5 33t-36.5 87q1 110 133 110t132 -110zM426 543q0 -119 -133 -119t-133 119q0 111 133 111t133 -111z" />
<glyph glyph-name="equal" unicode="=" horiz-adv-x="1225"
d="M1110 0h-989v176h989v-176zM1110 374h-989v176h989v-176z" />
<glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="770"
d="M696 -834h-537l2 2603h535v-169h-350l-3 -2265h353v-169z" />
<glyph glyph-name="bracketright" unicode="]" horiz-adv-x="783"
d="M157 -845v169h352l-2 2267h-350v169h534l2 -2605h-536z" />
<glyph glyph-name="braceleft" unicode="{" horiz-adv-x="1050"
d="M393 54q32 138 32 156v21q0 128 -95.5 215.5t-232.5 103.5v51q328 72 328 302v35q0 32 -29.5 166t-29.5 224q0 210 134 352t347 175v-53q-131 -18 -219 -103t-88 -212q0 -61 29.5 -212.5q29.5 -152.5 29.5 -172.5v-61q0 -309 -392 -463q387 -159 387 -481
q0 -67 -29.5 -208.5t-29.5 -161.5v-60q0 -249 312 -320v-52q-212 39 -349 181t-137 352q0 88 32 226z" />
<glyph glyph-name="braceright" unicode="}" horiz-adv-x="970"
d="M612 1331q0 -80 -29.5 -215t-29.5 -170v-40q0 -231 328 -302v-52q-136 -15 -232 -103t-96 -222q1 -27 31 -165t30 -232q0 -209 -136 -351t-347 -179v49q312 72 312 320q0 77 -31 223t-31 210q0 320 390 481q-395 154 -395 461q0 57 29.5 211.5t29.5 192.5v44
q0 127 -86 209t-218 103v57q213 -37 347 -178t134 -352z" />
<glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="926"
d="M419 5l-323 250v194l323 250v-145l-264 -200l264 -203v-146zM829 5l-320 250v194l320 250v-145l-259 -200l259 -203v-146z" />
<glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="926"
d="M415 255l-320 -250v144l259 200l-259 204v146l320 -250v-194zM826 255l-321 -250v144l264 200l-264 204v146l321 -250v-194z" />
<glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="1275"
d="M1180 -90l-126 -126l-410 416l-419 -416l-124 123l419 418l-421 419l124 124l417 -418l419 420l121 -126l-414 -419z" />
<glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="1171"
d="M663 -25q37 -41 37 -95.5t-42 -93.5t-96.5 -39t-90.5 42.5t-36 98.5t40 92t95.5 36t92.5 -41zM1095 225h-1022v179h1022v-179zM669.5 836.5q40.5 -39.5 40.5 -93.5t-42.5 -96.5t-97.5 -42.5t-90.5 43.5t-35.5 98.5t39.5 92.5t92.5 37.5t93.5 -39.5z" />
<glyph glyph-name="zeronojoin" unicode="&#x200c;" horiz-adv-x="45"
/>
<glyph glyph-name="zerojoin" unicode="&#x200d;" horiz-adv-x="45"
/>
<glyph glyph-name="lefttoright" unicode="&#x200e;" horiz-adv-x="41"
d="M271 1444l-120 -123l-31 26l80 79h-159v-1426h-41v1464h195l-75 75l31 28z" />
<glyph glyph-name="righttoleft" unicode="&#x200f;" horiz-adv-x="41"
d="M41 0h-41v1426h-159l77 -79l-26 -26l-125 123l125 123l26 -28l-74 -75h197v-1464z" />
<glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="662"
d="M467 976q0 -110 -137 -110q-81 0 -104 38t-23 161t25 189q43 111 176 124v-65q-77 -9 -105 -77q-16 -40 -20 -136q188 0 188 -124z" />
<glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="570"
d="M153 1268q0 110 136 110q83 0 105 -36t22 -162t-25 -191q-42 -111 -176 -123v65q79 8 106 75q15 37 19 138q-187 0 -187 124z" />
<glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="618"
d="M604 976q0 -110 -136 -110q-82 0 -105 38t-23 161t25 189q43 111 176 124v-65q-77 -9 -105 -77q-16 -40 -20 -136q188 0 188 -124zM303 971q0 -110 -137 -110q-82 0 -108 43q-19 30 -19 155t25 191q42 111 176 123v-65q-79 -8 -106 -75q-15 -38 -19 -138q188 0 188 -124z
" />
<glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="618"
d="M303 1193v-19q0 -124 -25 -189q-43 -111 -177 -124v65q78 9 105 77q16 39 20 136q-187 0 -187 124q0 110 136 110h4q77 -1 100.5 -36.5t23.5 -143.5zM340 1268q0 110 136 110q83 0 109 -43q19 -29 19 -155t-25 -191q-43 -111 -176 -123v65q78 8 106 75q15 37 19 138
q-188 0 -188 124z" />
<glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="631"
d="M490 5l-320 250v194l320 250v-145l-259 -200l259 -203v-146z" />
<glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="573"
d="M473 255l-321 -250v144l263 200l-263 204v146l321 -250v-194z" />
<glyph glyph-name="u060C" unicode="&#x60c;" horiz-adv-x="516"
d="M388 110q0 -110 -137 -110q-81 0 -104 38t-23 161t25 189q42 111 176 123v-65q-79 -7 -106 -75q-15 -37 -19 -137q188 0 188 -124z" />
<glyph glyph-name="u061B" unicode="&#x61b;" horiz-adv-x="564"
d="M426 110q0 -110 -133 -110t-133 110q0 120 133 120t133 -120zM155 583v19q0 124 25 188q41 105 176 123v-62q-80 -17 -105 -77q-15 -36 -18 -134q191 0 191 -124q0 -111 -136 -111q-86 0 -109.5 35.5t-23.5 142.5z" />
<glyph glyph-name="u061F" unicode="&#x61f;" horiz-adv-x="809"
d="M534 109q0 -49 -38 -79t-86 -30t-82.5 32t-34.5 77q1 101 121 101t120 -101zM741 775h-176q0 223 -157 223q-147 0 -147 -138q0 -51 23 -76l87 -96q85 -92 105 -146t29 -204h-171q0 106 -26 158t-99 122t-103 117t-30 131q0 142 94 216t218 74t211 -50t113 -127t29 -204z
" />
<glyph glyph-name="u0640" unicode="&#x640;" horiz-adv-x="469"
d="M505 0h-525v180h525v-180z" />
<glyph glyph-name="u064B" unicode="&#x64b;"
d="M343 1461l-315 -168l-28 47l315 173zM344 1578l-316 -172l-27 50l315 174z" />
<glyph glyph-name="u064C" unicode="&#x64c;"
d="M287 1452.5q27 29.5 27 59.5t-26.5 53t-59.5 23q-79 0 -79 -87q0 -78 85 -78q26 0 53 29.5zM360 1508q0 -91 -49 -117l-283 -151l-28 48q51 33 63 53q0 34 -37 34t-57 -11l-20 36q56 19 85 19q57 0 72 -78l77 45q-79 45 -79 124.5t87 113.5q29 11 37 11q54 0 93 -37
t39 -90z" />
<glyph glyph-name="u064D" unicode="&#x64d;"
d="M226 -875l-315 -169l-27 48l315 175zM226 -731l-315 -169l-27 47l315 174z" />
<glyph glyph-name="u064E" unicode="&#x64e;"
d="M343 1456l-315 -168l-28 47l315 176z" />
<glyph glyph-name="u064F" unicode="&#x64f;"
d="M231.5 1446q26.5 30 26.5 60t-26.5 52.5t-60.5 22.5q-78 0 -78 -86q0 -79 86 -79q26 0 52.5 30zM305 1501q0 -89 -50 -116l-227 -121l-28 47l126 70q-78 45 -78 113q0 91 90 125q26 10 33 10q55 0 94.5 -37t39.5 -91z" />
<glyph glyph-name="u0650" unicode="&#x650;"
d="M218 -754l-314 -169l-29 48l315 175z" />
<glyph glyph-name="u0651" unicode="&#x651;"
d="M-31 1516v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100z" />
<glyph glyph-name="u0652" unicode="&#x652;"
d="M241 1441q0 60 -60 80q-18 7 -22 7q-34 0 -60 -26.5t-26 -60.5t26 -59.5t58 -25.5t58 27.5t26 57.5zM288 1438q0 -54 -40 -90q-41 -35 -91 -35h-3q-52 1 -88 41t-36 94t40 88t94 34t89 -39t35 -93z" />
<glyph glyph-name="uE820" unicode="&#xe820;"
d="M353 947l-315 -168l-28 47l315 176z" />
<glyph glyph-name="uE821" unicode="&#xe821;"
d="M251.5 983q26.5 30 26.5 60t-26.5 52.5t-60.5 22.5q-78 0 -78 -86q0 -79 86 -79q26 0 52.5 30zM325 1038q0 -89 -50 -116l-227 -121l-28 47l126 70q-78 45 -78 113q0 91 90 125q26 10 33 10q55 0 94.5 -37t39.5 -91z" />
<glyph glyph-name="uE822" unicode="&#xe822;"
d="M210 957q0 60 -60 80q-18 7 -22 7q-34 0 -60 -26.5t-26 -60.5t26 -59.5t58 -25.5t58 27.5t26 57.5zM257 954q0 -54 -40 -90q-41 -35 -91 -35h-3q-52 1 -88 41t-36 94t40 88t94 34t89 -39t35 -93z" />
<glyph glyph-name="uE823" unicode="&#xe823;"
d="M333 972l-315 -168l-28 47l315 173zM334 1089l-316 -172l-27 50l315 174z" />
<glyph glyph-name="uE824" unicode="&#xe824;"
d="M348 984.5q27 29.5 27 59.5t-26.5 53t-59.5 23q-79 0 -79 -87q0 -78 85 -78q26 0 53 29.5zM421 1040q0 -91 -49 -117l-283 -151l-28 48q51 33 63 53q0 34 -37 34t-57 -11l-20 36q56 19 85 19q57 0 72 -78l77 45q-79 45 -79 124.5t87 113.5q29 11 37 11q54 0 93 -37
t39 -90z" />
<glyph glyph-name="uE825" unicode="&#xe825;"
d="M-31 1012v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100z" />
<glyph glyph-name="uE826" unicode="&#xe826;"
d="M138 -367l-314 -169l-29 48l315 175z" />
<glyph glyph-name="uE827" unicode="&#xe827;"
d="M101 -605l-315 -169l-27 48l315 175zM101 -461l-315 -169l-27 47l315 174z" />
<glyph glyph-name="uE828" unicode="&#xe828;"
d="M-16 1035v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100zM373 1315l-315 -168l-28 47l315 176z" />
<glyph glyph-name="uE829" unicode="&#xe829;"
d="M-16 1035v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100zM291.5 1362q26.5 30 26.5 60t-26.5 52.5t-60.5 22.5q-78 0 -78 -86q0 -79 86 -79q26 0 52.5 30zM365 1417
q0 -89 -50 -116l-227 -121l-28 47l126 70q-78 45 -78 113q0 91 90 125q26 10 33 10q55 0 94.5 -37t39.5 -91z" />
<glyph glyph-name="uE82A" unicode="&#xe82a;"
d="M-16 1035v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100zM392 1329l-315 -168l-28 47l315 173zM393 1446l-316 -172l-27 50l315 174z" />
<glyph glyph-name="uE82B" unicode="&#xe82b;"
d="M5 1017v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100zM375 1389.5q27 29.5 27 59.5t-26.5 53t-59.5 23q-79 0 -79 -87q0 -78 85 -78q26 0 53 29.5zM448 1445q0 -91 -49 -117
l-283 -151l-28 48q51 33 63 53q0 34 -37 34t-57 -11l-20 36q56 19 85 19q57 0 72 -78l77 45q-79 45 -79 124.5t87 113.5q29 11 37 11q54 0 93 -37t39 -90z" />
<glyph glyph-name="uE82C" unicode="&#xe82c;"
d="M-16 1280v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100zM378 1032l-314 -169l-29 48l315 175z" />
<glyph glyph-name="uE82D" unicode="&#xe82d;"
d="M-16 1496v7h45q0 -100 80 -100t84 100h50q0 -100 82 -100t83 100h48q-1 -62 -37 -107t-88 -45t-117 57q-47 -57 -107 -57h-3q-58 0 -89 45t-31 100zM362 1083l-315 -169l-27 48l315 175zM362 1227l-315 -169l-27 47l315 174z" />
<glyph glyph-name="u0621" unicode="&#x621;" horiz-adv-x="530"
d="M471 194l-376 -194l-32 61l131 70q-115 61 -115 169q0 82 51 134q52 52 118 52t117 -22l-27 -59q-36 21 -74 21q-121 0 -121 -126q0 -106 102 -106q79 0 193 62z" />
<glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="512"
d="M253 653q-97 0 -97 106t96 106t96 -107q0 -43 -26 -74t-69 -31z" />
<glyph glyph-name="periodcentered" unicode="&#x2219;" horiz-adv-x="512"
d="M253 653q-97 0 -97 106t96 106t96 -107q0 -43 -26 -74t-69 -31z" />
<glyph glyph-name="periodcentered" unicode="&#x2d9;" horiz-adv-x="512"
d="M253 653q-97 0 -97 106t96 106t96 -107q0 -43 -26 -74t-69 -31z" />
</font>
</defs></svg>

BIN
Sevomin.WebFrontend/fonts/WebYekan.ttf View File


BIN
Sevomin.WebFrontend/fonts/WebYekan.woff View File


Loading…
Cancel
Save