text:
package org.adligo.fabricate_tests.common.en;

import org.adligo.fabricate.common.en.SystemEnMessages;
import org.adligo.tests4j.system.shared.trials.SourceFileScope;
import org.adligo.tests4j.system.shared.trials.Test;
import org.adligo.tests4j_4mockito.MockitoSourceFileTrial;
import org.adligo.tests4j_tests.shared.i18n.I18N_Asserter;

@SourceFileScope (sourceClass=SystemEnMessages.class)
public class SystemEnMessagesTrial extends MockitoSourceFileTrial {

  @Test
  public void testConstants() {
    I18N_Asserter asserter = new I18N_Asserter(this);

    SystemEnMessages messages = SystemEnMessages.INSTANCE;
    asserter.assertConstant("Artifact:",
        messages.getArtifactColon());

    asserter.assertConstant("AntHelper requires a directory argument.",
        messages.getAntHelperRequiresADirectoryArgument());
    asserter.assertConstant("Archive stage <X/> completed successfully.",
        messages.getArchiveStageXCompletedSuccessfully());
    asserter.assertConstant("Archive stage <X/> is still running.",
        messages.getArchiveStageXIsStillRunning());
    asserter.assertConstant("Archive stage <X/> is still running on project <Z/>.",
        messages.getArchiveStageXIsStillRunningOnProjectZ());
    asserter.assertConstant("Archive stage <X/>, task <Y/> is still running.",
        messages.getArchiveStageXTaskYIsStillRunning());
    asserter.assertConstant("Archive stage <X/>, task <Y/> is still running on project <Z/>.",
        messages.getArchiveStageXTaskYIsStillRunningOnProjectZ());
    asserter.assertConstant("Archive stage <X/> is still setting up.",
        messages.getArchiveStageXIsStillSettingUp());
    asserter.assertConstant("Archive stage <X/>, project <Y/> is waiting on the following projects;",
        messages.getArchiveStageXProjectYIsWaitingOnTheFollowingProjects());

    asserter.assertConstant("Build stage <X/> completed successfully.",
        messages.getBuildStageXCompletedSuccessfully());
    asserter.assertConstant("Build stage <X/> is still running.",
        messages.getBuildStageXIsStillRunning());
    asserter.assertConstant("Build stage <X/> is still running on project <Z/>.",
        messages.getBuildStageXIsStillRunningOnProjectZ());
    asserter.assertConstant("Build stage <X/>, task <Y/> is still running.",
        messages.getBuildStageXTaskYIsStillRunning());
    asserter.assertConstant("Build stage <X/>, task <Y/> is still running on project <Z/>.",
        messages.getBuildStageXTaskYIsStillRunningOnProjectZ());
    asserter.assertConstant("Build stage <X/> is still setting up.",
        messages.getBuildStageXIsStillSettingUp());
    asserter.assertConstant("Build stage <X/>, project <Y/> is waiting on the following projects;",
        messages.getBuildStageXProjectYIsWaitingOnTheFollowingProjects());

    asserter.assertConstant("Building Fabricate runtime class path.",
        messages.getBuildingFabricateRuntimeClassPath());

    asserter.assertConstant("Command <X/> is still running.",
        messages.getCommandXIsStillRunning());
    asserter.assertConstant("Command <X/> completed successfully.",
        messages.getCommandXCompletedSuccessfully());
    asserter.assertConstant("Command <X/> is still running on project <Z/>.",
        messages.getCommandXIsStillRunningOnProjectZ());
    asserter.assertConstant("Command <X/>, task <Y/> is still running.",
        messages.getCommandXTaskYIsStillRunning());
    asserter.assertConstant("Command <X/>, task <Y/> is still running on project <Z/>.",
        messages.getCommandXTaskYIsStillRunningOnProjectZ());
    asserter.assertConstant("Command <X/> is still setting up.",
        messages.getCommandXIsStillSettingUp());
    asserter.assertConstant("Command <X/>, project <Y/> is waiting on the following projects;",
        messages.getCommandXProjectYIsWaitingOnTheFollowingProjects());

    asserter.assertConstant("Checking Fabricate runtime dependencies.",
        messages.getCheckingFabricateRuntimeDependencies());
    asserter.assertConstant("Compiled on <X/>.",
        messages.getCompiledOnX());

    asserter.assertConstant("did not pass the extract check.",
        messages.getDidNotPassTheExtractCheck());
    asserter.assertConstant("did not pass the md5 check.",
        messages.getDidNotPassTheMd5Check());

    asserter.assertConstant("Duration was <X/> milliseconds.",
        messages.getDurationWasXMilliseconds());
    asserter.assertConstant("Duration was <X/> minutes.",
        messages.getDurationWasXMinutes());
    asserter.assertConstant("Duration was <X/> seconds.",
        messages.getDurationWasXSeconds());

    asserter.assertConstant("Exception: There was a problem executing java with the following $JAVA_HOME;",
        messages.getExceptionExecutingJavaWithTheFollowingJavaHome());
    asserter.assertConstant("Exception: Fabricate requires Java 1.7 or greater.",
        messages.getExceptionFabricateRequiresJava1_7OrGreater());
    asserter.assertConstant("Exception: Java version parameter expected.",
        messages.getExceptionJavaVersionParameterExpected());
    asserter.assertConstant("Exception: No $FABRICATE_HOME environment variable set.",
        messages.getExceptionNoFabricateHomeSet());
    asserter.assertConstant("Exception: No fabricate_*.jar in $FABRICATE_HOME/lib for the following $FABRICATE_HOME;",
        messages.getExceptionNoFabricateJarInFabricateHomeLib());
    asserter.assertConstant("Exception: No fabricate.xml or project.xml found.",
        messages.getExceptionNoFabricateXmlOrProjectXmlFound());
    asserter.assertConstant("Exception: No $JAVA_HOME environment variable set.",
        messages.getExceptionNoJavaHomeSet());
    asserter.assertConstant("Exception: No start time argument.",
        messages.getExceptionNoStartTimeArg());
    asserter.assertConstant("Exception: Unable to find SSH_AGENT_PID when parsing output of ssh-agent.",
        messages.getExceptionUnableToFindSSH_AGENT_PIDWhenParsingOutputOfSshAgent());
    asserter.assertConstant("Exception: Unable to find SSH_AUTH_SOCK when parsing output of ssh-agent.",
        messages.getExceptionUnableToFindSSH_AUTH_SOCKWhenParsingOutputOfSshAgent());

    asserter.assertConstant("Extracting the following artifact;",
        messages.getExtractingTheFollowingArtifact());
    asserter.assertConstant("Extraction of the following artifact;",
        messages.getExtractionOfTheFollowingArtifact());

    asserter.assertConstant("Facet <X/> completed successfully.",
        messages.getFacetXCompletedSuccessfully());
    asserter.assertConstant("Facet <X/>, project <Y/> is waiting on the following projects;",
        messages.getFacetXIProjectYIsWaitingOnTheFollowingProjects());
    asserter.assertConstant("Fabricate by Adligo.",
        messages.getFabricateByAdligo());
    asserter.assertConstant("Fabricating...",
        messages.getFabricating());
    asserter.assertConstant("Fabricate appears to already be running ",
        messages.getFabricateAppearsToBeAlreadyRunning());
    asserter.assertConstant("(run.marker is in the same directory as fabricate.xml).",
        messages.getFabricateAppearsToBeAlreadyRunningPartTwo());
    asserter.assertConstant("Fabrication failed!",
        messages.getFabricationFailed());
    asserter.assertConstant("Fabrication successful!",
        messages.getFabricationSuccessful());

    asserter.assertConstant("Facet <X/> is still running.",
        messages.getFacetXIsStillRunning());
    asserter.assertConstant("Facet <X/> is still running on project <Z/>.",
        messages.getFacetXIsStillRunningOnProjectZ());
    asserter.assertConstant("Facet <X/>, task <Y/> is still running.",
        messages.getFacetXTaskYIsStillRunning());
    asserter.assertConstant("Facet <X/>, task <Y/> is still running on project <Z/>.",
        messages.getFacetXTaskYIsStillRunningOnProjectZ());
    asserter.assertConstant("Facet <X/> is still setting up.",
        messages.getFacetXIsStillSettingUp());

    asserter.assertConstant("failed!",
        messages.getFailed());
    asserter.assertConstant("File Name:",
        messages.getFileNameColon());

    asserter.assertConstant("finished.",
        messages.getFinished());
    asserter.assertConstant("Finished git clone on project <X/>.",
        messages.getFinishedGetCloneOnProjectX());
    asserter.assertConstant("Finished git pull on project <X/>.",
        messages.getFinishedGetPullOnProjectX());
    asserter.assertConstant("for;",
        messages.getForSemicolon());
    asserter.assertConstant("Finished <X/> on project <Y/>.",
        messages.getFinishedXOnProjectY());

    asserter.assertConstant("Git does not appear to be installed please install it.",
        messages.getGitDoesNotAppearToBeInstalledPleaseInstallIt());
    asserter.assertConstant("Group:",
        messages.getGroupColon());

    asserter.assertConstant("Instead of the following actual generic type;",
        messages.getInsteadOfTheFollowingActualGenericType());
    asserter.assertConstant("It was expected to implement the following interface;",
        messages.getItWasExpectedToImplementTheFollowingInterface());

    asserter.assertConstant("Locks may only be set on or under the caller's package.",
        messages.getLocksMayOnlyBeSetOnOrUnderTheCallersPackage());
    asserter.assertConstant("Locks must contain at least one allowed caller.",
        messages.getLocksMustContainAtLeastOneAllowedCaller());

    asserter.assertConstant("Managing the following local repository;",
        messages.getManagingTheFollowingLocalRepository());
    asserter.assertConstant("Managing Fabricate runtime class path dependencies.",
        messages.getManagingFabricateRuntimeClassPathDependencies());
    asserter.assertConstant("No remote repositories could be reached.",
        messages.getNoRemoteRepositoriesCouldBeReached());
    asserter.assertConstant("No routine found with name '<X/>'.",
        messages.getNoRoutineFoundWithNameX());
    asserter.assertConstant("No project found with name <X/>.",
        messages.getNoProjectFoundWithNameX());
    asserter.assertConstant("passed the extract check.",
        messages.getPassedTheExtractCheck());
    asserter.assertConstant("passed the md5 check.",
        messages.getPassedTheMd5Check());
    asserter.assertConstant("Projects are located in the following directory;",
        messages.getProjectsAreLocatedInTheFollowingDirectory());

    asserter.assertConstant("\tRunning archive stage '<X/>'.",
        messages.getRunningArchiveStageX());
    asserter.assertConstant("Running archive stages...",
        messages.getRunningArchiveStages());
    asserter.assertConstant("\tRunning build stage '<X/>'.",
        messages.getRunningBuildStageX());
    asserter.assertConstant("Running build stages...",
        messages.getRunningBuildStages());
    asserter.assertConstant("\tRunning command '<X/>'.",
        messages.getRunningCommandX());
    asserter.assertConstant("Running commands...",
        messages.getRunningCommands());
    asserter.assertConstant("\tRunning facet '<X/>'.",
        messages.getRunningFacetX());
    asserter.assertConstant("Running facets...",
        messages.getRunningFacets());

    asserter.assertConstant("The download from the following url;",
        messages.getTheDownloadFromTheFollowingUrl());

    asserter.assertConstant("The following artifact;",
        messages.getTheFollowingArtifact());
    asserter.assertConstant("The following Fabricate Home should have only these jars;",
        messages.getTheFollowingFabricateHomeLibShouldHaveOnlyTheseJars());
    asserter.assertConstant("The following Fabricate library can NOT be found;",
        messages.getTheFollowingFabricateLibraryCanNotBeFound());
    asserter.assertConstant("The following list of Fabricate libraries contains a circular reference;",
        messages.getTheFollowingListOfFabricateLibrariesContainsACircularReference());
    asserter.assertConstant("The following local repository is locked by another process;",
        messages.getTheFollowingLocalRepositoryIsLockedByAnotherProcess());
    asserter.assertConstant("The following command line argument is required for command <X/>;",
        messages.getTheFollowingCommandLineArgumentIsRequiredForCommandX());
    asserter.assertConstant("The following command line argument was NOT provided for command <X/> using default '<Y/>';",
        messages.getTheFollowingCommandLineArgumentWasNotProvidedForCommandXUsingDefaultY());
    asserter.assertConstant("The following command line program exited abnormally with exit code <X/>;",
        messages.getTheFollowingCommandLineProgramExitedAbnormallyWithExitCodeX());
    asserter.assertConstant("The following routine implements <X/> but the RoutinePopulator's value is null.",
        messages.getTheFollowingRoutineImplementsXButTheRoutinesPopulatorValueIsNull());
    asserter.assertConstant("The following routine implements <X/>, however it's getClassType method returned"
        + " <Y/> class types instead of one.",
        messages.getTheFollowingRoutineImplementsXHoweverItsGetClassTypeMethodReturnedYClassTypesInsteadOfOne());
    asserter.assertConstant("The following routine implements <X/> however it's class type is null.",
        messages.getTheFollowingRoutineImplementsXHoweverItsClassTypeIsNull());

    asserter.assertConstant("The following dependencies version does NOT match the file name;",
        messages.getTheFollowingDependenciesVersionDoesNotMatchTheFileName());

    asserter.assertConstant("The following required file is missing;",
        messages.getTheFollowingRequiredFileIsMissing());
    asserter.assertConstant("The following remote repository appears to be down;",
        messages.getTheFollowingRemoteRepositoryAppearsToBeDown());
    asserter.assertConstant("The memory key '<X/>' has been locked by the following classes;",
        messages.getTheMemoryKeyXHasBeenLockedByTheFollowingClasses());

    asserter.assertConstant("There was a problem creating the following directory;",
        messages.getThereWasAProblemCreatingTheFollowingDirectory());
    asserter.assertConstant("There was a problem creating the following routine;",
        messages.getThereWasAProblemCreatingTheFollowingRoutine());
    asserter.assertConstant("There was a problem creating run.marker in the following directory;",
        messages.getThereWasAProblemCreatingRunMarkerInTheFollowingDirectory());
    asserter.assertConstant("There was a problem checking out version <X/> on the following project;",
        messages.getThereWasAProblemCheckingOutVersionXOnTheFollowingProject());
    asserter.assertConstant("There was a problem deleting the following directory;",
        messages.getThereWasAProblemDeletingTheFollowingDirectory());
    asserter.assertConstant("There was a problem updating the following project;",
        messages.getThereWasAProblemUpdatingTheFollowingProject());
    asserter.assertConstant("There was a problem verifying or downloading the following dependency;",
        messages.getThereWasAProblemVerifyingOrDownloadingTheFollowingDependency());
    asserter.assertConstant("This method must be called from the main thread (try moving the call to setup?).",
        messages.getThisMethodMustBeCalledFromTheMainThread());
    asserter.assertConstant("This version of Fabricate requires Git <X/> or greater, and 'git --version' "
        + "returned the following;",
        messages.getThisVersionOfFabricateRequiresGitXOrGreater());

    asserter.assertConstant("to the following folder;",
        messages.getToTheFollowingFolder());
    asserter.assertConstant("Trait <X/> is still running.",
        messages.getTraitXIsStillRunning());
    asserter.assertConstant("Trait <X/> is still running on project <Z/>.",
        messages.getTraitXIsStillRunningOnProjectZ());
    asserter.assertConstant("Trait <X/>, task <Y/> is still running.",
        messages.getTraitXTaskYIsStillRunning());
    asserter.assertConstant("Trait <X/>, task <Y/> is still running on project <Z/>.",
        messages.getTraitXTaskYIsStillRunningOnProjectZ());
    asserter.assertConstant("Trait <X/> is still setting up.",
        messages.getTraitXIsStillSettingUp());
    asserter.assertConstant("Type:",
        messages.getTypeColon());

    asserter.assertConstant("Sending opts to script.",
        messages.getSendingOptsToScript());
    asserter.assertConstant("Starting download from the following url;",
        messages.getStartingDownloadFromTheFollowingUrl());
    asserter.assertConstant("Starting git clone on project <X/>.",
        messages.getStartingGetCloneOnProjectX());
    asserter.assertConstant("Starting git pull on project <X/>.",
        messages.getStartingGetPullOnProjectX());
    asserter.assertConstant("Starting <X/> on project <Y/>.",
        messages.getStartingXOnProjectY());

    asserter.assertConstant("Unable to load the following class;",
        messages.getUnableToLoadTheFollowingClass());
    asserter.assertConstant("Using the following remote repositories;",
        messages.getUsingTheFollowingRemoteRepositories());

    asserter.assertConstant("Unknown",
        messages.getUnknown());
    asserter.assertConstant("Version <X/>.",
        messages.getVersionX());
    asserter.assertConstant("With the following generic type <X/>;",
        messages.getWithTheFollowingGenericTypeX());
    asserter.assertConstant("Version:",
        messages.getVersionColon());
    asserter.assertConstantsMatchMethods(SystemEnMessages.class);
  }

}


