text:
Two Malaysian lawyers appointed to ICA
Tuesday, June 26th, 2018	 at , Compliance
Tommy Thomas law rm partner Sitpah and Rajendra elected to international arbitration body for 3-year term
By HABHAJAN SINGH
Two seasoned Malaysian lawyers will take up positions as members of a Paris-based international arbitration body, the flagship of the International Chamber of Commerce (ICC).
Sitpah Selvaratnam (left), who joined Tommy Thomas to form Messrs Tommy Thomas in January 2000, will serve a three-year term as a member of the ICC's International Court of Arbitration (ICA).
The other Malaysian on board is Rajendra Navaratnam (right), a partner at law firm Azman, Davidson & Co.
They are two of the 176 members from 104 countries appointed by the ICC's supreme governing body for the court's 2018-2021 term. The members represent a gender parity of 88 women and 88 men, ICC said in a recent statement.
Sitpah told The Malaysian Reserve that the appointment was firmed up earlier this year, way before Tommy's appointment this month as Malaysia's attorney general after the surprise Pakatan Harapan victory in the May 2018 general election.
The previous ICA members for Malaysia were Tan Sri Cecil Abraham and Vinayak P Pradhan.
ICA aims to resolve difficulties in international commercial and business disputes to support trade and investment. It performs the role by providing individuals, businesses and governments with a variety of customisable services for every stage of their dispute.
Although called a court in name, ICA does not make formal judgements on disputed matters.
Instead, it exercises judicial supervision of arbitration proceedings, according to information at its website.
"There will be consistent sittings through-out the year. We take part either physically in Paris or other locations, or by video conference," said Sitpah.
The parent body ICC, which claims a global network of over six million members in more than 100 countries, describes itself as a world business organisation helping businesses of all sizes and in all countries to operate internationally and responsibly.
Sitpah is a counsel and arbitrator in domestic and international arbitration. For the last 10 years, she has sat on numerous regional arbitration panels to settle international disputes.
Rajendra, a counsel and arbitrator in the areas of construction law, intellectual property (IP) law and insurance, was the past chairman of Malaysia branch of the Chartered Institute of Arbitrators.
He was a professional electrical engineer with the National Electricity Board for 10 years prior to legal practice.
Some of the other newly appointed ICA members from this region are Lawrence G S Boo from Singapore's The Arbitration Chambers, Smitha Rajan Menon from Singapore law firm WongPartnership LLP, Anangga W Roosdiono from Indonesia-based Roosdiono & Partners and Andi Yusuf Kadir from the Kajarta-based HHP Law Firm.
In the same statement, ICC also announced the reappointment of Alexis Mourre as ICA president.
In line with the ICA decision not to permit members to serve for more than two consecutive terms, ICC said close to half of the court are new entrants.
1MDB trial: AG requests for another postponement to complete SRC trial
The prosecution team in Datuk Seri Najib Tun Razak's 1Malaysian Development Bhd (1MDB) cases today requested for another ...more
Malaysia seeks permission to appeal closed-door process for 1MDB lawsuit
Malaysia has filed an application for permission to appeal against the London Commercial Court's decision to ...more
SRC International and the RM42m funds — the trial of the century in quotes
AG Thomas opens the 1st trial in Malaysian courts against a former PM
By RAHIMI YUNUS / Pic By BERNAMA The date April 3, 2019, will ...more
Recovery of 1MDB funds a promising start
It demonstrates the commitment to good governance, combating corruption and ensuring that justice is served
By ALIFAH ZAINUDDIN It ...more
Efforts by fintech companies will be more effective with the right ...more
SIDREC may have got its formula right
Over the years, consistently, the majority of our cases are resolved ...more
Taking the pains out of online tax engagement with IRB's ezHASiL
e-Lejar allows taxpayers to determine if the IRB has correctly captured ...more
Whistle-blowing easier in EU clampdown on corporate crime
BRUSSELS • Whistle-blowers reporting corporate misdeeds will for the first ...more


Here is a set of ,currently, 270 Collection videos to be used with playlists. This coincides with all of the media released in the @CriticalCid theme "Unified". I have decided to upload them here,because Jason is a busy man,and I understand how much work it could be to enter this many videos in manually. I do plan on releasing more in the future,with an estimated goal of around 500-600 total playlist videos,as well as all of the artwork for the Unified theme that's needed. I do not have an estimated time-frame as to the release of more,I just know that's the plan. While I never expect anyone to actually have 600 playlists in their BigBox setup,I do believe that variety is the spice of life,and this will give plenty of options for personalizing your lists.Enjoy!


text:
package de.uni_hannover.sra.minimax_simulator.ui.gui.components.dialogs;

import de.uni_hannover.sra.minimax_simulator.Main;
import de.uni_hannover.sra.minimax_simulator.Version;
import de.uni_hannover.sra.minimax_simulator.resources.TextResource;
import javafx.geometry.HPos;
import javafx.geometry.Insets;
import javafx.scene.control.ButtonBar;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;

/**
 * The {@code AboutDialog} is basically an {@link FXDialog} with customized content.<br>
 * It provides all information about the application such as version and authors.
 * The information is read from the MANIFEST.MF.
 *
 * @see Version
 *
 * @author Philipp Rohde
 */
public class AboutDialog extends FXDialog {

    /**
     * Constructs a new {@code AboutDialog}.
     */
    public AboutDialog() {
        super(AlertType.NONE, "Info", null);
        TextResource res = Main.getTextResource("application").using("info");

        ButtonType btnTypeOK = new ButtonType(res.get("ok"), ButtonBar.ButtonData.OK_DONE);
        this.getButtonTypes().setAll(btnTypeOK);

        GridPane grid = new GridPane();
        grid.setPadding(new Insets(10));
        grid.setVgap(10);
        grid.setHgap(20);

        // set up the logos
        Image luh = new Image("images/luh/luh.png");
        Image sra = new Image("images/luh/sra.png");

        ImageView luhIV = new ImageView();
        luhIV.setImage(luh);
        luhIV.setPreserveRatio(true);
        luhIV.setFitHeight(70);

        ImageView sraIV = new ImageView();
        sraIV.setImage(sra);
        sraIV.setPreserveRatio(true);
        sraIV.setFitHeight(70);

        // create the description
        Label description = new Label("GUI-based Minimax Simulator");
        description.setStyle("-fx-font-size: 16px; -fx-font-weight: bold;");

        // create application information labels
        VBox vb = new VBox();
        vb.setPadding(new Insets(15, 0, 20, 0));
        vb.setSpacing(5);
        Version ver = new Version(Main.class);              // works only with JAR
        Text version = new Text("Version: " + ver.getVersionNumber());
        version.setId("dialog-label");
        Text build = new Text(res.format("build", ver.getBuildTime(), ver.getBuildJdk()));
        build.setId("dialog-label");
        Text authors = new Text(res.format("author", ver.getAuthorName()));
        authors.setId("dialog-label");
        Text contributors = new Text("Contributors: " + ver.getContributors());
        contributors.setId("dialog-label");
        contributors.setWrappingWidth(660);
        vb.getChildren().addAll(version, build, authors, contributors);

        // create university label
        Text university = new Text("Leibniz Universität Hannover, Institut für Systems Engineering, FG System- und Rechnerarchitektur");
        university.setId("dialog-label");

        // putting all together
        grid.add(sraIV, 0, 0);
        grid.setHalignment(luhIV, HPos.RIGHT);
        grid.add(luhIV, 1, 0);
        grid.add(description, 0, 1, 2, 1);
        grid.setHalignment(description, HPos.CENTER);
        grid.add(vb, 0, 2, 2, 1);
        grid.add(university, 0, 3, 2, 1);
        this.getDialogPane().setContent(grid);
    }
}

redpajama_set_name: RedPajamaGithub


text:
La Malaisie  participe aux Jeux olympiques d'hiver de 2022 à Pékin en Chine du 4 au . Il s'agit la deuxième participation du pays aux Jeux d'hiver.

Résultats en ski alpin

Deux skieurs malais parviennent à décrocher un quota respectif :
 Chez les hommes, Jeffrey Webb qui était déjà présent dans la délégation malaise à PyeongChang où il avait fini  en slalom géant. Il est basé dans l'État de Washington.
 Chez les femmes, Aruwin Salehhuddin, qui aura à peine 18 ans, participe à ses premiers Jeux ; elle est établie aux États-Unis dans le Colorado. Aruwin suit les traces de son père Ayob Salehuddin qui avait participé en kayak aux Jeux olympiques d'Atlanta en 1996.

Notes et références

Liens externes
 La Malaisie sur le site du CIO

Malaisie
2022
Sport en Malaisie en 2022

redpajama_set_name: RedPajamaWikipedia


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;

using ASC.Web.Community.Modules.Wiki.Resources;
using ASC.Web.Studio.Utility.HtmlUtility;

using HtmlAgilityPack;

namespace ASC.Web.UserControls.Wiki
{
    [Flags]
    internal enum XltType
    {
        Normal = 0x0,
        Table = 0x1,
        Pre = 0x2
    }

    internal enum ImageFloat
    {
        None = 0,
        Left,
        Right,
        Center
    }

    public enum ConvertType
    {
        Editable = 0,
        Wysiwyg,
        NotEditable
    }

    internal class TempContainer
    {
        public Guid TempId { get; set; }
        public string Content { get; set; }

        public TempContainer()
        {
            TempId = Guid.NewGuid();
            Content = string.Empty;
        }
    }

    public partial class HtmlWikiUtil
    {
        private static readonly string _imgExtensions = @"gif;jpg;jpeg;png;svg";
        private static readonly string _validProtocols = @"http;https;ftp;mailto";
        private static readonly string _urlChars = @"a-z0-9;/\?:@&=\+\$,\-_\.!~\*'\(\)#%\\";
        private static readonly string _urlEndChars = @"a-z0-9;/\?:@&=\+\$\-_\\\)";
        private static readonly string _convertNoWikitemplate = @"~~{0}~~";

        private List<TempContainer> tableList;
        private List<TempContainer> preList;
        private string strStack = string.Empty;
        private bool blnCodeOpen = false;
        private int intOpenTab = 0;
        private int thumbWidth = 0;

        private readonly int[] arrNr = new int[] { 0, 0, 0, 0, 0, 0, 0 };
        private readonly string[] arrRef = new string[200];
        private readonly string[][] arrTOC = new string[200][];