text:
inline void test_data(std::string const & txt_filename)
{
  grit::engine2d_type  engine;
  grit::param_type     parameters;

  std::string const full_filename =  util::get_data_file_path(txt_filename);

  BOOST_CHECK_NO_THROW( grit::init_engine_with_mesh_file(full_filename,parameters,engine) );

  {
    std::string const svg_filename = full_filename + ".svg";
    std::vector<unsigned int> labels;
    grit::compute_phase_labels(engine.mesh(), labels);
    for(unsigned int i=0u; i< labels.size();++i)
    {
      parameters.add_label(labels[i]);
    }
    glue::svg_draw(svg_filename, engine, parameters);
  }
}

BOOST_AUTO_TEST_SUITE(grit);

BOOST_AUTO_TEST_CASE(test_mesh_data_files)
{
  test_data( "circle.txt"                     );  // has an ear
  test_data( "crescent.txt"                   );  // has an ear
  test_data( "filled.txt"                     );  // has an ear
  test_data( "filled2.txt"                    );  // has an ear
  test_data( "filled3.txt"                    );  // has an ear
  test_data( "hollow_circle.txt"              );  // has an ear
  test_data( "JeppeSandbox.txt"               );  // has an ear
  test_data( "rectangle.txt"                  );  // has an ear
  test_data( "rectangle_refined.txt"          );  // has an ear
  test_data( "simple_rectangle.txt"           );  // has an ear, has triangles with negative orientation
  test_data( "smaller_circle.txt"             );  // has an ear
  test_data( "small_circle.txt"               );  // has an ear
  test_data( "small_circles.txt"              );  // has an ear
  test_data( "small_circle_larger_domain.txt" );  // has an ear
  test_data( "small_magnets.txt"              );  // has an ear
  test_data( "small_rectangle.txt"            );  // has an ear
  test_data( "small_rectangles.txt"           );  // has an ear
  test_data( "unit_coarse.txt"                );  // has an ear
  test_data( "circle_enright.txt"             );
  test_data( "horseshoe.txt"                  );
  test_data( "magnet.txt"                     );
  test_data( "refined_circle.txt"             );
  test_data( "unit_test.txt"                  );
  test_data( "zalesak.txt"                    );
  test_data( "two_rectangles.txt"             );
  test_data( "breast.msh"                     ); // has triangles with negative orientation
  test_data( "two_rectangles.msh"             );
}

BOOST_AUTO_TEST_SUITE_END();

redpajama_set_name: RedPajamaGithub


text:
  <form>
    <input ng-model="personToAdd.name" />
    <button ng-click="addPerson()">Submit</button>
  </form>

{{person.name}} -

{{person.entries}} entries

      <button  class="drawing" ng-click="addEntry()">+</button>

  <button ng-click="drawWinner()">Draw a winner</button>

    And the winner is: {{winner.name}}!


text:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.vicp.milim.ScheduledTask.zaixianwanjia.dao.IShopDao">
    <resultMap id="BaseResultMap" type="net.vicp.milim.ScheduledTask.zaixianwanjia.bean.domain.Shop">
        <id 	 column="id"                        jdbcType="BIGINT"        property="id" />
        <result  column="shop_no"                   jdbcType="VARCHAR"       property="shopNo"/>
        <result  column="shop_type"                 jdbcType="VARCHAR"       property="shopType"/>
        <result  column="shop_name"                 jdbcType="VARCHAR"       property="shopName"/>
        <result  column="telephone"                 jdbcType="VARCHAR"       property="telephone"/>
        <result  column="mobile_no"                 jdbcType="VARCHAR"       property="mobileNo"/>
        <result  column="pwd"                       jdbcType="VARCHAR"       property="pwd"/>
        <result  column="salt"                      jdbcType="VARCHAR"       property="salt"/>
        <result  column="logo_path"                 jdbcType="VARCHAR"       property="logoPath"/>
        <result  column="images_path"               jdbcType="VARCHAR"       property="imagesPath"/>
        <result  column="longitude"                 jdbcType="VARCHAR"       property="longitude"/>
        <result  column="latitude"                  jdbcType="VARCHAR"       property="latitude"/>
        <result  column="county"                    jdbcType="VARCHAR"       property="county"/>
        <result  column="province"                  jdbcType="VARCHAR"       property="province"/>
        <result  column="city"                      jdbcType="VARCHAR"       property="city"/>
        <result  column="address"                   jdbcType="VARCHAR"       property="address"/>
        <result  column="key_words"                 jdbcType="VARCHAR"       property="keyWords"/>
        <result  column="total_score"               jdbcType="INTEGER"       property="totalScore"/>
        <result  column="comment_num"               jdbcType="INTEGER"       property="commentNum"/>
        <result  column="total_sale"                jdbcType="INTEGER"       property="totalSale"/>
        <result  column="introduce"                 jdbcType="VARCHAR"       property="introduce"/>
        <result  column="status"                    jdbcType="VARCHAR"       property="status"/>
        <result  column="sort"                      jdbcType="INTEGER"       property="sort"/>
        <result  column="open_time"                 jdbcType="TIMESTAMP"     property="openTime"/>
        <result  column="close_time"                jdbcType="TIMESTAMP"     property="closeTime"/>
        <result  column="buy_time"                  jdbcType="VARCHAR"       property="buyTime"/>
        <result  column="remark"                    jdbcType="VARCHAR"       property="remark"/>
        <result  column="del_flag"                  jdbcType="INTEGER"       property="delFlag"/>
        <result  column="create_time"               jdbcType="TIMESTAMP"     property="createTime"/>
        <result  column="update_time"               jdbcType="TIMESTAMP"     property="updateTime"/>
    </resultMap>

    <sql id="Base_Column_List">
        id,shop_no,shop_type,shop_name,telephone,mobile_no,pwd,salt,logo_path,images_path,longitude,latitude,county,province,city,address,key_words,total_score,comment_num,total_sale,introduce,status,sort,open_time,close_time,buy_time,remark,del_flag,create_time,update_time
    </sql>

    <!-- 添加店铺表     @author 聂枫     @date 2016年07月22日 09时44分12秒     -->
    <insert id="addShop" parameterType="net.vicp.milim.ScheduledTask.zaixianwanjia.bean.domain.Shop" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
        insert into b_shop(
            shop_no,shop_type,shop_name,telephone,mobile_no,pwd,salt,logo_path,images_path,longitude,latitude,county,province,city,address,key_words,total_score,comment_num,total_sale,introduce,status,sort,open_time,close_time,buy_time,remark,del_flag,create_time,update_time
        )
        values(
            #{shopNo},#{shopType},#{shopName},#{telephone},#{mobileNo},#{pwd},#{salt},#{logoPath},#{imagesPath},#{longitude},#{latitude},#{county},#{province},#{city},#{address},#{keyWords},#{totalScore},#{commentNum},#{totalSale},#{introduce},#{status},#{sort},#{openTime},#{closeTime},#{buyTime},#{remark},#{delFlag},now(),now()
        )
    </insert>

    <!-- 修改店铺表     @author 聂枫     @date 2016年07月22日 09时44分12秒     -->
    <update id="updateShop" parameterType="net.vicp.milim.ScheduledTask.zaixianwanjia.bean.domain.Shop">
        update b_shop
        <set>
            <if test="shopType !=null and shopType != ''">
                shop_type = #{shopType},
            </if>
            <if test="shopName !=null and shopName != ''">
                shop_name = #{shopName},
            </if>
            <if test="telephone !=null and telephone != ''">
                telephone = #{telephone},
            </if>
            <if test="mobileNo !=null and mobileNo != ''">
                mobile_no = #{mobileNo},
            </if>
            <if test="pwd !=null and pwd != ''">
                pwd = #{pwd},
            </if>
            <if test="salt !=null and salt != ''">
                salt = #{salt},
            </if>
            <if test="logoPath !=null and logoPath != ''">
                logo_path = #{logoPath},
            </if>
            <if test="imagesPath !=null and imagesPath != ''">
                images_path = #{imagesPath},
            </if>
            <if test="longitude !=null and longitude != ''">
                longitude = #{longitude},
            </if>
            <if test="latitude !=null and latitude != ''">
                latitude = #{latitude},
            </if>
            <if test="county !=null and county != ''">
                county = #{county},
            </if>
            <if test="province !=null and province != ''">
                province = #{province},
            </if>
            <if test="city !=null and city != ''">
                city = #{city},
            </if>
            <if test="address !=null and address != ''">
                address = #{address},
            </if>
            <if test="keyWords !=null and keyWords != ''">
                key_words = #{keyWords},
            </if>
            <if test="totalScore !=null and totalScore != 0">
                total_score = #{totalScore},
            </if>
            <if test="commentNum !=null and commentNum != 0">
                comment_num = #{commentNum},
            </if>
            <if test="totalSale !=null and totalSale != 0">
                total_sale = #{totalSale},
            </if>
            <if test="introduce !=null and introduce != ''">
                introduce = #{introduce},
            </if>
            <if test="status !=null and status != ''">
                status = #{status},
            </if>
            <if test="sort !=null and sort != 0">
                sort = #{sort},
            </if>
            <if test="openTime !=null and openTime != ''">
                open_time = #{openTime},
            </if>
            <if test="closeTime !=null and closeTime != ''">
                close_time = #{closeTime},
            </if>
            <if test="buyTime !=null and buyTime != ''">
                buy_time = #{buyTime},
            </if>
            <if test="remark !=null and remark != ''">
                remark = #{remark},
            </if>
            <if test="delFlag !=null and delFlag != 0">
                del_flag = #{delFlag},
            </if>
            update_time = now()
            where shop_no = #{shopNo}
        </set>
    </update>

    <!-- 查询店铺表     @author 聂枫     @date 2016年07月22日 09时44分12秒     -->
    <select id="queryShopByShopNo" parameterType="java.lang.String" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from b_shop
        where shop_no = #{shopNo}
    </select>

    <!-- 分页查询店铺表数量统计 -->
    <select id="queryShopCountByCondition"  parameterType="net.vicp.milim.ScheduledTask.zaixianwanjia.bean.param.ShopParam" resultType="java.lang.Long">
        select count(1)
        from b_shop
        left join b_menu on b_menu.menu_no = b_shop.shop_type
        <include refid="sqlWhere"/>
    </select>

    <!-- 分页查询店铺表 -->
    <select id="queryShopByCondition"  parameterType="net.vicp.milim.ScheduledTask.zaixianwanjia.bean.param.ShopParam" resultMap="BaseResultMap">
        select
        	b_shop.id,
        	b_shop.shop_no shopNo,
        	b_shop.shop_type shopType,
        	b_menu.name shopTypeName,
        	b_shop.shop_name shopName,
        	b_shop.telephone,
        	b_shop.mobile_no mobileNo,
        	b_shop.pwd,
        	b_shop.salt,
        	b_shop.logo_path logoPath,
        	b_shop.images_path imagesPath,
        	b_shop.longitude,
        	b_shop.latitude,
        	b_shop.county,
        	b_shop.province,
        	b_shop.city,
        	b_shop.address,
        	b_shop.key_words keyWords,
        	b_shop.total_score totalScore,
        	b_shop.comment_num commentNum,
        	b_shop.total_sale totalSale,
        	b_shop.introduce,
        	b_shop.status,
        	b_shop.sort,
        	b_shop.open_time openTime,
        	b_shop.close_time closeTime,
        	b_shop.buy_time buyTime,
        	b_shop.remark,
        	b_shop.del_flag delFlag,
        	b_shop.create_time createTime,
        	b_shop.update_time updateTime
        from b_shop
        left join b_menu on b_menu.menu_no = b_shop.shop_type
        <include refid="sqlWhere"/>
        order by b_shop.sort desc,b_shop.update_time desc
        limit #{start},#{limit}
    </select>

    <!-- 分页查询   查询条件 -->
    <sql id="sqlWhere">
        <where>
            1=1
            <if test="shopType !=null and shopType != ''">
                and  b_shop.shop_type = #{shopType}
            </if>
            <if test="shopName !=null and shopName != ''">
                and  b_shop.shop_name like CONCAT(CONCAT('%', #{shopName}), '%')
            </if>
             <if test="shopNo !=null and shopNo != ''">
                and  b_shop.shop_no like CONCAT(CONCAT('%', #{shopNo}), '%')
            </if>
            <if test="telephone !=null and telephone != ''">
                and  b_shop.telephone  like CONCAT(CONCAT('%', #{telephone}), '%')
            </if>
            <if test="mobileNo !=null and mobileNo != ''">
                and  b_shop.mobile_no  like CONCAT(CONCAT('%', #{mobileNo}), '%')
            </if>
            <if test="pwd !=null and pwd != ''">
                and  b_shop.pwd = #{pwd}
            </if>
            <if test="salt !=null and salt != ''">
                and  b_shop.salt = #{salt}
            </if>
            <if test="logoPath !=null and logoPath != ''">
                and  b_shop.logo_path = #{logoPath}
            </if>
            <if test="imagesPath !=null and imagesPath != ''">
                and  b_shop.images_path = #{imagesPath}
            </if>
            <if test="longitude !=null and longitude != ''">
                and  b_shop.longitude = #{longitude}
            </if>
            <if test="latitude !=null and latitude != ''">
                and  b_shop.latitude = #{latitude}
            </if>
            <if test="county !=null and county != ''">
                and  b_shop.county = #{county}
            </if>
            <if test="province !=null and province != ''">
                and  b_shop.province = #{province}
            </if>
            <if test="city !=null and city != ''">
                and  b_shop.city = #{city}
            </if>
            <if test="address !=null and address != ''">
                and  b_shop.address = #{address}
            </if>
            <if test="keyWords !=null and keyWords != ''">
                and  b_shop.key_words = #{keyWords}
            </if>
            <if test="totalScore !=null and totalScore != 0">
                and  b_shop.total_score = #{totalScore}
            </if>
            <if test="commentNum !=null and commentNum != 0">
                and  b_shop.comment_num = #{commentNum}
            </if>
            <if test="totalSale !=null and totalSale != 0">
                and  b_shop.total_sale = #{totalSale}
            </if>
            <if test="introduce !=null and introduce != ''">
                and  b_shop.introduce = #{introduce}
            </if>
            <if test="status !=null and status != ''">
                and  b_shop.status = #{status}
            </if>
            <if test="sort !=null and sort != 0">
                and  b_shop.sort = #{sort}
            </if>
            <if test="openTime !=null and openTime != ''">
                and  b_shop.open_time = #{openTime}
            </if>
            <if test="closeTime !=null and closeTime != ''">
                and  b_shop.close_time = #{closeTime}
            </if>
            <if test="buyTime !=null and buyTime != ''">
                and  b_shop.buy_time = #{buyTime}
            </if>
            <if test="remark !=null and remark != ''">
                and  b_shop.remark = #{remark}
            </if>
            <if test="delFlag !=null and delFlag != 0">
                and  b_shop.del_flag = #{delFlag}
            </if>
        </where>
    </sql>

	<!-- 毛龙飞   关键字搜索 -->

	<!-- 分页查询店铺表数量统计 -->
    <select id="queryShopCountByKeyword"  parameterType="net.vicp.milim.ScheduledTask.zaixianwanjia.bean.param.ShopParam" resultType="java.lang.Long">
        select count(1)
        from b_shop
        <include refid="sqlOrLikeWhere"/>
    </select>

    <!-- 分页查询店铺表 -->
    <select id="queryShopByKeyword"  parameterType="net.vicp.milim.ScheduledTask.zaixianwanjia.bean.param.ShopParam" resultMap="BaseResultMap">
        select <include refid="Base_Column_List"/>
        from b_shop
        <include refid="sqlOrLikeWhere"/>
        order by sort desc, update_time desc
        limit #{start},#{limit}
    </select>

    <sql id="sqlOrLikeWhere">
        <where>
            1!=1
            <if test="shopName !=null and shopName != ''">
                or  shop_name like CONCAT(CONCAT('%', #{shopName}), '%')
            </if>
            <if test="county !=null and county != ''">
                or  county = #{county}
            </if>
            <if test="province !=null and province != ''">
                or  province = #{province}
            </if>
            <if test="city !=null and city != ''">
                or  city = #{city}
            </if>
            <if test="address !=null and address != ''">
                or  address like CONCAT(CONCAT('%', #{address}), '%')
            </if>
            <if test="keyWords !=null and keyWords != ''">
                or  key_words like CONCAT(CONCAT('%', #{keyWords}), '%')
            </if>

            <if test="introduce !=null and introduce != ''">
                or  introduce like CONCAT(CONCAT('%', #{introduce}), '%')
            </if>

        </where>
    </sql>

</mapper>


text:
package com.thoughtworks.go.config.update;

import com.thoughtworks.go.config.*;
import com.thoughtworks.go.config.commands.EntityConfigUpdateCommand;
import com.thoughtworks.go.domain.config.ConfigurationProperty;
import com.thoughtworks.go.i18n.LocalizedMessage;
import com.thoughtworks.go.plugin.access.PluginNotFoundException;
import com.thoughtworks.go.plugin.access.authorization.AuthorizationExtension;
import com.thoughtworks.go.plugin.api.response.validation.ValidationError;
import com.thoughtworks.go.plugin.api.response.validation.ValidationResult;
import com.thoughtworks.go.server.domain.Username;
import com.thoughtworks.go.server.service.GoConfigService;
import com.thoughtworks.go.server.service.RoleNotFoundException;
import com.thoughtworks.go.server.service.result.LocalizedOperationResult;
import com.thoughtworks.go.serverhealth.HealthStateType;

import static com.thoughtworks.go.util.StringUtil.isBlank;

abstract class RoleConfigCommand implements EntityConfigUpdateCommand<Role> {
    protected final GoConfigService goConfigService;
    private AuthorizationExtension extension;
    protected final Role role;
    protected final Username currentUser;
    protected final LocalizedOperationResult result;
    protected Role preprocessedRole;

    public RoleConfigCommand(GoConfigService goConfigService, Role role, AuthorizationExtension extension, Username currentUser, LocalizedOperationResult result) {
        this.goConfigService = goConfigService;
        this.extension = extension;
        this.role = role;
        this.currentUser = currentUser;
        this.result = result;
    }

    @Override
    public void clearErrors() {
        BasicCruiseConfig.clearErrors(role);
    }

    @Override
    public Role getPreprocessedEntityConfig() {
        return preprocessedRole;
    }

    @Override
    public boolean canContinue(CruiseConfig cruiseConfig) {
        return isAuthorized();
    }

    protected boolean isValidForCreateOrUpdate(CruiseConfig preprocessedConfig) {
        preprocessedRole = findExistingRole(preprocessedConfig);
        preprocessedRole.validate(null);
        validate(preprocessedConfig);

        if (preprocessedRole.errors().isEmpty()) {
            preprocessedConfig.server().security().getRoles().validate(null);
            BasicCruiseConfig.copyErrors(preprocessedRole, role);
            return preprocessedRole.getAllErrors().isEmpty() && role.errors().isEmpty();
        }

        BasicCruiseConfig.copyErrors(preprocessedRole, role);
        return false;
    }

    private void validate(CruiseConfig preprocessedConfig) {
        if (role instanceof PluginRoleConfig) {
            PluginRoleConfig role = (PluginRoleConfig) this.role;
            PluginRoleConfig preprocessedRole = (PluginRoleConfig) this.preprocessedRole;

            SecurityAuthConfig securityAuthConfig = preprocessedConfig.server().security().securityAuthConfigs().find(role.getAuthConfigId());
            if (securityAuthConfig == null) {
                role.addError("authConfigId", "No such security auth configuration present " + role.getAuthConfigId());
                return;
            }
            try {
                ValidationResult result = extension.validateRoleConfiguration(securityAuthConfig.getPluginId(), role.getConfigurationAsMap(true));
                if (!result.isSuccessful()) {
                    for (ValidationError validationError : result.getErrors()) {
                        ConfigurationProperty property = preprocessedRole.getProperty(validationError.getKey());
                        if (property == null) {
                            role.addNewConfiguration(validationError.getKey(), false);
                            preprocessedRole.addNewConfiguration(validationError.getKey(), false);
                            property = preprocessedRole.getProperty(validationError.getKey());
                        }
                        property.addError(validationError.getKey(), validationError.getMessage());

                    }
                }
            } catch (PluginNotFoundException e) {
                role.addError("authConfigId", "Could not find a security authorization config with id '" + role.getAuthConfigId() + "'.");
            }
        }
    }

    final Role findExistingRole(CruiseConfig cruiseConfig) {
        if (role == null || isBlank(role.getName().toString())) {
            if (role != null) {
                role.addError("name", "Plugin role config cannot have a blank name.");
            }
            result.unprocessableEntity(LocalizedMessage.string("ENTITY_ATTRIBUTE_NULL", "plugin role config", "name"));
            throw new IllegalArgumentException("Plugin role config name cannot be null.");
        } else {
            Role t = cruiseConfig.server().security().getRoles().findByName(role.getName());
            if (t == null) {
                result.notFound(LocalizedMessage.string("RESOURCE_NOT_FOUND", getTagName(), role.getName()), HealthStateType.notFound());
                throw new RoleNotFoundException("Plugin role config `" + role.getName() + "` does not exist.");
            }
            return t;
        }
    }

    private String getTagName() {
        return role.getClass().getAnnotation(ConfigTag.class).value();
    }

    protected final boolean isAuthorized() {
        if (goConfigService.isUserAdmin(currentUser)) {
            return true;
        }
        result.unauthorized(LocalizedMessage.string("UNAUTHORIZED_TO_EDIT"), HealthStateType.unauthorised());
        return false;
    }

}


text:
<?xml version="1.0" ?>
<tei>
	<teiHeader>
		<fileDesc xml:id="55009209"/>
	</teiHeader>
	<text xml:lang="en">
		<front>
<lb/>
	<note type="copyright">© XXXX American Chemical Society<lb/></note>

	<note type="page">A<lb/></note>

	<idno>dx.doi.org/10.1021/jo201492m</idno>

	<note type="other">| J. Org. Chem. XXXX, XXX, 000–000<lb/> ARTICLE<lb/> pubs.acs.org/joc<lb/></note>

	<docTitle>
	<titlePart>Synthesis of Diastereomerically Pure Nucleotide Phosphoramidates<lb/></titlePart>
	</docTitle>

	<byline>
	<docAuthor>Bruce S. Ross,* P. Ganapati Reddy, Hai-Ren Zhang, Suguna Rachakonda, and Michael J. Sofia<lb/></docAuthor>
	</byline>

	<byline>
	<affiliation>Pharmasset, Inc., </affiliation>
	</byline>

	<address>303A College Road East, Princeton, New Jersey 08540, United States<lb/></address>

	<note type="other">b S Supporting Information<lb/> '</note>

		</front>
	</text>
</tei>


text:
Median Gross Rent

### Why is this important?
The median gross rent is one of only a few commonly-available indicators of the changing cost of renting in neighborhoods. Significant upward shifts in value can reflect neighborhood housing market pressures that can adversely affect low income renting households.

### About the Data
The median gross rent is at the midpoint of all rent costs for each neighborhood. Half of the rental units in this Census tract cost more and half cost less. Gross rent includes the contract rent plus estimated monthly costs of utilities and heating fuels if these are paid for by the renter (ACS).

Source: American Community Survey (ACS).
### Additional Resources

|Resource | Learn More and Take Action |
|:--- | :--- |
|[American Community Survey (ACS)](https://www.census.gov/programs-surveys/acs/) | A primary source of neighborhood-level data for the whole country, provided by the US Census Bureau.


text:
class encode{
public:
	encode(int _SPEEX_NB_MODES);
	~encode();

	int encoded(char * inbuf, int framelen, char * outbuf, int outbuflen);
	int decoded(char * inbuf, int framelen, char * outbuf, int outbuflen);

	int getframesize();

private:
	SpeexBits encbits;
	void * encstate;

	SpeexBits decbits;
	void * decstate;

};


text:
#ifndef ALINOUS_HTML_XPATH_XPATHPARSER_H_
#define ALINOUS_HTML_XPATH_XPATHPARSER_H_
namespace alinous{namespace annotation{
class HeaderOnly;
}}
namespace alinous {namespace html {namespace xpath {
class IXpathElement;}}}

namespace java {namespace lang {
class IObject;
}}

namespace alinous {
class ThreadContext;
}

namespace alinous {namespace html {namespace xpath {

using namespace ::alinous;
using namespace ::java::lang;
using ::java::util::Iterator;

class XPathParser final : public IXpathElement, public virtual IObject {
public:
	XPathParser(const XPathParser& base) = default;
public:
	XPathParser(ThreadContext* ctx) throw() ;
	void __construct_impl(ThreadContext* ctx) throw() ;
	virtual ~XPathParser() throw();
	virtual void __releaseRegerences(bool prepare, ThreadContext* ctx) throw();
public:
	static bool __init_done;
	static bool __init_static_variables();
public:
	static void __cleanUp(ThreadContext* ctx);
};

}}}

#endif /* end of ALINOUS_HTML_XPATH_XPATHPARSER_H_ */


text:
package com.manning.androidhacks.hack026;

import com.manning.androidhacks.hack026.R;

import android.app.Activity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class SectionAdapter extends ArrayAdapter<String> {

  private Activity activity;

  public SectionAdapter(Activity activity, String[] objects) {
    super(activity, R.layout.list_item, R.id.label, objects);
    this.activity = activity;
  }

  @Override
  public View getView(int position, View view, ViewGroup parent) {
    if (view == null) {
      view = activity.getLayoutInflater().inflate(R.layout.list_item,
          parent, false);
    }
    TextView header = (TextView) view.findViewById(R.id.header);
    String label = getItem(position);
    if (position == 0
        || getItem(position - 1).charAt(0) != label.charAt(0)) {
      header.setVisibility(View.VISIBLE);
      header.setText(label.substring(0, 1));
    } else {
      header.setVisibility(View.GONE);
    }
    return super.getView(position, view, parent);
  }
}


text:
import {
  ComponentFixture,
  TestBed,
  fakeAsync,
  tick,
} from '@angular/core/testing';
import { expect, expectAsync } from '@skyux-sdk/testing';
import {
  SkyTheme,
  SkyThemeMode,
  SkyThemeService,
  SkyThemeSettings,
  SkyThemeSettingsChange,
} from '@skyux/theme';

import { BehaviorSubject, Subject } from 'rxjs';

import { SkyProgressIndicatorProgressHandlerFixtureComponent } from './fixtures/progress-indicator-progress-handler.component.fixture';
import { SkyProgressIndicatorFixtureComponent } from './fixtures/progress-indicator.component.fixture';
import { SkyProgressIndicatorFixtureModule } from './fixtures/progress-indicator.module.fixture';
import { SkyProgressIndicatorNavButtonComponent } from './progress-indicator-nav-button/progress-indicator-nav-button.component';
import { SkyProgressIndicatorComponent } from './progress-indicator.component';
import { SkyProgressIndicatorDisplayModeType } from './types/progress-indicator-display-mode-type';
import { SkyProgressIndicatorItemStatus } from './types/progress-indicator-item-status';
import { SkyProgressIndicatorMessageType } from './types/progress-indicator-message-type';
import { SkyProgressIndicatorDisplayMode } from './types/progress-indicator-mode';
import { SkyProgressIndicatorNavButtonType } from './types/progress-indicator-nav-button-type';

describe('Progress indicator component', () => {
  let fixture: ComponentFixture<SkyProgressIndicatorFixtureComponent>;
  let componentInstance: SkyProgressIndicatorFixtureComponent;
  let progressIndicator: SkyProgressIndicatorComponent;
  let consoleWarnSpy: jasmine.Spy;
  let mockThemeSvc: {
    settingsChange: BehaviorSubject<SkyThemeSettingsChange>;
  };

  function detectChanges(): void {
    fixture.detectChanges();
    tick();
    fixture.detectChanges();
    tick();
  }

  function validatePassive(expected: boolean): void {
    const el = fixture.nativeElement;

    expect(!!el.querySelector('.sky-progress-indicator-passive')).toBe(
      expected
    );
  }

  function stepBackward(): void {
    componentInstance.sendMessage({
      type: SkyProgressIndicatorMessageType.Regress,
    });
    detectChanges();
  }

  function stepForward(): void {
    componentInstance.sendMessage({
      type: SkyProgressIndicatorMessageType.Progress,
    });
    detectChanges();
  }

  function gotoStep(index?: number): void {
    componentInstance.sendMessage({
      type: SkyProgressIndicatorMessageType.GoTo,
      data: {
        activeIndex: index,
      },
    });
    detectChanges();
  }

  function verifyItemStatuses(
    statuses: SkyProgressIndicatorItemStatus[]
  ): void {
    expect(statuses.length).toBe(
      componentInstance.progressItems?.length as number
    );
    componentInstance.progressItems?.forEach((item, i) => {
      expect(item.status).toEqual(statuses[i]);
    });
  }

  function verifyActiveIndex(index: number): void {
    expect(componentInstance.lastChange?.activeIndex).toEqual(index);
  }

  function getNavButtonElement(
    type: SkyProgressIndicatorNavButtonType
  ): HTMLButtonElement {
    return fixture.nativeElement.querySelector(
      `.progress-indicator-fixture-external-nav-buttons .sky-progress-indicator-nav-button-${type}`
    );
  }

  function getStepHeadingElements(): NodeList {
    return fixture.nativeElement.querySelectorAll(
      '.sky-progress-indicator-item-heading'
    );
  }

  beforeEach(() => {
    mockThemeSvc = {
      settingsChange: new BehaviorSubject<SkyThemeSettingsChange>({
        currentSettings: new SkyThemeSettings(
          SkyTheme.presets.default,
          SkyThemeMode.presets.light
        ),
        previousSettings: undefined,
      }),
    };

    TestBed.configureTestingModule({
      imports: [SkyProgressIndicatorFixtureModule],
      providers: [
        {
          provide: SkyThemeService,
          useValue: mockThemeSvc,
        },
      ],
    });

    fixture = TestBed.createComponent(SkyProgressIndicatorFixtureComponent);
    componentInstance = fixture.componentInstance;
    progressIndicator =
      componentInstance.progressIndicator as SkyProgressIndicatorComponent;

    consoleWarnSpy = spyOn(console, 'warn');
  });

  it('should set defaults', fakeAsync(() => {
    detectChanges();

    expect(progressIndicator.displayMode).toEqual('vertical');
    expect(progressIndicator.isPassive).toBeFalsy();
    expect(progressIndicator.startingIndex).toEqual(0);
  }));

  it('should emit progress changes initially', fakeAsync(() => {
    const spy = spyOn(componentInstance, 'onProgressChanges').and.callThrough();

    detectChanges();

    expect(spy).toHaveBeenCalled();
  }));

  it('should use horizontal display if set', fakeAsync(() => {
    function validate(displayMode: SkyProgressIndicatorDisplayModeType): void {
      componentInstance.displayMode = displayMode;

      detectChanges();

      const element = fixture.nativeElement;

      expect(
        element.querySelector(
          '.sky-progress-indicator-horizontal-status-markers'
        )
      ).toBeTruthy();
      expect(
        element.querySelector(
          '.sky-progress-indicator-item .sky-progress-indicator-status-marker'
        )
      ).toBeFalsy();
    }

    validate(SkyProgressIndicatorDisplayMode.Horizontal);
    validate('horizontal');
  }));

  it('should use starting index if set', fakeAsync(() => {
    componentInstance.startingIndex = 2;

    detectChanges();

    // Verify that the desired index is set to Active,
    // and all previous steps are set to Complete.
    verifyActiveIndex(2);
    verifyItemStatuses([
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Active,
    ]);
  }));

  it('should show step number in heading', fakeAsync(() => {
    function validate(displayMode: SkyProgressIndicatorDisplayModeType): void {
      componentInstance.displayMode = displayMode;

      detectChanges();

      const stepHeadingElements = getStepHeadingElements();
      const headingElement = stepHeadingElements.item(0);

      expect(headingElement?.textContent?.trim()).toEqual(
        '1 - Do the first thing'
      );
    }

    validate(SkyProgressIndicatorDisplayMode.Vertical);
    validate('vertical');
  }));

  it('should handle empty progress indicator', fakeAsync(() => {
    expect(componentInstance.emptyProgressIndicator?.itemStatuses).toEqual([]);
  }));

  it('should handle dynamic steps being added and removed', async () => {
    componentInstance.startingIndex = 2;

    fixture.detectChanges();
    await fixture.whenStable();
    // Verify that the desired index is set to Active,
    // and all previous steps are set to Complete.
    verifyActiveIndex(2);
    verifyItemStatuses([
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Active,
    ]);

    componentInstance.displayFourthItem();

    fixture.detectChanges();
    await fixture.whenStable();
    fixture.detectChanges();

    // Verify that the desired index is set to Active,
    // and all previous steps are set to Complete.
    verifyActiveIndex(2);
    verifyItemStatuses([
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Active,
      SkyProgressIndicatorItemStatus.Incomplete,
    ]);

    componentInstance.sendMessage({
      type: SkyProgressIndicatorMessageType.Progress,
    });

    fixture.detectChanges();
    await fixture.whenStable();
    // Verify that the desired index is set to Active,
    // and all previous steps are set to Complete.
    verifyActiveIndex(3);
    verifyItemStatuses([
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Active,
    ]);
  });

  it('should handle an index which is past the number of items', async () => {
    componentInstance.startingIndex = 3;
    componentInstance.displayFourthItem();

    fixture.detectChanges();
    await fixture.whenStable();
    fixture.detectChanges();

    // Verify that the desired index is set to Active,
    // and all previous steps are set to Complete.
    verifyActiveIndex(3);
    verifyItemStatuses([
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Active,
    ]);

    componentInstance.hideFourthItem();
    fixture.detectChanges();
    await fixture.whenStable();
    // Verify that the desired index is set to Active,
    // and all previous steps are set to Complete.
    verifyActiveIndex(2);
    verifyItemStatuses([
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Complete,
      SkyProgressIndicatorItemStatus.Active,
    ]);
  });

  describe('Passive mode', () => {
    beforeEach(() => {
      componentInstance.isPassive = true;
    });

    it('should use passive mode if set', fakeAsync(() => {
      detectChanges();

      validatePassive(true);
    }));

    it('should set active step to Pending instead of Active', fakeAsync(() => {
      detectChanges();

      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Pending,
        SkyProgressIndicatorItemStatus.Incomplete,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);
    }));

    it('should hide the step number in the heading', fakeAsync(() => {
      detectChanges();

      const stepHeadingElements = getStepHeadingElements();
      const headingElement = stepHeadingElements.item(0);

      expect(headingElement?.textContent?.trim()).toEqual('Do the first thing');
    }));

    it('should not use passive mode if set for horizontal display', fakeAsync(() => {
      componentInstance.displayMode = 'horizontal';

      detectChanges();

      validatePassive(false);
    }));
  });

  describe('Message stream', () => {
    it('should navigate through the steps', fakeAsync(() => {
      detectChanges();

      verifyActiveIndex(0);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);

      stepForward();

      verifyActiveIndex(1);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);

      stepBackward();

      verifyActiveIndex(0);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);
    }));

    it('should not progress past final step', fakeAsync(() => {
      detectChanges();

      stepForward();
      stepForward();
      stepForward();

      verifyActiveIndex(2);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Active,
      ]);

      stepForward();

      verifyActiveIndex(2);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Active,
      ]);
    }));

    it('should not regress before first step', fakeAsync(() => {
      detectChanges();

      verifyActiveIndex(0);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);

      stepBackward();

      verifyActiveIndex(0);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);
    }));

    it('should reset progress', fakeAsync(() => {
      componentInstance.startingIndex = 2;

      detectChanges();

      verifyActiveIndex(2);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Active,
      ]);

      componentInstance.sendMessage({
        type: SkyProgressIndicatorMessageType.Reset,
      });

      detectChanges();

      verifyActiveIndex(0);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);
    }));

    it('should goto a specific step', fakeAsync(() => {
      detectChanges();

      gotoStep(1);

      verifyActiveIndex(1);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);
    }));

    it('should handle out-of-range indexes', fakeAsync(() => {
      detectChanges();

      gotoStep(100);

      verifyActiveIndex(2);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Active,
      ]);

      gotoStep(-20);

      verifyActiveIndex(0);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);
    }));

    it('should warn when goto is called without an active index', fakeAsync(() => {
      detectChanges();

      gotoStep(undefined);

      expect(consoleWarnSpy).toHaveBeenCalled();
    }));

    it('should finish all steps', fakeAsync(() => {
      detectChanges();

      const spy = spyOn(
        componentInstance,
        'onProgressChanges'
      ).and.callThrough();

      componentInstance.sendMessage({
        type: SkyProgressIndicatorMessageType.Finish,
      });

      detectChanges();

      verifyActiveIndex(2);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Complete,
      ]);

      expect(spy).toHaveBeenCalledWith({
        activeIndex: 2,
        isComplete: true,
        itemStatuses: [
          SkyProgressIndicatorItemStatus.Complete,
          SkyProgressIndicatorItemStatus.Complete,
          SkyProgressIndicatorItemStatus.Complete,
        ],
      });
    }));

    it('should handle undefined message types', fakeAsync(() => {
      detectChanges();

      componentInstance.sendMessage({
        type: 1000,
      });

      expect(detectChanges).not.toThrowError();
    }));

    it('should unsubscribe to previous message stream when unassigned', async () => {
      fixture.detectChanges();
      await fixture.whenStable();

      expect(componentInstance.messageStream?.observers.length).toBe(1);

      const previousStream = componentInstance.messageStream;
      componentInstance.messageStream = undefined;

      fixture.detectChanges();
      await fixture.whenStable();

      expect(previousStream?.observers.length).toBe(0);
    });

    it('should subscribe to a new message stream when reassigned', async () => {
      fixture.detectChanges();
      await fixture.whenStable();

      componentInstance.messageStream = new Subject();

      fixture.detectChanges();
      await fixture.whenStable();

      expect(componentInstance.messageStream.observers.length).toBe(1);
    });
  });

  describe('Navigation buttons', () => {
    beforeEach(() => {
      componentInstance.showNavButtons = true;
      componentInstance.defaultNavButtonProgressIndicatorRef =
        componentInstance.progressIndicator;
    });

    it('should set defaults', fakeAsync(() => {
      detectChanges();

      const defaultButtonComponent =
        componentInstance.defaultNavButtonComponent;
      const defaultButtonElement =
        componentInstance.defaultNavButtonElement?.nativeElement;

      expect(defaultButtonComponent?.buttonType).toEqual('next');
      expect(defaultButtonElement.textContent).toContain('Next');

      let buttonElement = getNavButtonElement('previous');
      expect(buttonElement.textContent).toContain('Previous');

      buttonElement = getNavButtonElement('next');
      expect(buttonElement.textContent).toContain('Next');

      buttonElement = getNavButtonElement('reset');
      expect(buttonElement.textContent).toContain('Reset');

      // Show finish button.
      gotoStep(4);

      detectChanges();

      buttonElement = getNavButtonElement('finish');
      expect(buttonElement.textContent).toContain('Finish');
    }));

    it('should navigate between the steps', fakeAsync(() => {
      detectChanges();

      verifyActiveIndex(0);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);

      const previousButtonElement = getNavButtonElement('previous');
      const nextButtonElement = getNavButtonElement('next');

      nextButtonElement.click();
      detectChanges();

      verifyActiveIndex(1);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);

      previousButtonElement.click();
      detectChanges();

      verifyActiveIndex(0);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);

      gotoStep(4);
      detectChanges();

      verifyActiveIndex(2);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Active,
      ]);

      const finishButtonElement = getNavButtonElement('finish');
      finishButtonElement.click();

      detectChanges();

      verifyActiveIndex(2);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Complete,
      ]);
    }));

    it('should reset the steps', fakeAsync(() => {
      detectChanges();

      gotoStep(1);
      detectChanges();

      verifyActiveIndex(1);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);

      const resetButton = fixture.nativeElement.querySelector(
        '.progress-indicator-fixture-internal-nav-button button'
      );

      resetButton.click();
      detectChanges();

      verifyActiveIndex(0);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);
    }));

    it('should do nothing if buttonType unrecognized', fakeAsync(() => {
      detectChanges();

      verifyActiveIndex(0);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);

      const defaultButtonComponent =
        componentInstance.defaultNavButtonComponent as SkyProgressIndicatorNavButtonComponent;
      const defaultButtonElement =
        componentInstance.defaultNavButtonElement?.nativeElement.querySelector(
          'button'
        );

      const clickSpy = spyOn(
        defaultButtonComponent,
        'onClick'
      ).and.callThrough();

      defaultButtonComponent.buttonType = 'foobar' as never;

      defaultButtonElement.click();
      detectChanges();

      expect(clickSpy).toHaveBeenCalled();
      verifyActiveIndex(0);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);
    }));

    it('should hide the next button and show the finish button on the last step', fakeAsync(() => {
      detectChanges();

      let nextButtonElement = getNavButtonElement('next');
      let finishButtonElement = getNavButtonElement('finish');

      expect(nextButtonElement).toBeTruthy();
      expect(finishButtonElement).toBeFalsy();

      gotoStep(2);
      detectChanges();

      nextButtonElement = getNavButtonElement('next');
      finishButtonElement = getNavButtonElement('finish');

      expect(nextButtonElement).toBeFalsy();
      expect(finishButtonElement).toBeTruthy();
    }));

    it('should not hide the next button if the finish button does not exist', fakeAsync(() => {
      // Create a custom button config that does not include a finish button.
      componentInstance.buttonConfigs = [
        {
          type: 'previous',
        },
        {
          type: 'next',
        },
      ];

      detectChanges();

      let nextButtonElement = getNavButtonElement('next');

      expect(nextButtonElement).toBeTruthy();

      gotoStep(2);
      detectChanges();

      nextButtonElement = getNavButtonElement('next');

      expect(nextButtonElement).toBeTruthy();
      expect(nextButtonElement.disabled).toBeTruthy();
    }));

    it('should default to next if button type is undefined', fakeAsync(() => {
      // Create a custom button config that does not include a finish button.
      componentInstance.buttonConfigs = [
        {
          type: undefined,
        },
      ];

      detectChanges();

      const nextButtonElement = getNavButtonElement('next');

      expect(nextButtonElement).toBeTruthy();
    }));

    it('should throw error if progress indicator not set as an input', fakeAsync(() => {
      componentInstance.defaultNavButtonProgressIndicatorRef = undefined;

      detectChanges();
      expect(() => {
        tick(100);
      }).toThrowError();
      /**
       * Note: I'm not sure why this second expectation is needed but without it the test yells
       * that a timer is still in the queue even though debugging only shows the timeout hitting
       * once and in manual testing the error is only thrown once
       */
      expect(() => {
        tick(100);
      }).toThrowError();
    }));
  });

  describe('Progress handler', () => {
    const finishButtonSelector =
      '[data-test-selector="finish-button"] .sky-btn';

    let handlerFixture: ComponentFixture<SkyProgressIndicatorProgressHandlerFixtureComponent>;

    beforeEach(() => {
      handlerFixture = TestBed.createComponent(
        SkyProgressIndicatorProgressHandlerFixtureComponent
      );
    });

    it('should allow consumers to manually advance each step', fakeAsync(() => {
      const component = handlerFixture.componentInstance;

      handlerFixture.detectChanges();
      tick();
      handlerFixture.detectChanges();
      tick();

      expect(component.isLoading).toEqual(false);

      component.sendMessage({
        type: SkyProgressIndicatorMessageType.GoTo,
        data: {
          activeIndex: 3,
        },
      });

      handlerFixture.detectChanges();
      tick();

      let button =
        handlerFixture.nativeElement.querySelector(finishButtonSelector);
      button.click();

      expect(component.isLoading).toEqual(true);

      handlerFixture.detectChanges();
      tick();
      handlerFixture.detectChanges();
      tick();

      button = handlerFixture.nativeElement.querySelector(finishButtonSelector);

      expect(button).toBeFalsy();
      expect(component.isLoading).toEqual(false);
    }));
  });

  describe('Accessibility', () => {
    it('should be accessible', async () => {
      fixture.detectChanges();
      await fixture.whenStable();
      await expectAsync(fixture.nativeElement).toBeAccessible();
    });

    it('should be accessible in horizontal mode', async () => {
      componentInstance.displayMode = 'horizontal';
      fixture.detectChanges();
      await fixture.whenStable();
      await expectAsync(fixture.nativeElement).toBeAccessible();
    });

    it('should be accessible in passive mode', async () => {
      componentInstance.isPassive = true;
      fixture.detectChanges();
      await fixture.whenStable();
      await expectAsync(fixture.nativeElement).toBeAccessible();
    });

    it('should be accessible with disabled buttons', async () => {
      componentInstance.disabled = true;
      fixture.detectChanges();
      await fixture.whenStable();
      await expectAsync(fixture.nativeElement).toBeAccessible();
    });
  });

  describe('Deprecated features', () => {
    it('should warn when message stream called with only the type', fakeAsync(() => {
      detectChanges();

      componentInstance.sendMessageLegacy(
        SkyProgressIndicatorMessageType.Progress
      );

      detectChanges();

      expect(consoleWarnSpy).toHaveBeenCalled();

      verifyActiveIndex(1);
      verifyItemStatuses([
        SkyProgressIndicatorItemStatus.Complete,
        SkyProgressIndicatorItemStatus.Active,
        SkyProgressIndicatorItemStatus.Incomplete,
      ]);
    }));

    it('should warn if using template reference variable with legacy reset button', fakeAsync(() => {
      detectChanges();

      componentInstance.progressIndicatorTemplateRefLegacy =
        componentInstance.progressIndicator;

      detectChanges();

      expect(consoleWarnSpy).toHaveBeenCalled();
    }));

    it('should support legacy reset button located inside progress indicator component', fakeAsync(() => {
      detectChanges();

      const resetClickSpy = spyOn(componentInstance, 'onResetClick');

      componentInstance.legacyResetButton?.nativeElement
        .querySelector('button')
        .click();

      detectChanges();

      expect(resetClickSpy).toHaveBeenCalled();
    }));

    it('should support legacy reset button located outside progress indicator component', fakeAsync(() => {
      componentInstance.showIsolatedLegacyResetButton = true;

      detectChanges();

      const resetClickSpy = spyOn(componentInstance, 'onResetClick');

      detectChanges();

      componentInstance.legacyIsolatedResetButton?.nativeElement
        .querySelector('button')
        .click();

      detectChanges();

      expect(resetClickSpy).toHaveBeenCalled();
    }));
  });
});