        private int intRef, intTOC;

        private Regex rexLin, rexI, rexB, rexU, rexLnk, rexDB, rexEmptyTags, rexS, rexSpetial, rexNoWiki, rexLinkContainer,
                      tags, spaces, rexTablesContainer, rexTableCell, rexLinkTabContainer, rexPreContainer, rexSimpleContent;

        private static readonly Regex rexCode = new Regex(@"<code([\s\S]*?)<\/code>");
        private static readonly Regex rexScript = new Regex(@"<\s*script([\s\S]*?)<\s*\/\s*script\s*>", mainOptions);
        private int intMaxTOC;
        private Dictionary<string, string> dctDB;
        private readonly bool shouldCloaseAll = true;

        private string internalMainLink = string.Empty;
        private string fileNameProcessing = string.Empty;
        private List<string> existingPages = new List<string>();
        private string imageHandlerUrlFormat = string.Empty;
        private string selfPageName = string.Empty;

        private bool canBeEdit = true;
        private bool convertCode = true;
        private bool convertTOC = true;

        private static readonly Regex rexSection = new Regex(@"(\n|^)(={1,6})([^=]+)", mainOptions);
        internal static Regex rexNoSection = new Regex(@"<nowiki>[\s\S]*?<\/nowiki>", mainOptions | RegexOptions.Multiline);

        private static readonly string RegExCategorySearch = string.Format(@"\[\[{0}:([^\|^\]]+)(\|[^]]+)*\]\]", Constants.WikiCategoryKeyCaption);

        public static string GetWikiSectionNameBySectionNumber(string wiki, int section)
        {
            Match[] matches = GetWikiSectionMatches(wiki);
            if (section > matches.Length - 1)
            {
                return string.Empty;
            }

            return matches[section].Groups[3].Value.Trim();

        }

        public static string GetWikiSectionBySectionNumber(string wiki, int section)
        {
            Match[] matches = GetWikiSectionMatches(wiki);
            if (section > matches.Length - 1)
            {
                return string.Empty;
            }

            int nextSection = -1;
            int sectionLevel = matches[section].Groups[2].Value.Length;

            for (int i = section + 1; i < matches.Length; i++)
            {
                if (matches[i].Groups[2].Value.Length <= sectionLevel)
                {
                    nextSection = i;
                    break;
                }
            }

            if (nextSection == -1)
            {
                return wiki.Substring(matches[section].Index).Trim();
            }

            return wiki.Substring(matches[section].Index, matches[nextSection].Index - matches[section].Index).Trim();
        }

        public static string SetWikiSectionBySectionNumber(string wiki, int section, string newValue)
        {
            Match[] matches = GetWikiSectionMatches(wiki);

            if (section > matches.Length - 1)
            {
                return wiki;
            }

            int nextSection = -1;
            int sectionLevel = matches[section].Groups[2].Value.Length;

            for (int i = section + 1; i < matches.Length; i++)
            {
                if (matches[i].Groups[2].Value.Length <= sectionLevel)
                {
                    nextSection = i;
                    break;
                }
            }

            string result = wiki.Remove(matches[section].Index) + "\n" + newValue;
            if (nextSection != -1)
            {
                result = string.Format("{0}{1}", result, wiki.Substring(matches[nextSection].Index));
            }

            return result;
        }

        private static Match[] GetWikiSectionMatches(string wiki)
        {
            MatchCollection allSectionMatches = rexSection.Matches(wiki);
            MatchCollection nowikiSectionMatches = rexNoSection.Matches(wiki);

            var selections =
                from noWiki in nowikiSectionMatches.Cast<Match>()
                select
                    from fakeSelection in rexSection.Matches(noWiki.Value).Cast<Match>()
                    select noWiki.Index + fakeSelection.Index;

            List<int> noIndex = new List<int>();

            foreach (var s in selections)
            {
                noIndex.AddRange(s.ToList<int>());
            }

            var allSections = from allSelection in allSectionMatches.Cast<Match>()
                              where !noIndex.Contains(allSelection.Index)
                              select allSelection;

            return allSections.ToArray();
        }