text:
/**
 * Quick function for asnycronously loaded code that indicates it is loaded
 * by calling a global function I.E Facebook connect js
 *
 * Usage:
 * Set the global var
 * var fbAsyncInit = new AsyncFunction(function() { console.log('my app is initiated'); });
 *
 * Add methods:
 * fbAsyncInit.addMethod(function() { console.log('library is loaded') });
 */

var AsyncFunction = function (initMethod) {
    // actual function to be called
    asyncVar = function() {
        while (asyncVar.queue.length) {
          var func = asyncVar.queue.shift();
          if (typeof func == 'function') {
            func();
          }
        }
        asyncVar.loaded = true;
    }
    // whether the async code is loaded
    asyncVar.loaded = false;
    // the method queue
    asyncVar.queue = [];
    // this is where methods should be called, will be ran instantly if loaded
    // otherwise added to queue
    asyncVar.addMethod = function(func, front) {
        if (asyncVar.loaded) {
            func();
        } else if ((typeof front != 'undefined') && front) {
            // method added to front of queue
            asyncVar.queue.unshift(func);
        } else {
          asyncVar.queue.push(func);
        }
    };

    // initMethod added to front of queue
    if (typeof initMethod == 'function') {
      asyncVar.addMethod(initMethod, true);
    }

    return asyncVar;
}


text:
require 'sequel'
require_relative '../../../services/data-repository/backend/sequel'

module CartoDB
  module Overlay
    class Migrator
      def initialize(db)
        @db = db
      end #initialize

      def migrate
        @db.create_table :overlays do
          String    :id,                null: false, primary_key: true
          Integer   :order,             null: false
          String    :options,           text: true
          String    :type
          String    :visualization_id,  index: true
          String    :template,          text: true
        end
      end #migrate
    end
  end # Overlay
end # CartoDB


text:
<#
Copyright 2014 Cloudbase Solutions Srl

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
#>

$utilsPath = (Resolve-Path '..\heat-powershell-utils.psm1').Path
$modulePath = (Resolve-Path '..\PuppetAgent.psm1').Path

Remove-Module PuppetAgent -ErrorAction SilentlyContinue
Remove-Module heat-powershell-utils -ErrorAction SilentlyContinue
Import-Module -Name $modulePath -DisableNameChecking
Import-Module -Name $utilsPath -DisableNameChecking

InModuleScope PuppetAgent {
    Describe "Install-PuppetAgent" {
        Context "Puppet Agent installed" {
            $puppetMasterServerName = "puppet_master_server_hostname"
            $puppetMasterServerIp = "puppet_master_server_ip_address"
            $puppetAgent_WaitConditionEndpoint = `
                "puppet_agent_wait_condition_endpoint"
            $puppetAgent_WaitConditionToken = `
                "puppet_agent_wait_condition_token"

            Mock Log { return 0 } -Verifiable
            Mock Send-HeatWaitSignal { return 0 } -Verifiable
            Mock Install-PuppetAgentInternal { return 0 } -Verifiable

            Install-PuppetAgent `
            -PuppetMasterServerName $puppetMasterServerName `
            -PuppetMasterServerIp $puppetMasterServerIp `
            -PuppetAgent_WaitConditionEndpoint `
                $puppetAgent_WaitConditionEndpoint `
            -PuppetAgent_WaitConditionToken $puppetAgent_WaitConditionToken

            It "should verify mocks called" {
                Assert-VerifiableMocks
            }

        }
    }
}


text:
/* dean.edwards/2004 */
/* keeping code tidy! */

body {
	font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
	background-color: white;
	color: black;
}

ul.meta {
	font-size: smaller;
}

form,
div.footer,
div.header,
p.permalink,
#main-menu,
#bread-crumbs,
#buttons,
#postcomment,
#sourceforge,
#donate,
#me,
#help,
#commentform,
#modified,
#navigate,
#syndication,
#bad-bot,
div.preview,
div.section ul.meta,
div.help {
	display: none;
}

ol.comments ul.meta {
	display: block;
}

img {
	border: none;
}

a[href^=http]::after {
	content: " (link: " attr(href) ") ";
}

a:link, a:visited {
	color: black;
	text-decoration: none;
}

/* TABLES */

table.data {
	border-collapse: collapse;
}

div.table {
	border-left: 1px solid black;
	border-top: 1px solid black;
}

div.table td {
	border-bottom: 1px solid black;
}

div.table th {
	text-align: left;
	background-color: #EEE;
}

div.table th,
div.table td {
	border-bottom: 1px solid black;
	border-right: 1px solid black;
	padding: 3px;
}

*.comment {
	background-position: right top;
	background-repeat: no-repeat;
}


text:
layout: page
title: " "
modified: 2014-10-08
---
### About Me

### About the Blog
This blog is powered by [Jekyll](http://jekyllrb.com/) using [So Simple Theme](https://mmistakes.github.io/so-simple-theme/), see [How to Create a Blog Like This](/blog/how-to) for setup instructions.


text: Its a Command Prompt in Java For Windows