        private void Init(string pageName, string intMainLink, List<string> existPages, string imgHandlerUrlFormat, int tenant, ConvertType isEditable, int thWidth)
        {
            rexLin = new Regex(@"^(<<|><|>>|<>|!|\{\||\|\}|\|\+|\|\-|\||:{1,}|\*{1,}|\#{1,}|;{1,}|\-{4,}|={1,6})?(.*)", mainOptions);
            rexI = new Regex(@"''(.*?)(''|$)", mainOptions);
            rexB = new Regex(@"'''(.*?)('''|$)", mainOptions);
            rexU = new Regex(@"__(.*?)(__)", mainOptions);
            rexS = new Regex(@"--(.+?)(--)", mainOptions);
            rexSpetial = new Regex(@"[^{]?({(\S+)})[^]]?", mainOptions);
            //rexLnk = new Regex(@"((http|https|ftp)://([" + _urlChars + @"]*[" + _urlEndChars + @"]))|(^(([^<>()[\]\\.,;:\s@\""]+(\.[^<>()[\]\\.,;:\s@\""]+)*)|(\"".+\""))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$)|\[\[([^[]*)\]\]|\[([" + _urlChars + @"]*[" + _urlEndChars + @"])\]|\[([" + _urlChars + @"]*[" + _urlEndChars + @"])\s*([^\]]*)\]", mainOptions);
            rexLnk = new Regex(@"((http|https|ftp)://([" + _urlChars + @"]*[" + _urlEndChars + @"]))|([a-z0-9\._-]+@[a-z0-9\._-]+[a-z0-9_]+)|\[\[([^[]*)\]\]|\[([" + _urlChars + @"]*[" + _urlEndChars + @"])\]|\[([" + _urlChars + @"]*[" + _urlEndChars + @"])\s*([^\]]*)\]", mainOptions);
            rexDB = new Regex(@"(ISBN[:]? ([0-9A-Z\-]+))|\{\{([^\{]*)\}\}", mainOptions);
            rexEmptyTags = new Regex(@"(
\s*?
)", mainOptions);
            rexNoWiki = new Regex(@"(<nowiki>[\s\S]*?<\/nowiki>)|(<code[\s\S]*?<\/code>)|()", mainOptions | RegexOptions.Multiline);
            rexLinkContainer = new Regex(@"\[[\s\S]*?\]", mainOptions);
            rexLinkTabContainer = new Regex(@"\[[\s\S]*?\]\]", mainOptions);
            rexTablesContainer = new Regex(@"({\|)(?:[\s\S](?!{\|))+?(\|})", mainOptions | RegexOptions.Multiline);
            rexPreContainer = new Regex(@"
([\s\S]+?)
", mainOptions | RegexOptions.Multiline);
            rexTableCell = new Regex(@"(^|[^{])[\|\!]([^\+\-\}][^\|\!]*)", mainOptions | RegexOptions.Multiline);
            rexSimpleContent = new Regex(@"^[0-9a-zA-Z]+$", mainOptions);
            tags = new Regex(@"</?(.|\n)*?>");
            spaces = new Regex(@"\s+");

            intMaxTOC = 3;

            dctDB = new Dictionary<string, string>();
            dctDB.Add("ISBN", @"http://www.amazon.com/exec/obidos/ASIN/{0}");
            dctDB.Add("ISSN", @"http://pacifix.ddb.de:7000/DB=1.1/SET=2/TTL=1/CMD?ACT=SRCH&IKT=8&TRM={0}");
            dctDB.Add("DWDS", @"http://www.dwds.de/cgi-bin/portalL.pl?search={0}");

            //Init Variables

            intRef = 0;
            intTOC = 0;

            blnCodeOpen = false;

            internalMainLink = intMainLink;
            existingPages = existPages;
            imageHandlerUrlFormat = imgHandlerUrlFormat;
            thumbWidth = thWidth;

            selfPageName = pageName;
            canBeEdit = isEditable == ConvertType.Editable;
            convertTOC = convertCode = isEditable != ConvertType.Wysiwyg;

        }

        public static string CreateImageFromWiki(string pageName, string wiki, string intMainLink, string imageHandlerUrlFormat, int tenant)
        {
            return CreateImageFromWiki(pageName, wiki, intMainLink, imageHandlerUrlFormat, tenant, ConvertType.NotEditable, 180);
        }

        public static string CreateImageFromWiki(string pageName, string wiki, string intMainLink, string imageHandlerUrlFormat, int tenant, ConvertType isEditable, int thumbWidth)
        {
            List<string> existPages = new List<string>();

            HtmlWikiUtil instance = new HtmlWikiUtil();
            instance.Init(pageName, intMainLink, existPages, imageHandlerUrlFormat, tenant, isEditable, thumbWidth);

            return instance.ProcessImage(wiki);
        }

        public static string WikiToHtml(string pageName, string wiki, string intMainLink, List<string> existPages, string imageHandlerUrlFormat, int tenant, ConvertType isEditable)
        {
            return WikiToHtml(pageName, wiki, intMainLink, existPages, imageHandlerUrlFormat, tenant, isEditable, 180);
        }

        public static string WikiToHtml(string pageName, string wiki, string intMainLink, List<string> existPages, string imageHandlerUrlFormat, int tenant, ConvertType isEditable, int thumbWidth)
        {
            if (existPages == null)
                existPages = new List<string>();
            if (intMainLink == null)
                intMainLink = string.Empty;
            if (imageHandlerUrlFormat == null)
                imageHandlerUrlFormat = string.Empty;

            HtmlWikiUtil instance = new HtmlWikiUtil();
            instance.Init(pageName, intMainLink, existPages, imageHandlerUrlFormat, tenant, isEditable, thumbWidth);
            string result = instance.XLT(wiki);
            result = rexScript.Replace(result, string.Empty);
            return result;
        }

        private string MultiString(int n, string s)
        {
            StringBuilder result = new StringBuilder();
            for (int i = 0; i < n; i++)
            {
                result.Append(s);
            }

            return result.ToString();
        }

        private string OpenBlk(char sBlk, int n)
        {
            string result = string.Empty;

            switch (sBlk)
            {
                case 'B':
                    result = MultiString(n, "
\n");
                    break;
                case 'O':
                    result = MultiString(n, "
\n");
                    break;
                case 'U':
                    result = MultiString(n, "
\n");
                    break;
                case 'D':
                    result = MultiString(n, "
\n");
                    break;
                case 'L':
                    result = MultiString(n, "
\n");
                    break;
                case 'T':
                    result = MultiString(n, "
\n");
                    break;
                case 'P':
                    result = MultiString(n, "
\n");
                    break;
            }

            strStack += new String(sBlk, n);

            return result;
        }

        private string CloseBlk(int n)
        {
            StringBuilder result = new StringBuilder();

            for (int i = 0; i < n; i++)
            {
                switch (strStack[strStack.Length - 1])
                {
                    case 'B':
                        result.Append("
\n");
                        break;
                    case 'O':
                        result.Append("
\n");
                        break;
                    case 'U':
                        result.Append("
\n");
                        break;
                    case 'D':
                        result.Append("
\n");
                        break;
                    case 'L':
                        result.Append("
\n");
                        break;
                    case 'T':
                        result.Append("
\n)");
                        break;
                    case 'P':
                        result.Append("
\n");
                        break;
                }
                strStack = strStack.Remove(strStack.Length - 1);
            }

            if (blnCodeOpen)
            {
                result.Append("
\n");
                blnCodeOpen = false;
            }
            return result.ToString();
        }

        private string CloseAllBlkExP()
        {
            if (strStack.Length == 0 || strStack[strStack.Length - 1] == 'P')
                return string.Empty;

            for (int i = strStack.Length - 1; i >= 0; i--)
            {
                if (strStack[i] == 'P')
                {
                    return CloseAllBlk(strStack.Length - 1 - i);
                }
            }

            return CloseAllBlk();
        }

        private string CloseAllBlk()
        {
            return CloseAllBlk(0);
        }

        private string CloseAllBlk(int count)
        {
            if (!shouldCloaseAll)
                return string.Empty;

            if (count == 0)
            {
                count = strStack.Length;
            }

            StringBuilder result = new StringBuilder(CloseBlk(count));
            return result.ToString();
        }

        private string StartBlk(int n, char sBlk)
        {
            StringBuilder result = new StringBuilder();
            bool exit = false;
            if (sBlk == 'D')
            {

                while (GetLastBlk() == 'L')
                {
                    if (!exit)
                        exit = true;

                    result.Append(CloseBlk(1));
                }
            }

            if (exit)
                return result.ToString();

            if (n == strStack.Length)
            {
                if (strStack[strStack.Length - 1] != sBlk || sBlk == 'P')
                {
                    result.Append(CloseBlk(1) + OpenBlk(sBlk, 1));
                }
            }
            else if (n < strStack.Length)
            {
                result = new StringBuilder(CloseBlk(strStack.Length - n));
                if (strStack[strStack.Length - 1] != sBlk)
                {
                    result.Append(CloseBlk(1) + OpenBlk(sBlk, 1));
                }
            }
            else
            {
                result = new StringBuilder(OpenBlk(sBlk, n - strStack.Length));
            }

            return result.ToString();
        }

        private char GetLastBlk()
        {
            char result = '\0';
            if (strStack.Length > 0)
            {
                result = strStack[strStack.Length - 1];
            }

            return result;
        }

        private string Autonumber(int n)
        {
            StringBuilder result = new StringBuilder();
            int i;
            arrNr[n - 1]++;
            for (i = n; i < 6; i++)
                arrNr[i] = 0;

            for (i = 0; i < n; i++)
            {
                if (arrNr[i] == 0)
                    continue;

                result.Append(string.Format("{0}.", arrNr[i]));
            }

            result.Append(" ");

            return result.ToString();
        }

        private bool IsPageExists(string pageName)
        {
            return fileNameProcessing.Equals(pageName, StringComparison.InvariantCultureIgnoreCase);
        }

        private string ProcessInternalLinks(string pageName, bool isFile)
        {
            string ancor = string.Empty;
            string spetial = string.Empty;
            bool _isLinkOnly = false;

            if (pageName.Contains(":"))
            {
                spetial = GetSpecial(pageName);
                if (!string.IsNullOrEmpty(spetial) && pageName[0] == ':')
                {
                    _isLinkOnly = true;
                }
                pageName = pageName.Remove(0, pageName.IndexOf(spetial) + spetial.Length).TrimStart(':');
            }
            else if (pageName.Contains("#"))
            {
                ancor = pageName.Split('#')[1];
                pageName = pageName.Split('#')[0];

            }

            string result;
            if (isFile)
            {
                result = string.Format(@"<a href=""{0}{1}""", ActionHelper.GetViewFilePath(internalMainLink, pageName),
                                       string.IsNullOrEmpty(ancor) ? "" : "#" + ancor);
            }
            else
            {
                result = string.Format(@"<a href=""{0}{1}""{2}", ActionHelper.GetViewPagePath(internalMainLink, pageName, PageNameUtil.NormalizeNameCase(spetial)),
                                       string.IsNullOrEmpty(ancor) ? "" : "#" + ancor,
                                       _isLinkOnly ? " _wikiCategoryLink=\"\" " : string.Empty
                    );
            }

            fileNameProcessing = pageName.Replace("_", " ");

            if (existingPages.Exists(IsPageExists) || IsSpetialExists(spetial))
            {
                result = string.Format(@"{0} class=""internal""", result);
            }
            else
            {
                result = string.Format(@"{0} class=""internalNotExists""", result);
            }

            return result;
        }

        public static bool IsSpetialExists(string spetial)
        {
            if (string.IsNullOrEmpty(spetial))
                return false;

            if (spetial.Equals(Constants.WikiCategoryKeyCaption, StringComparison.InvariantCultureIgnoreCase))
                return true;
            if (spetial.Equals(Constants.WikiInternalKeyCaption, StringComparison.InvariantCultureIgnoreCase))
                return true;

            return false;
        }

        private string ProcessImage(string pattern)
        {
            string result = string.Empty;
            string[] param = pattern.Split('|');
            string fileName = string.Empty, alt = string.Empty, title = string.Empty;
            bool isFrame = false, isThumb = false;
            ImageFloat imgFloat = ImageFloat.None;
            string maxSize = string.Empty;
            Regex regMax = new Regex(@"([0-9]+)px", mainOptions);
            int iSize = 0;
            string str;
            foreach (string p in param)
            {
                str = p.Trim();
                if (str.ToLower().Contains("image:")) //GetFileName
                {
                    fileName = str.Split(':')[1].Trim();
                }
                else if (str.ToLower().Contains("alt="))
                {
                    alt = str.Split('=')[1].Trim();
                }
                else if (str.Equals("center", StringComparison.InvariantCultureIgnoreCase))
                {
                    imgFloat = ImageFloat.Center;
                }
                else if (str.Equals("right", StringComparison.InvariantCultureIgnoreCase))
                {
                    imgFloat = ImageFloat.Right;
                }
                else if (str.Equals("left", StringComparison.InvariantCultureIgnoreCase))
                {
                    imgFloat = ImageFloat.Left;
                }
                else if (str.Equals("frame", StringComparison.InvariantCultureIgnoreCase))
                {
                    isFrame = true;
                    if (imgFloat.Equals(ImageFloat.None))
                    {
                        imgFloat = ImageFloat.Right;
                    }
                }
                else if (str.Equals("thumb", StringComparison.InvariantCultureIgnoreCase))
                {
                    isThumb = true;
                    if (imgFloat.Equals(ImageFloat.None))
                    {
                        imgFloat = ImageFloat.Right;
                    }
                }
                else if (regMax.Match(str.ToLower()).Success)
                {
                    maxSize = str.ToLower();
                    iSize = Convert.ToInt32(regMax.Replace(str, "$1"));
                }
                else
                {
                    title = str;
                }

            }
            //0       :1  :2       :3      :4      :5    :6
            //fileName:alt:imgFloat:isThumb:isFrame:iSize:title
            string wysiwygInfo = string.Format(@"_wikiInfo=""{0}:{1}:{2}:{3}:{4}:{5}:{6}""", PageNameUtil.Encode(fileName), PageNameUtil.Encode(alt), imgFloat.Equals(ImageFloat.None) ? string.Empty : imgFloat.ToString().ToLower(),
                                               isThumb ? 1 : 0, isFrame ? 1 : 0, iSize, PageNameUtil.Encode(title));

            if (isThumb || isFrame)
            {
                result = string.Format(@"

", iSize == 0 ? thumbWidth : iSize, (imgFloat.Equals(ImageFloat.Left) ? "tleft" : imgFloat.Equals(ImageFloat.Right) ? "tright" : "tcenter"), wysiwygInfo);
                result = string.Format(@"{0}
",
                                       result,
                                       ActionHelper.GetViewFilePath(internalMainLink, fileName),
                                       string.Format(imageHandlerUrlFormat, fileName),
                                       iSize - 2 <= 0 ? (thumbWidth - 2 > 0 ? thumbWidth - 2 : thumbWidth) : iSize - 2,
                                       alt);
                if (isThumb)
                {
                    result = string.Format(@"{0}
", result);
                    result = string.Format(@"{0}
",
                                           result,
                                           WikiUCResource.Enlarge,
                                           ActionHelper.GetViewFilePath(internalMainLink, fileName));

                }
                result = string.Format(@"{0}{1}

", result, title);
            }
            else
            {
                result = string.Format(@"
", imgFloat.Equals(ImageFloat.None) ? "class='floatleft'" :
                                                             string.Format(@"class=""{0}""", (imgFloat.Equals(ImageFloat.Left) ? "floatleft" : imgFloat.Equals(ImageFloat.Right) ? "floatright" : "floatcenter")), wysiwygInfo);
                result = string.Format(@"{0}",
                                       result,
                                       ActionHelper.GetViewFilePath(internalMainLink, fileName),
                                       string.Format(imageHandlerUrlFormat, fileName),
                                       (string.IsNullOrEmpty(maxSize) ? string.Empty : string.Format(@"width=""{0}""", maxSize)),
                                       alt,
                                       title);
                result = string.Format(@"{0}
", result);
                if (imgFloat.Equals(ImageFloat.None))
                {
                    result = string.Format("
{0}
", result);
                }
            }

            return result;
        }

        private string Ref(string sUrl, string sTxt, string sTgt, string all)
        {
            string result = string.Empty;
            int i;
            string strProt = string.Empty;
            string strExt = string.Empty;

            sUrl = sUrl.Trim();
            strExt = sUrl.Split('.')[sUrl.Split('.').Length - 1].ToLower();
            string sLowUrl = sUrl.ToLower();
            if (sLowUrl.Contains("image:") || sLowUrl.Contains("file:"))
            {
                sUrl = sUrl.Split(':')[1];

                if (sLowUrl.Contains("image:") && _imgExtensions.Contains(strExt))
                {
                    return ProcessImage(all);
                }
                else
                {
                    result = ProcessInternalLinks(sUrl, true);
                    if (string.IsNullOrEmpty(sTxt))
                        sTxt = sUrl;
                    result = string.Format(@"{0} _wikiFile="""" title=""{2}"">{1}", result, sTxt, sUrl);
                }
            }
            else //link
            {
                if (string.Empty.Equals(sTxt))
                {
                    if (intRef > 0)
                    {
                        for (i = 0; i < intRef; i++)
                        {
                            if (arrRef[i].Equals(sUrl, StringComparison.InvariantCultureIgnoreCase))
                            {
                                sTxt = string.Format("[{0}]", i + 1);
                                break;
                            }
                        }
                    }

                    if (string.IsNullOrEmpty(sTxt))
                    {
                        if (sUrl.Contains("/"))
                        {
                            sTxt = string.Format("[{0}]", intRef + 1);
                            arrRef[intRef] = sUrl;
                            intRef++;
                        }
                        else
                        {
                            sTxt = sUrl;
                        }
                    }
                }

                result = string.Format(@"<a href=""{0}""", sUrl);
                if (sUrl.Contains(":"))
                {
                    strProt = sUrl.Split(':')[0].ToLower();
                }
                switch (strProt)
                {
                    case "https":
                        result = string.Format(@"{0} class=""secure""", result);
                        break;
                    case "http":
                        result = string.Format(@"{0} class=""external""", result);
                        break;
                    case "ftp":
                        result = string.Format(@"{0} class=""ftp""", result);
                        break;
                    case "mailto":
                        result = string.Format(@"{0} class=""mail""", result);
                        break;
                    default:
                        result = ProcessInternalLinks(sUrl, false);
                        sTgt = string.Empty;
                        break;
                }

                if (sTxt.Contains(":") && IsSpetialExists(GetSpecial(sTxt)))
                {
                    sTxt = sTxt.TrimStart(':');
                }

                if (sUrl.Contains(":") && IsSpetialExists(GetSpecial(sUrl)))
                {
                    sUrl = sUrl.TrimStart(':');
                }

                if (!sUrl.Equals(sTxt.Trim(), StringComparison.InvariantCultureIgnoreCase))
                {
                    result = string.Format(@"{0} title=""{1}""", result, HttpUtility.HtmlDecode(sTxt).HtmlEncode());
                }
                if (!string.IsNullOrEmpty(sTgt))
                {
                    result = string.Format(@"{0} target=""{1}""", result, sTgt);
                }

                result = string.Format(@"{0}>{1}", result, sTxt);
            }

            return result;
        }

        private string GetSpecial(string input)
        {
            string result = string.Empty;
            if (!string.IsNullOrEmpty(input))
            {
                if (input.LastIndexOf(':') > 0)
                {
                    result = input.TrimStart(':').Split(':')[0];
                }
            }

            return result;
        }

        private string Cell(string sTxt, int iColSpan, int iRowSpan, string sHAl, string sVAl, bool bNoWrap, bool bHdr)
        {
            string result = string.Empty;

            if (bHdr)
            {
                result = "<th ";
            }
            else
            {
                result = " 1)
            {
                result = string.Format(@"{0} colspan=""{1}""", result, iColSpan);
            }

            if (iRowSpan > 1)
            {
                result = string.Format(@"{0} rowspan=""{1}""", result, iRowSpan);
            }

            if (!string.IsNullOrEmpty(sHAl))
            {
                result = string.Format(@"{0} align=""{1}""", result, sHAl);
            }

            if (!string.IsNullOrEmpty(sVAl))
            {
                result = string.Format(@"{0} valign=""{1}""", result, sVAl);
            }

            if (bNoWrap)
            {
                result = string.Format(@"{0} nowrap=""nowrap""", result);
            }

            result = string.Format(@"{0}>{1}</{2}>", result, sTxt, bHdr ? "th" : "td");

            return result;
        }

        private string TOC()
        {
            string result = string.Empty;
            int i;
            string[] arr;
            if (!convertTOC)
            {
                result = string.Format(@"
{0}
", WikiUCResource.wikiTOCFakeCaption);
                return result;
            }

            if (intTOC > 1)
            {
                if (convertCode)
                    result = @"
";
                for (i = 0; i < intTOC; i++)
                {
                    string[] arrTOC_i = arrTOC[i];
                    arr = new string[arrTOC_i.Length];
                    for (int arr_i = 0; arr_i < arrTOC_i.Length; arr_i++)
                    {
                        arr[arr_i] = arrTOC_i[arr_i];
                    }
                    if (Convert.ToInt32(arr[0]) <= intMaxTOC)
                    {
                        result = string.Format(@"{0}
", result, arr[0]);
                        result = string.Format(@"{0}{1}", result, arr[1]);
                        result = string.Format(@"{0}{2}", result, ActionHelper.GetViewPagePath(internalMainLink, selfPageName), arr[2]);
                        result = string.Format(@"{0}
", result);
                    }
                }
                result = string.Format(@"{0}
", result);
            }

            return result;
        }

        private string LinkTOC()
        {
            string result = string.Empty;
            int i;
            string strProt = string.Empty;

            if (intRef > 1)
            {
                result = @"
";
                for (i = 0; i < intRef - 1; i++)
                {
                    if (arrRef[i].Contains(":"))
                    {
                        strProt = arrRef[i].Split(':')[0].ToLower();
                    }
                    if (!string.IsNullOrEmpty(strProt) && _validProtocols.Contains(strProt))
                    {
                        strProt = @"  target=""_blank""";
                    }
                    else
                    {
                        strProt = string.Empty;
                    }

                    result = string.Format(@"{0}[{1}]", result, i);
                    result = string.Format(@"{0}{2}", result, arrRef[i], strProt);
                }

                result = string.Format(@"{0}
", result);
            }

            return result;
        }

        public void SetExternalDBUrl(string name, string sVal)
        {
            dctDB.Add(name, sVal);
        }

        public void SetMaxTocLevel(int iVal)
        {
            if (iVal > 0)
            {
                intMaxTOC = iVal;
            }
        }

        #region Replace

        private string Replace(string expression, string find, string replacewith)
        {
            return expression.Replace(find, replacewith);
        }

        private string Replace(string expression, string find, string replacewith, int start)
        {
            return Replace(expression, find, replacewith, start, -1);
        }

        private string Replace(string expression, string find, string replacewith, int start, int count)
        {
            var result = new StringBuilder(expression);
            count = expression != null && count != -1 ? expression.IndexOf(find) + find.Length : result.Length;
            return result.Replace(find, replacewith, 0, count).ToString();
        }

        #endregion;

        private string ProcessSavePreCollection(string s)
        {
            preList = new List<TempContainer>();
            MatchCollection matches = rexPreContainer.Matches(s);
            TempContainer container;

            StringBuilder sb = new StringBuilder(s);
            foreach (Match m in matches)
            {
                var oldValue = m.Groups[1].Value.Trim();

                container = new TempContainer() { Content = string.IsNullOrEmpty(oldValue) ? m.Value : m.Value.Replace(oldValue, XLT(oldValue, XltType.Pre)) };
                sb.Replace(m.Value, container.TempId.ToString());
                preList.Add(container);
            }

            return sb.ToString();
        }

        private string ProcessSaveTableCollection(string s)
        {
            tableList = new List<TempContainer>();
            MatchCollection matches = rexTablesContainer.Matches(s);
            while (matches.Count > 0)
            {
                s = SaveTableItems(s);
                matches = rexTablesContainer.Matches(s);
            }

            //To Back ORDERED!!!!
            tableList.Reverse();
            return s;
        }

        private string SaveTableItems(string s)
        {
            MatchCollection matches = rexTablesContainer.Matches(s);
            TempContainer container;
            foreach (Match m in matches)
            {
                container = new TempContainer() { Content = m.Value.Trim() };
                tableList.Add(container);
            }

            StringBuilder sb = new StringBuilder(s);
            foreach (TempContainer cont in tableList)
            {
                sb.Replace(cont.Content, cont.TempId.ToString());
            }

            return sb.ToString();
        }

        private StringBuilder LoadPreItems(StringBuilder sb)
        {
            foreach (TempContainer cont in preList)
            {
                sb.Replace(cont.TempId.ToString(), cont.Content);
            }

            return sb;
        }

        private StringBuilder LoadTableItems(StringBuilder sb)
        {
            //Back ORDERED!!!!
            foreach (TempContainer cont in tableList)
            {
                sb.Replace(cont.TempId.ToString(), ProcessTables(cont.Content));
            }

            return sb;
        }

        private bool CellEntriesCanBeAdded(List<TempContainer> cellEntries, string value)
        {
            if (rexSimpleContent.IsMatch(value.Trim()))
            {
                return false;
            }

            if ((from cell in cellEntries where cell.Content.Equals(value) select cell).Count() > 0)
            {
                return false;
            }

            return true;
        }

        private string ProcessTables(string s)
        {
            List<TempContainer> linkList = new List<TempContainer>();
            s = SaveLinkTabItems(linkList, s);

            MatchCollection matches = rexTableCell.Matches(s);
            TempContainer container;
            string value = string.Empty;
            List<TempContainer> cellEntries = new List<TempContainer>();
            foreach (Match m in matches)
            {
                value = m.Groups[2].Value;
                if (!string.IsNullOrEmpty(value.Trim()) && CellEntriesCanBeAdded(cellEntries, value))
                {
                    container = new TempContainer() { Content = value };
                    cellEntries.Add(container);
                }
            }

            StringBuilder sb = new StringBuilder(s);
            foreach (TempContainer cont in cellEntries)
            {
                sb.Replace(cont.Content, cont.TempId.ToString() + "\n");
                cont.Content = cont.Content.Trim();
            }
            s = sb.ToString();

            /*s = XLT(s);*/
            //ProcessTableOnly!!!

            //s = LoadLinkTabItems(linkList, s);
            sb = new StringBuilder(XLT(s, XltType.Table));
            foreach (TempContainer cont in cellEntries)
            {
                sb.Replace(cont.TempId.ToString(), XLT(LoadLinkTabItems(linkList, cont.Content)));
            }

            return sb.ToString();
        }

        private string SaveLinkTabItems(List<TempContainer> linkContainerList, string s)
        {
            MatchCollection matches = rexLinkTabContainer.Matches(s);
            TempContainer container;
            foreach (Match m in matches)
            {
                container = new TempContainer() { Content = m.Value.Trim() };
                linkContainerList.Add(container);
            }

            StringBuilder sb = new StringBuilder(s);
            foreach (TempContainer cont in linkContainerList)
            {
                sb.Replace(cont.Content, cont.TempId.ToString());
            }

            return sb.ToString();
        }

        private string LoadLinkTabItems(List<TempContainer> linkContainerList, string s)
        {
            StringBuilder sb = new StringBuilder(s);
            foreach (TempContainer cont in linkContainerList)
            {
                sb.Replace(cont.TempId.ToString(), cont.Content);
            }

            return sb.ToString();
        }

        private string SaveLinkItems(List<TempContainer> linkContainerList, string s)
        {
            MatchCollection matches = rexLinkContainer.Matches(s);
            TempContainer container;
            foreach (Match m in matches)
            {
                container = new TempContainer() { Content = m.Value.Trim() };
                linkContainerList.Add(container);
            }

            StringBuilder sb = new StringBuilder(s);
            foreach (TempContainer cont in linkContainerList)
            {
                sb.Replace(cont.Content, cont.TempId.ToString());
            }

            return sb.ToString();
        }

        private string LoadLinkItems(List<TempContainer> linkContainerList, string s)
        {
            StringBuilder sb = new StringBuilder(s);
            foreach (TempContainer cont in linkContainerList)
            {
                sb.Replace(cont.TempId.ToString(), cont.Content);
            }

            return sb.ToString();
        }

        private string SaveNoWikiPart(List<TempContainer> noWikiList, string s)
        {
            MatchCollection matches = rexNoWiki.Matches(s);
            TempContainer container;
            foreach (Match m in matches)
            {
                container = new TempContainer() { Content = m.Value.Trim() };
                noWikiList.Add(container);
            }

            StringBuilder sb = new StringBuilder(s);
            foreach (TempContainer cont in noWikiList)
            {
                sb.Replace(cont.Content, string.Format(_convertNoWikitemplate, cont.TempId));
            }

            return sb.ToString();
        }

        private StringBuilder LoadNoWikiPart(List<TempContainer> noWikiList, StringBuilder sb)
        {
            foreach (TempContainer cont in noWikiList)
            {
                sb.Replace(string.Format(_convertNoWikitemplate, cont.TempId), cont.Content);
            }

            return sb;
        }

        private string ProcessSpecCategoryLinks(string source)
        {
            string result = source;

            Regex catReg = new Regex(RegExCategorySearch, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
            List<string> categories = new List<string>();
            string cat, hCat;
            foreach (Match m in catReg.Matches(source))
            {
                cat = m.Value;
                result = result.Replace(cat, string.Empty);

                if (!categories.Exists(ct => ct.Equals(cat, StringComparison.InvariantCultureIgnoreCase)))
                {
                    cat = cat.Trim("[]".ToCharArray());
                    cat = cat.Split('|')[0];
                    cat = string.Format("[[{0}]]", cat);
                    hCat = cat;
                    if (hCat.IndexOf(':') > 0)
                    {
                        hCat = hCat.Trim("[]".ToCharArray());
                        hCat = hCat.Substring(hCat.IndexOf(':'));
                        hCat = hCat.TrimStart(":".ToCharArray());
                        hCat = hCat.Trim();
                        if (string.IsNullOrEmpty(hCat))
                            continue; //Unnamed categroy

                        cat = cat.Replace(hCat, hCat + "|" + hCat);
                    }
                    categories.Add(cat);
                }
            }
            HtmlDocument doc = new HtmlDocument();
            doc.LoadHtml(result);
            HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes(@"//div[@_wikiCatArea]");
            if (nodes != null)
            {
                foreach (HtmlNode node in nodes)
                {
                    node.ParentNode.RemoveChild(node);
                }
            }

            if (categories.Count > 0)
            {
                result = string.Format("{0}\n\n
{2}: {1}
", result, string.Join(", ", categories.ToArray()),
                                       string.Format("[[{0}:{1} | {2}]]", Constants.WikiInternalKeyCaption, Constants.WikiInternalCategoriesKey, WikiUCResource.wikiInternalCategoriesKeyCaption));
            }

            return result;
        }

        private string XLT(string sSrc)
        {
            return XLT(sSrc, XltType.Normal);
        }

        private string XLT(string sSrc, XltType xltType)
        {
            List<TempContainer> linkContainerList = new List<TempContainer>();
            List<TempContainer> noWikiList = new List<TempContainer>();
            StringBuilder result = new StringBuilder();
            bool isParag = false, shouldParag = false;

            string s, ss, strNr, strHAl, strVAl;
            string[] arrLin, arr, arr2;
            int intLin, intDep, i, intColSpan, intRowSpan = 1;
            MatchCollection Matches;

            bool blnNoWrap, blnHdr, blnAddBR = false, blnAddTOC;

            if (string.IsNullOrEmpty(sSrc))
                return result.ToString();

            s = sSrc.TrimEnd(" \n\r".ToCharArray());
            if ((xltType & XltType.Table) == XltType.Normal)
            {
                s = SaveNoWikiPart(noWikiList, s);

                s = ProcessSpecCategoryLinks(s);

                s = ProcessSaveTableCollection(s);

                if (string.IsNullOrEmpty(s))
                    return result.ToString();

                //Init();
            }

            if ((xltType & XltType.Pre) == XltType.Normal)
            {
                s = ProcessSavePreCollection(s);
            }

            blnAddTOC = intMaxTOC > 0 && s.Contains("@@TOC@@");
            arrLin = s.Split('\n');
            s = string.Empty;

            for (intLin = 0; intLin < arrLin.Length; intLin++)
            {
                s = string.Format("{0}{1}", s, arrLin[intLin]).TrimEnd(" ".ToCharArray()).Replace("\r", "");

                //if (!string.IsNullOrEmpty(s) && s[0] == ' ')
                //{
                //    if (!blnCodeOpen)
                //    {
                //        s = s.Trim();
                //    }
                //}

                if ((xltType & XltType.Table) == XltType.Normal)
                {
                    if (shouldParag)
                    {
                        shouldParag = false;
                        if (!rexLin.IsMatch(s) || (rexLin.Matches(s).Count == 1 && string.IsNullOrEmpty(rexLin.Matches(s)[0].Groups[1].Value)))
                        {
                            isParag = true;
                        }
                    }
                }
                if (string.IsNullOrEmpty(s))
                {
                    if (intLin > 0) // Not First
                    {
                        if (!string.Empty.Equals(arrLin[intLin - 1].Trim()) && (intOpenTab == 0 || (blnCodeOpen || ((xltType & XltType.Pre) == XltType.Pre))))
                        {
                            //result = string.Format("{0}{1}
\n", result, CloseAllBlk());
                            shouldParag = true;
                            isParag = false;
                        }
                    }
                }
                else if (s[s.Length - 1] == '\\')
                {
                    s = s.Remove(s.Length - 1);
                }
                else if (s[0] == ' ' && !s.Trim().Equals(string.Empty))
                {
                    if (!blnCodeOpen && ((xltType & XltType.Pre) == XltType.Normal))
                    {
                        result = new StringBuilder(string.Format("{0}{1}
", result, CloseAllBlk()));
                        blnCodeOpen = true;
                    }
                    result = new StringBuilder(string.Format("{0}{1}
", result, s.Substring(1).Replace(" ", " ")));
                    s = string.Empty;
                }
                else //Parse the line
                {
                    if ((xltType & XltType.Table) == XltType.Normal)
                    {
                        if (isParag)
                        {
                            isParag = false;
                            if (!(rexLin.IsMatch(s) && IsStringInternalWiki(s)))
                            {
                                s = string.Format("{0}{1}", StartBlk(1, 'P'), s);
                                if (blnCodeOpen)
                                {
                                    s = "
\n" + s;
                                    blnCodeOpen = false;
                                }
                                //s = StartBlk(1, 'P') + s;
                            }
                            else if (blnCodeOpen && (rexLin.IsMatch(s) && IsStringInternalWiki(s)))
                            {
                                result.Append("
\n");
                                blnCodeOpen = false;
                            }
                        }
                        else
                        {
                            if (blnCodeOpen && (rexLin.IsMatch(s) && IsStringInternalWiki(s)))
                            {
                                result.Append("
\n");
                                blnCodeOpen = false;
                            }
                        }

                        s = SaveLinkItems(linkContainerList, s);

                        blnAddBR = false;
                        s = rexB.Replace(s, "$1");
                        s = rexI.Replace(s, "$1");
                        s = rexU.Replace(s, "$1");
                        s = rexS.Replace(s, "$1");

                        s = LoadLinkItems(linkContainerList, s);

                        Matches = rexLnk.Matches(s);

                        foreach (Match match in Matches)
                        {

                            if (!string.IsNullOrEmpty(match.Groups[7].Value))
                            {
                                s = Replace(s, match.Groups[0].Value, Ref(match.Groups[7].Value, match.Groups[8].Value, "_blank", match.Groups[7].Value), 0, 1);
                            }
                            else if (!string.IsNullOrEmpty(match.Groups[1].Value))
                            {
                                s = Replace(s, match.Groups[1].Value, Ref(match.Groups[1].Value, match.Groups[1].Value, string.Empty, match.Groups[1].Value), 0, 1);
                            }
                            else if (!string.IsNullOrEmpty(match.Groups[4].Value))
                            {
                                s = Replace(s, match.Groups[4].Value, Ref("mailto:" + match.Groups[4].Value, match.Groups[4].Value, match.Groups[4].Value, match.Groups[4].Value), 0, 1);
                            }
                            //else if (!string.IsNullOrEmpty(match.Groups[5].Value))
                            //{
                            //    arr = match.Groups[5].Value.Split('|');

                            //    if (!string.IsNullOrEmpty(dctDB["WIKI"]))
                            //    {
                            //        s = Replace(s, match.Groups[5].Value, Ref(dctDB["WIKI"].Replace("[1]", arr[5]), arr[arr.Length - 1], string.Empty, match.Groups[5].Value), 0, 1);
                            //    }
                            //    else
                            //    {
                            //        s = Replace(s, match.Groups[5].Value, arr[arr.Length - 1], 0, 1);
                            //    }
                            //}
                            else if (!string.IsNullOrEmpty(match.Groups[5].Value))
                            {
                                s = Replace(s, match.Groups[0].Value, Ref(match.Groups[5].Value.Split('|')[0], match.Groups[5].Value.Split('|').Length > 1 ? match.Groups[5].Value.Remove(0, match.Groups[5].Value.Split('|')[0].Length).TrimStart('|') : match.Groups[5].Value, "_blank", match.Groups[5].Value), 0, 1);
                            }
                            else if (!string.IsNullOrEmpty(match.Groups[0].Value))
                            {
                                s = Replace(s, match.Groups[0].Value, Ref(match.Groups[6].Value, match.Groups[2].Value, "_blank", match.Groups[0].Value), 0, 1);
                            }
                            else if (!string.IsNullOrEmpty(match.Groups[6].Value))
                            {
                                s = Replace(s, match.Groups[6].Value, Ref(match.Groups[6].Value, match.Groups[7].Value, "_blank", match.Groups[6].Value), 0, 1);
                            }
                        }

                        Matches = rexDB.Matches(s);
                        foreach (Match match in Matches)
                        {
                            if (!string.IsNullOrEmpty(match.Groups[0].Value)) //ISBN
                            {
                                ss = dctDB["ISBN"].Replace("[1]", match.Groups[1].Value.Replace("-", ""));
                                s = Replace(s, match.Groups[0].Value, Ref(ss, match.Groups[0].Value, "_blank", string.Empty), 0, 1);
                            }
                            else if (!string.IsNullOrEmpty(match.Groups[2].Value)) //{{...}}
                            {
                                arr = match.Groups[2].Value.Split('|');
                                if (arr.Length == 1) //Text
                                {
                                    s = Replace(s, match.Groups[2].Value, arr[0], 0, 1);
                                }
                                else if (arr.Length > 1) //{{DB|expression}}
                                {
                                    if (!string.IsNullOrEmpty(dctDB[arr[0]])) // DB is definied
                                    {
                                        ss = dctDB[arr[0]].Replace("[1]", arr[1]);

                                        if (arr.Length > 2)
                                        {
                                            s = Replace(s, match.Groups[2].Value, Ref(ss, arr[2], "_blank", string.Empty), 0, 1);
                                        }
                                        else
                                        {
                                            s = Replace(s, match.Groups[2].Value, Ref(ss, arr[0] + " " + arr[1], "_blank", string.Empty), 0, 1);
                                        }
                                    }
                                    else
                                    {
                                        if (arr.Length > 2)
                                        {
                                            s = Replace(s, match.Groups[2].Value, arr[2], 0, 1);
                                        }
                                        else
                                        {
                                            s = Replace(s, match.Groups[2].Value, arr[0] + " " + arr[1], 0, 1);
                                        }
                                    }
                                }
                            }
                        }
                    }

                    Matches = rexLin.Matches(s);

                    foreach (Match match in Matches)
                    {
                        intDep = match.Groups[1].Length;

                        if (string.IsNullOrEmpty(match.Groups[0].Value))
                        {
                            s = CloseAllBlk() + match.Groups[1].Value.Trim();
                            blnAddBR = true;
                        }
                        else if (intDep > 0)
                        {
                            string first2;

                            if (intDep > 1)
                            {
                                first2 = match.Groups[1].Value.Substring(0, 2);
                            }
                            else
                            {
                                first2 = match.Groups[1].Value.Substring(0, 1);
                            }

                            if (first2.Equals("<<"))
                            {
                                s = CloseAllBlk() + @"
" + match.Groups[2].Value + "
";
                            }
                            else if (first2.Equals("><"))
                            {
                                s = CloseAllBlk() + @"
" + match.Groups[2].Value + "
";
                            }
                            else if (first2.Equals(">>"))
                            {
                                s = CloseAllBlk() + @"
" + match.Groups[2].Value + "
";
                            }
                            else if (first2.Equals("<>"))
                            {
                                s = CloseAllBlk() + @"
" + match.Groups[2].Value + "
";
                            }
                            else if (first2[0] == '!' && intOpenTab == 0) // alternative table syntax
                            {
                                s = StartBlk(1, 'T') + "
\n";
                                arr = match.Groups[2].Value.Trim().Split('!');
                                intColSpan = 1;
                                for (i = 0; i < arr.Length; i++)
                                {
                                    if (string.IsNullOrEmpty(arr[i].Trim()))
                                    {
                                        intColSpan++;
                                    }
                                    else
                                    {
                                        strHAl = string.Empty;
                                        strVAl = "top";
                                        blnNoWrap = false;
                                        blnHdr = false;

                                        if (arr[i].Substring(0, 1).Equals("+"))
                                        {
                                            blnHdr = true;
                                            arr[i] = arr[i].Substring(1).Trim();
                                        }

                                        if (arr[i].Substring(0, 2).Equals("<<"))
                                        {
                                            strHAl = "left";
                                            arr[i] = arr[i].Substring(2).Trim();
                                        }

                                        if (arr[i].Substring(0, 2).Equals(">>"))
                                        {
                                            strHAl = "right";
                                            arr[i] = arr[i].Substring(2).Trim();
                                        }

                                        if (arr[i].Substring(0, 2).Equals("><"))
                                        {
                                            strHAl = "center";
                                            arr[i] = arr[i].Substring(2).Trim();
                                        }

                                        if (arr[i].Substring(0, 2).Equals("<>"))
                                        {
                                            strHAl = "justify";
                                            arr[i] = arr[i].Substring(2).Trim();
                                        }

                                        if (arr[i].Substring(0, 1).Equals("^"))
                                        {
                                            blnNoWrap = true;
                                            arr[i] = arr[i].Substring(1).Trim();
                                        }

                                        s = string.Format("{0}{1}", s, Cell(arr[i], intColSpan, intRowSpan, strHAl, strVAl, blnNoWrap, blnHdr));
                                        intColSpan = 1;
                                        intRowSpan = 1;
                                    }
                                    s = string.Format("{0}
", s);
                                }
                            }
                            else if (first2.Equals("{|")) //Table Strart MediaWiki format.
                            {
                                intOpenTab++;
                                s = string.Format("

\n", match.Groups[2].Value);
                                if (intOpenTab > 1)
                                {
                                    s = string.Format("\n{0}", s);
                                }
                            }
                            else if (first2.Equals("|}")) //table end
                            {
                                intOpenTab--;
                                s = "

";
                                if (intOpenTab > 0)
                                {
                                    s += "	";
                                }
                            }
                            else if (first2.Equals("|+")) //table caption
                            {
                                s = string.Format("
{0}
", match.Groups[2].Value.Trim());
                            }
                            else if (first2.Equals("|-")) //table new row
                            {
                                s = "

";
                            }
                            else if (first2[0] == '|' || first2[0] == '!') //table cell
                            {
                                var node = first2[0] == '|' ? "td" : "th";
                                arr = match.Groups[2].Value.Split(new string[] { "|!" }, StringSplitOptions.RemoveEmptyEntries);
                                s = string.Empty;
                                if (arr.Length == 0)
                                {
                                    s = string.Format("{0}<{1}> </{1}>", s, node);
                                }
                                else
                                {
                                    for (i = 0; i < arr.Length; i++)
                                    {
                                        arr2 = arr[i].Split('|');
                                        //shouldCloaseAll = false;
                                        if (arr2.Length == 1)
                                        {
                                            s = string.Format("{0}<{2}>{1}</{2}>", s, arr2[0].Trim() /*XLT(arr2[0].Trim())*/, node);
                                        }
                                        else if (arr2.Length == 2)
                                        {
                                            s = string.Format("{0}<{3} {1}>{2}</{3}>", s, arr2[0].Trim(), arr2[1].Trim() /*XLT(arr2[1].Trim())*/, node);
                                        }
                                        //shouldCloaseAll = true;
                                    }
                                }
                            }
                            else if (first2[0] == ':')
                            {
                                if (string.IsNullOrEmpty(match.Groups[2].Value.Trim())) //ident
                                {
                                    s = "
\n
\n";
                                }
                                else if (GetLastBlk() == 'D')
                                {
                                    s = StartBlk(intDep + 1, 'L') + match.Groups[2].Value.Trim();
                                }
                                else
                                {
                                    s = StartBlk(intDep, 'B') + match.Groups[2].Value.Trim();
                                }
                            }
                            else if (first2[0] == '*') //unordered
                            {
                                s = string.Format("{0}
{1}
", StartBlk(intDep, 'U'), match.Groups[2].Value.Trim());
                            }
                            else if (first2[0] == '#') //ordered
                            {
                                s = string.Format("{0}
{1}
", StartBlk(intDep, 'O'), match.Groups[2].Value.Trim());
                            }
                            else if (first2[0] == ';') //definition
                            {
                                s = StartBlk(intDep, 'D');
                                arr = match.Groups[2].Value.Trim().Split(':');
                                s = string.Format("{0}
{1}
", s, arr[0]);
                                if (arr.Length > 1)
                                {
                                    s = string.Format("{0}
{1}
", s, arr[1]);
                                }
                            }
                            else if (first2[0] == '=') //Headers
                            {
                                ss = match.Groups[2].Value.Trim();
                                ss = ss.Replace(new String('=', intDep), "");

                                if (string.IsNullOrEmpty(ss))
                                {
                                    ss = " ";
                                }

                                s = CloseAllBlk();
                                if (blnAddTOC)
                                {
                                    s = string.Format(@"{0}", s, ss.Trim('#').Trim());
                                }
                                s = string.Format("{0}<h{1}>", s, intDep);

                                strNr = Autonumber(intDep);

                                if (ss[0] == '#')
                                {
                                    s += strNr;
                                    ss = ss.Substring(0).Trim();
                                }

                                //save sup and sub
                                ss = ss.Replace("", "<sup>").Replace("", "</sup>");
                                ss = ss.Replace("", "<sub>").Replace("", "</sub>");

                                //Trim tags
                                ss = tags.Replace(ss, string.Empty);

                                //save sup and sub
                                ss = ss.Replace("<sup>", "").Replace("</sup>", "");
                                ss = ss.Replace("<sub>", "").Replace("</sub>", "");

                                //Trim Spaces
                                ss = spaces.Replace(ss, " ").Trim();

                                arrTOC[intTOC] = new string[] { intDep.ToString(), strNr.Trim(), HttpUtility.HtmlEncode(ss) };

                                s = string.Format(@"{0}{3}{1}</h{2}>", s, ss, intDep,
                                                  canBeEdit ? string.Format(@"{0}",
                                                                            string.Format(@"{1}",
                                                                                string.Format(@"{0}&section={1}", ActionHelper.GetEditPagePath(internalMainLink, selfPageName), intTOC),
                                                                                WikiUCResource.EditSectionCaption,
                                                                                string.Format(WikiUCResource.EditSectionTitleFormat, ss)))
                                                      : string.Empty);
                                intTOC++;

                            }
                            else if (first2[0] == '-') //horizontal ruler
                            {
                                s = CloseAllBlk() + "
";
                            }
                        }
                        else
                        {
                            s = CloseAllBlkExP() + s;
                        }
                    }

                    if ((xltType & XltType.Table) == XltType.Normal)
                    {
                        Matches = rexSpetial.Matches(s);

                        foreach (Match match in Matches)
                        {
                            var replaceWidth = string.Empty;
                            switch (match.Groups[2].Value.ToLower())
                            {
                                case "br":
                                    replaceWidth = "
";
                                    break;
                            }

                            s = s.Replace(match.Groups[1].Value, replaceWidth);
                        }
                    }
                    result.Append(s);
                    if (intLin < arrLin.Length - 1)
                    {
                        if (blnAddBR)
                        {
                            result.Append("
");
                        }

                        result.Append("\n");
                    }
                    s = string.Empty;
                }
            }

            result.Append(CloseAllBlk());

            if ((xltType & XltType.Table) == XltType.Normal)
            {
                string sResult = result.ToString();
                if (intMaxTOC > 0 && sResult.IndexOf("@@TOC@@") >= 0) //insert TOC
                {
                    result = result.Replace("@@TOC@@", TOC());
                }

                if (sResult.IndexOf("@@LinkTOC@@") >= 0)
                {
                    result = result.Replace("@@LinkTOC@@", LinkTOC());
                }

                result = LoadTableItems(result);
                result = new StringBuilder(rexEmptyTags.Replace(result.ToString(), string.Empty));
                result = LoadNoWikiPart(noWikiList, result);
                if (convertCode)
                {
                    result = new StringBuilder(HighLightCode(result.ToString()));
                }
            }

            if ((xltType & XltType.Pre) == XltType.Normal)
            {
                result = LoadPreItems(result);
            }

            return result.ToString();
        }

        private static string EscapeHtml(string src)
        {
            src = src.Replace("&", "&");
            src = src.Replace("<", "<");
            src = src.Replace(">", ">");

            return src;
        }

        private static string HighLightCode(string source)
        {
            //Escape HTML Symbols in code Tags

            var mcCode = rexCode.Matches(source);
            foreach (Match m in mcCode)
            {
                try
                {
                    var sCode = m.Groups[1].Value.Substring(m.Groups[1].Value.IndexOf(">", StringComparison.Ordinal) + 1);
                    source = source.Replace(sCode, EscapeHtml(sCode));
                }
                catch (Exception)
                {
                }
            }

            try
            {
                var doc = new HtmlDocument();
                doc.LoadHtml(source);
                var scripts = doc.DocumentNode.SelectNodes("//code");
                if (scripts != null)
                {
                    foreach (var node in scripts)
                    {
                        var textNode = doc.CreateTextNode(Highlight.HighlightToHTML(node.InnerHtml, GetLanguage(node), true).Replace(@"class=""codestyle""", string.Format(@"class=""codestyle"" _wikiCodeStyle=""{0}""", GetLanguageAttrValue(node))));
                        node.ParentNode.ReplaceChild(textNode, node);
                    }
                }
                return doc.DocumentNode.InnerHtml;
            }
            catch (Exception)
            {
                return source;
            }
        }

        private static string GetLanguageAttrValue(HtmlNode node)
        {
            var attr = node.Attributes["lang"];
            if (attr != null && !string.IsNullOrEmpty(attr.Value))
            {
                return attr.Value;
            }
            return string.Empty;
        }

        private static LangType GetLanguage(HtmlNode node)
        {
            var result = LangType.Unknown;

            switch (GetLanguageAttrValue(node).ToLower())
            {
                case "c":
                    result = LangType.C;
                    break;
                case "cpp":
                case "c++":
                    result = LangType.CPP;
                    break;
                case "csharp":
                case "c#":
                case "cs":
                    result = LangType.CS;
                    break;
                case "asp":
                    result = LangType.Asp;
                    break;
                case "html":
                case "htm":
                    result = LangType.Html;
                    break;
                case "xml":
                    result = LangType.Xml;
                    break;
                case "js":
                case "jsript":
                case "javascript":
                    result = LangType.JS;
                    break;
                case "sql":
                case "tsql":
                    result = LangType.TSql;
                    break;
                case "vb":
                case "vbnet":
                    result = LangType.VB;
                    break;
            }

            return result;
        }

        private const string WikiLineSymbols = @"<< >> <> >< ! {| |} |+ |- | ^ * # ; = - ~~";

        private static bool IsStringInternalWiki(string str)
        {
            var ss = str.Trim();
            return WikiLineSymbols.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Any(ss.StartsWith);
        }
    }
}


About the Society Awards All awards are presented at the SVP annual meeting. The 2019 awards application process is OPEN!
Click on the award you are interested in below and follow the link on that award's page to apply.
You may view the 2018 award winners HERE.
The approved 2019 award amounts may be viewed HERE.
For past award winners, please click HERE.
- Submission deadline for the Alfred Sherwood Romer Prize is March 20th, 2019, 11:59 PM US EST.
- Submission deadline for the Scientists from Economically Developing Nations (SEDN) is March 20th, 2019, 11:59 PM US EST.
- Submission deadline for all other awards is May 9th, 2019, 11:59 PM US EST.
Access to electronic-based publications and news of SVP for institutions based in developing countries.
Encourages student participation in the Society of Vertebrate Paleontology annual meeting.
Outstanding achievement in paleontological illustration and art.
Foster excellent student research in the study of vertebrate paleontology.


This house has 5 individual rooms with its own bathroom, kitchenette and courtyard. There is main Kitchen and dining area that you can use. This is perfect for your own privacy living, close to shops and transport. The rent includes the cost of Power and Water bills.
- Near New lowset brick home.


Are you needing an excellent foundation repair service and business for your residence in Groesbeck, TX and the neighboring area? Our team of experts at Solid Rock Foundation Repair, will assure that your property's repair is completed in the highest eminence. We ensure that our services are designed to fit the needs of your home and property. The priorities of our customers is our number 1 focus, so we aim to provide the best foundation work on the market.
Our team is ready to help you with any questions or worries. Don't hesitate to get a foundation repair! Call 817-400-7625 to talk with our professionals about your needs for a foundation repair in Groesbeck, TX today! A secure foundation is not only necessary, it's critical to your means of living. It is important to keep your foundation and property in good condition. If these things are not preserved and the foundation not cared for, then your land and house can easily shift and cause unexpected damage to the structure and foundation. We will construct a plan for your particular house. We have a team of experienced professionals committed to repairing your foundation.
Give us a call today for the well-being of your home's health and condition. Rest at ease knowing that your home is in pristine condition. You can count on Solid Rock Foundation Repair to give 100 percent. You never need to fear, since we specialize in foundation repair, you can be sure that your home or business is in is in great hands.
Do you want to know how our services will help you? Call our crew of specialists today about any concerns you may have. Solid Rock Foundation Repair is always on your side. Dial 817-400-7625 for Solid Rock Foundation Repair! We will make sure that you get the best customer service and absolute precision for your house foundation repair in Groesbeck, TX.


Exit 164: Located behind the Arby's and Krispy Kreme.
All rooms are Suites. All rooms feature microwave, refrigerator, coffee maker, hairdryer, iron and board, work desk w/ swivel chair, and sleeper sofa. The hotel offers High Speed Internet access, as well as complimentary Continental Plus Breakfast. Large decorated lobby with Plasma TV.


Presentations show material you collated to support a presentation you have given. Good presentations should include material that supports what you say to your audience. Here are some simple guidelines that make good presentations.


text:
Serenade for Flute, Violin, and Viola
Beethoven composed very little original music specifically with the flute in mind. Most of the music he wrote that could be played by the instrument was intended either for flute or violin, underlining the domestic, utilitarian character of these chamber works – you could play them on whatever you had lying around the house.
The Serenade in D major for Flute, Violin, and Viola was one of the exceptions, conceived for a flute and a violin, rather than with interchangeable instruments. This emphasis on soprano instruments leaves the viola to provide the bass, giving the Serenade a sunny, relaxed character.
Beethoven composed the Serenade in 1801 to help the recently-established publisher Giovanni Cappi drum up some business. Coming after the First Symphony, the first two Piano Concertos, and the Septet, Op. 20, the Serenade seems almost retrograde in its persistently cheerful disposition and classical scale, which conforms much more to the requirements of 18th-century salon music than to the grander dimensions of the heroic paths Beethoven had already begun to explore in those other works.
The work is in six movements, its layout conceived according to the pattern of the Classical serenade or divertimento of Mozart's and Haydn's time. Beethoven's innovation was to replace the second minuet with a scherzo (the fifth-movement Allegro scherzando e vivace).
Nowhere is the Serenade's classical character more apparent than in the slow movement, a set of variations on an Andante theme. These variations decorate the theme and play with its instrumentation in a manner entirely characteristic of the Classical style. This is not the Beethoven of the Diabelli Variations, distilling the essence of a theme over the course of variations that deploy every technique at the composer's disposal, but rather the composer trained at the princely court in Bonn and in late-18th-century Vienna, adept at music that entertains.
— John Mangum

redpajama_set_name: RedPajamaCommonCrawl


text:
Attack Magic Summon Item Run – May Contain Traces of Bolts
Attack Magic Summon Item Run
That's what Final Fantasy used to be about. And leveling. And more leveling. And chocobos. Been there, done that, got the T-shirt (and a couple of others for when I'm in a Konami or Nintendo mood).
Final Fantasy XIII, on the other hand, is mostly about pressing ⨉.
FFXIII's combat system is very different from that of the previous games. The most obvious difference is that it is no longer turn-based, which was a bit of a shock to me, and which has probably angered many fans. Unless you enjoy standing still while your adversary pummels you, you often have little choice other than to select "auto-battle" and let the game make all the decisions for you. When you face an adversary you know well (or one you've Libra'ed), this usually works out OK for Commandos and Ravagers, and to a certain degree also Medics, but not for Synergists and Saboteurs. Synergists, especially, seem to stick to a predefined sequence of buffs instead of prioritizing those which are appropriate for the current adversary. For instance, there is no point in casting Protect when fighting a monster that uses only magic attacks.
At the end of every battle, you get a rating and a score which are based mainly on how long the battle lasted compared to how long the game thinks it should have. This rewards players who use Haste or are good at sneaking up on enemies (which is not always possible). However… neither the rating nor the score have any effect on the game whatsoever except for how fast your TP bar replenishes. Getting a high rating or score, which can sometimes only be achieved by consuming hard-to-get Fortisol or Deceptisol potions, does not give you better drops or help you level faster. You level by spending Crystarium points, and the amount of CP you get for each battle seems to be based exclusively on either the number of enemies you fought or their total HP (I haven't quite figured it out), and you get enough CP from the fights you can't avoid to max out your Crystarium. Thus, there is no incentive to go looking for trouble and no incentive to fight well, and no character development. All you have to do is fight the enemies that show up in the storyline, make it out alive (and if you don't, the game just takes you back to a point shortly before the fight), and spend your CP.
So far, I've played to chapter 7 (about twenty hours), and only in the last chapter or so have the fights been sufficiently difficult to require some thought and to be enjoyable, and I suspect that that's only because I haven't leveled any of my weapons or accessories. That's right, I'm still fighting with level 1 everything, and I'm doing just fine.
The storyline, by the way, is just that: a storyline. You follow a narrow path, fight the monsters along it, and watch the many cutscenes. There are a few places where you can circle around a difficult enemy or take a small detour to pick up a treasure, but you always end up back where you would have been if you'd continued straight on.
Now, I've heard that the game opens up in chapter 10, which should be about ten hours from where I am. It is not uncommon for games to have some sort of "cold open", to borrow from TV terminology, where your choices are restricted and the outcome has little or no effect on the rest of your game, as a sort of tutorial, but I've never played a game that had a thirty hour long tutorial, and I won't blame people who give up long before then. To be honest, I'm not sure why I haven't; I guess it's partly because the graphics are gorgeous (the game itself is in 720p, but the many, many cutscenes are in 1080p), partly because I'm starting to enjoy the combat system, or at least consider it a worthy challenge, and partly because I'm hoping it'll get better.
There is plenty more to dislike about FFXIII. The story is frankly uninteresting and does not really progress; most of the cutscenes so far in the games are either about things that happened before the game started, or about the characters being emo and acting completely irrationally. Everything that happens in the cutscenes in summarized in your Datalog, which is an interesting read, and not in a good way. Not only is the prose as purple as the back cover of a pulp fantasy novel, but the emotions and inner dialog described in the text rarely bear any resemblance to what the characters actually say in the cutscenes. Let me give you an example: according to the Datalog, Hope is seething with rage and working up the strength, skills and courage to confront and kill Snow, whom he blames for his mother's death. If you only watched the cutscenes, though, you'd think he was actually working up the courage to declare his undying love to Snow—until chapter 5, where he discusses the issue openly with Lightning. However, while he does voice these thoughts and feelings in chapter 5 (and 7), they are never reflected in his intonation or body language.
Now Vanille… Vanille really gets on my nerves. I can't decide whether she is an overendowed young girl in very inappropriate dress, or an emotionally retarded young woman in very inappropriate dress. She has the body shape of a grown woman but the body language of a ten-year-old girl. She also giggles and moans a lot. In fact, she giggles and moans so much that I sometimes worry the neighbors might think I'm watching porn. Vanille is voiced by Australian actress Georgia van Cuylenburg, who stated in an interview that "[i]t was important for me to keep my Aussie accent to show that Vanille is from somewhere different", but she doesn't sound Australian at all; to my ears, she sounds like an American voice actress who occasionally remembers that she was asked to speak with a British accent. Fang, who is from the same "somewhere different" as Vanille, is voiced by American actress Rachel Robinson; ironically, her Australian accent, while obviously fake, is far more convincing than Vanille's.
So, we've covered Hope, Vanille and (very briefly) Fang. Who's left? Snow is a conceited ass. Sazh is emo as hell in cutscenes, and jittery as hell in combat. Lightning… Lightning's OK, I guess, except for the way she treats Snow (and Serah, for that matter). She is also the most proficient fighter; Sazh would be a close second if his combat animations weren't so bloody annoying. There isn't really that much more to say about the characters; they're nicely rendered but completely unconvincing. The NPCs aren't much better; I liked Sazh's son and Hope's mother, but Snow's buddies are as annoying as he is, or worse.
BTW, where are the chocobos? I want chocobos! No, the chick is Sazh's 'fro doesn't count.
Looking forward to chapter 10…
Author Dag-Erling SmørgravPosted on 2011-01-19 2013-02-12 Categories EnglishTags games
2 thoughts on "Attack Magic Summon Item Run"
ltsampros says:
I cannot agree more about Vanille. I liked the Crystarium at the start of the game but unfornunately the story/gameplay was boring enough for me so I completely stopped playing around chapter 4 or 5.
Actually, it gets a lot better around chapter 11. I finally started to understand and appreciate the combat system, not least because the enemies get much tougher, but it would be a lot less tedious if you could save teams and paradigm sets so you could easily switch back and forth between them.
When I got to the Archylte Steppe in chapter 11 (where the game opens up), I had a Timequake moment. Timequake is a Kurt Vonnegut novel (one of his best, in my opinion) where time suddenly loops so that everybody goes through the past year again, doing the exact same things and experiencing the exact same events, while being aware that this is happening but unable to do anything about it. By the end of the year, people have completely forgotten what it is like to have free will and to be in control of their own lives that are completely at a loss. They are simply unable to make even the simplest decisions about their lives. Landing on Pulse was a bit like that: I suddenly had no idea what to do. I wandered around the steppe a bit, did some missions, figured out which monsters I could fight and which were too tough, earned a few hundred thousand CP and leveled a bit before going on with the plot.
Strange thing, though: there are four levels of Cie'th waystone missions, and the first missions you encounter are the highest level. You don't get lower-level missions until you get to the Cloven Spire, further on in the game, which you can't get to until you're tough enough to ace the highest-level missions, because some of the monsters blocking your path are extremely tough. I'm going to have to go back once I've leveled more to get some of the treasure spheres I had to skip.
Best part of the game so far: Fang. Second-best: Fang. Third-best: you get the idea…
Previous Previous post: 4k drive update
Next Next post: OpenBSD IPSec backdoor allegations: update


text:
Tech Work Pays Best in Bay Area, Seattle Second
Seattle area high-tech firms typically pay less than those in the San Francisco Bay area, although the cost of living is lower in the rainy city. However, both are still out front of tech pay in the rest of the nation.
That's the bottom line according to a new report published by tech employment tracker Glassdoor.
Overall, tech salarieshave begun to grow again, if slowly, after two years of declines and stagnation.
Still, potential employees have a lot to consider when making job decisions.
For instance, Microsoft (NASDAQ: MSFT) and Amazon.com (NASDAQ: AMZN), both Washington state stalwarts, pay more on average for technical talent than the rest of the nation — the Bay Area excluded. The report was published on Glassdoor's blogearlier this month.
Of the two, only Amazon.com quite measures up to salaries paid by Bay Area heavy hitters like Google (NASDAQ: GOOG) and Yahoo (NASDAQ: YHOO).
"Across major categories of tech jobs in the past nine months, it's not surprising the high cost-of-living Bay Area has more pay pull over Seattle — with average base salaries averaging between 5 percent and 28 percent more," the report said.
For a software engineer with one to three years experience, Microsoft is paying around $90,485 and Amazon is paying $96,944 compared to $99,944 for Google and $95,538 for Yahoo.
As an illustration of the differences in cost of living between the two locales, in the Bay Area, where Microsoftalso has a campus, the software titan pays $94,655 for the same position.
Meanwhile, per Glassdoor's report, IBM (NYSE: IBM) comes out looking like a piker, paying a mere $76,292 for a similar position in the Bay Area.
As far as how the two areas stack up against the rest of the nation, the numbers are clear cut. The average salary for all tech jobs nationwide is $84,693, while the average in Seattle is $86,816, and the Bay Area is $101,701.
Glassdoor bills itself as: "a small yet seasoned group of individuals looking to provide greater transparency into one of the most important aspects of our lives — our jobs." The firm claims to collect data anonymously, with verification safeguards to ensure the data is consistent.
Stuart J. Johnston is a contributing writer at InternetNews.com, the news service of Internet.com, the network for technology professionals.
Seven for 7: Best practices for implementing Windows 7
Oracle Delivers New Java Virtualization Tools


text:
Q: c# MariaDB error MySql.Data.MySqlClient.MySqlException (0x80004005): Expected end of data packet aunque el string de coneccion esta bien hasta donde yo se, parece ser que no puede obtener la informacion que requiere, la cuenta es local y todas las tablas/databases han sido creados
simplemente no se donde se encuentra el error.he intentado cambiar el string de coneccion como 5 veces y nada cambia.
la excepcion que se presenta es: MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered attempting to read the resultset. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Expected end of data packet
 private async Task LoopingActions()
 {
        string command = "SELECT * FROM `data`.`messages` LIMIT 1;";
   //uso un archivo yml para la configuracion del cliente -- i use a yml file for the config of the client
        var _connection = new MySqlConnection($"server={_config["SQLConnection:Server"]}; database={_config["SQLConnection:Database"]}; port={_config["SQLConnection:Port"]}; user={_config["SQLConnection:UserId"]}; pwd={_config["SQLConnection:Password"]}; ");
    try
    {
        _connection.Open();

    }
    catch (Exception ex) { Console.WriteLine(ex); }

    var Addtabletest = new MySqlCommand(command,_connection);

    try
    {
      MySqlDataReader test = Addtabletest.ExecuteReader();
    }
    catch (Exception ex)
    {
      Console.WriteLine(ex);
    }

    Console.WriteLine("test");

  }

redpajama_set_name: RedPajamaStackExchange