You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2015/03/03 11:00:13 UTC

[45/52] [abbrv] [partial] incubator-kylin git commit: update ace-builds to new version

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/objectivec.m
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/objectivec.m b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/objectivec.m
new file mode 100644
index 0000000..1728dfe
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/objectivec.m
@@ -0,0 +1,104 @@
+@protocol Printing: someParent
+-(void) print;
+@end
+
+@interface Fraction: NSObject <Printing, NSCopying> {
+    int numerator;
+    int denominator;
+}
+@end
+
+@"blah\8" @"a\222sd\d" @"\faw\"\? \' \4 n\\" @"\56"
+@"\xSF42"
+
+-(NSDecimalNumber*)addCount:(id)addObject{
+
+return [count decimalNumberByAdding:addObject.count];
+
+}
+
+  NS_DURING  NS_HANDLER NS_ENDHANDLER
+
+@try {
+   if (argc > 1)    {
+    @throw [NSException exceptionWithName:@"Throwing a test exception" reason:@"Testing the @throw directive." userInfo:nil];
+   }
+} 
+@catch (id theException) {
+    NSLog(@"%@", theException);
+    result = 1  ;
+} 
+@finally {
+    NSLog(@"This always happens.");
+    result += 2 ;
+}
+
+    @synchronized(lock) {
+        NSLog(@"Hello World");
+    }
+
+struct { @defs( NSObject) }
+
+char *enc1 = @encode(int);
+
+         IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class 
+
+
+ @class @protocol
+
+@public
+  // instance variables
+@package
+  // instance variables
+@protected
+  // instance variables
+@private
+  // instance variables
+
+  YES NO Nil nil
+NSApp()
+NSRectToCGRect (Protocol ProtocolFromString:"NSTableViewDelegate"))
+
+[SPPoint pointFromCGPoint:self.position]
+
+NSRoundDownToMultipleOfPageSize
+
+#import <stdio.h>
+
+int main( int argc, const char *argv[] ) {
+    printf( "hello world\n" );
+    return 0;
+}
+
+NSChangeSpelling
+
+@"0 != SUBQUERY(image, $x, 0 != SUBQUERY($x.bookmarkItems, $y, $y.@count == 0).@count).@count"
+
+@selector(lowercaseString) @selector(uppercaseString:)
+
+NSFetchRequest *localRequest = [[NSFetchRequest alloc] init];  
+localRequest.entity = [NSEntityDescription entityForName:@"VNSource" inManagedObjectContext:context];  
+localRequest.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"resolution" ascending:YES]];  
+NSPredicate *predicate = [NSPredicate predicateWithFormat:@"0 != SUBQUERY(image, $x, 0 != SUBQUERY($x.bookmarkItems, $y, $y.@count == 0).@count).@count"];
+[NSPredicate predicateWithFormat:]
+NSString *predicateString = [NSString stringWithFormat:@"SELF beginsWith[cd] %@", searchString];
+NSPredicate *pred = [NSPredicate predicateWithFormat:predicateString];
+NSArray *filteredKeys = [[myMutableDictionary allKeys] filteredArrayUsingPredicate:pred]; 
+
+localRequest.predicate = [NSPredicate predicateWithFormat:@"whichChart = %@" argumentArray: listChartToDownload];
+localRequest.fetchBatchSize = 100;
+arrayRequest    = [context  executeFetchRequest:localRequest error:&error1];
+
+[localRequest   release];
+
+#ifndef Nil
+#define Nil __DARWIN_NULL   /* id of Nil class */
+#endif
+
+@implementation MyObject
+- (unsigned int)areaOfWidth:(unsigned int)width
+                height:(unsigned int)height
+{
+  return width*height;
+}
+@end

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/ocaml.ml
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/ocaml.ml b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/ocaml.ml
new file mode 100644
index 0000000..85e6eba
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/ocaml.ml
@@ -0,0 +1,18 @@
+(*
+ * Example of early return implementation taken from
+ * http://ocaml.janestreet.com/?q=node/91
+ *)
+
+let with_return (type t) (f : _ -> t) =
+  let module M =
+     struct exception Return of t end
+  in
+  let return = { return = (fun x -> raise (M.Return x)); } in
+  try f return with M.Return x -> x
+
+
+(* Function that uses the 'early return' functionality provided by `with_return` *)
+let sum_until_first_negative list =
+  with_return (fun r ->
+    List.fold list ~init:0 ~f:(fun acc x ->
+      if x >= 0 then acc + x else r.return acc))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/pascal.pas
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/pascal.pas b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/pascal.pas
new file mode 100644
index 0000000..7a4a7fc
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/pascal.pas
@@ -0,0 +1,48 @@
+(*****************************************************************************
+ * A simple bubble sort program.  Reads integers, one per line, and prints   *
+ * them out in sorted order.  Blows up if there are more than 49.            *
+ *****************************************************************************)
+PROGRAM Sort(input, output);
+    CONST
+        (* Max array size. *)
+        MaxElts = 50;
+    TYPE 
+        (* Type of the element array. *)
+        IntArrType = ARRAY [1..MaxElts] OF Integer;
+
+    VAR
+        (* Indexes, exchange temp, array size. *)
+        i, j, tmp, size: integer;
+
+        (* Array of ints *)
+        arr: IntArrType;
+
+    (* Read in the integers. *)
+    PROCEDURE ReadArr(VAR size: Integer; VAR a: IntArrType); 
+        BEGIN
+            size := 1;
+            WHILE NOT eof DO BEGIN
+                readln(a[size]);
+                IF NOT eof THEN 
+                    size := size + 1
+            END
+        END;
+
+    BEGIN
+        (* Read *)
+        ReadArr(size, arr);
+
+        (* Sort using bubble sort. *)
+        FOR i := size - 1 DOWNTO 1 DO
+            FOR j := 1 TO i DO 
+                IF arr[j] > arr[j + 1] THEN BEGIN
+                    tmp := arr[j];
+                    arr[j] := arr[j + 1];
+                    arr[j + 1] := tmp;
+                END;
+
+        (* Print. *)
+        FOR i := 1 TO size DO
+            writeln(arr[i])
+    END.
+            
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/perl.pl
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/perl.pl b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/perl.pl
new file mode 100644
index 0000000..d6a332e
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/perl.pl
@@ -0,0 +1,37 @@
+#!/usr/bin/perl
+=begin
+ perl example code for Ace
+=cut
+
+use strict;
+use warnings;
+my $num_primes = 0;
+my @primes;
+
+# Put 2 as the first prime so we won't have an empty array
+$primes[$num_primes] = 2;
+$num_primes++;
+
+MAIN_LOOP:
+for my $number_to_check (3 .. 200)
+{
+    for my $p (0 .. ($num_primes-1))
+    {
+        if ($number_to_check % $primes[$p] == 0)
+        {
+            next MAIN_LOOP;
+        }
+    }
+
+    # If we reached this point it means $number_to_check is not
+    # divisable by any prime number that came before it.
+    $primes[$num_primes] = $number_to_check;
+    $num_primes++;
+}
+
+for my $p (0 .. ($num_primes-1))
+{
+    print $primes[$p], ", ";
+}
+print "\n";
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/pgsql.pgsql
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/pgsql.pgsql b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/pgsql.pgsql
new file mode 100644
index 0000000..ef265cd
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/pgsql.pgsql
@@ -0,0 +1,118 @@
+
+BEGIN;
+
+/**
+* Samples from PostgreSQL src/tutorial/basics.source
+*/
+CREATE TABLE weather (
+	city		varchar(80),
+	temp_lo		int,		-- low temperature
+	temp_hi		int,		-- high temperature
+	prcp		real,		-- precipitation
+	"date"		date
+);
+
+CREATE TABLE cities (
+	name		varchar(80),
+	location	point
+);
+
+
+INSERT INTO weather
+    VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');
+
+INSERT INTO cities
+    VALUES ('San Francisco', '(-194.0, 53.0)');
+
+INSERT INTO weather (city, temp_lo, temp_hi, prcp, "date")
+    VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');
+
+INSERT INTO weather (date, city, temp_hi, temp_lo)
+    VALUES ('1994-11-29', 'Hayward', 54, 37);
+
+
+SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, "date" FROM weather;
+
+SELECT city, temp_lo, temp_hi, prcp, "date", location
+    FROM weather, cities
+    WHERE city = name;
+
+
+
+/**
+* Dollar quotes starting at the end of the line are colored as SQL unless
+* a special language tag is used. Dollar quote syntax coloring is implemented
+* for Perl, Python, JavaScript, and Json.
+*/
+create or replace function blob_content_chunked(
+    in p_data bytea, 
+    in p_chunk integer)
+returns setof bytea as $$
+-- Still SQL comments
+declare
+	v_size integer = octet_length(p_data);
+begin
+	for i in 1..v_size by p_chunk loop
+		return next substring(p_data from i for p_chunk);
+	end loop;
+end;
+$$ language plpgsql stable;
+
+
+-- pl/perl
+CREATE FUNCTION perl_max (integer, integer) RETURNS integer AS $perl$
+    # perl comment...
+    my ($x,$y) = @_;
+    if (! defined $x) {
+        if (! defined $y) { return undef; }
+        return $y;
+    }
+    if (! defined $y) { return $x; }
+    if ($x > $y) { return $x; }
+    return $y;
+$perl$ LANGUAGE plperl;
+
+-- pl/python
+CREATE FUNCTION usesavedplan() RETURNS trigger AS $python$
+    # python comment...
+    if SD.has_key("plan"):
+        plan = SD["plan"]
+    else:
+        plan = plpy.prepare("SELECT 1")
+        SD["plan"] = plan
+$python$ LANGUAGE plpythonu;
+
+-- pl/v8 (javascript)
+CREATE FUNCTION plv8_test(keys text[], vals text[]) RETURNS text AS $javascript$
+var o = {};
+for(var i=0; i<keys.length; i++){
+ o[keys[i]] = vals[i];
+}
+return JSON.stringify(o);
+$javascript$ LANGUAGE plv8 IMMUTABLE STRICT;
+
+-- json
+select * from json_object_keys($json$
+{
+  "f1": 5,
+  "f2": "test",
+  "f3": {}
+}
+$json$);
+
+
+-- psql commands
+\df cash*
+
+
+-- Some string samples.
+select 'don''t do it now;' || 'maybe later';
+select E'dont\'t do it';
+select length('some other''s stuff' || $$cat in hat's stuff $$);
+
+select $$ strings
+over multiple 
+lines - use dollar quotes
+$$;
+
+END;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/php.php
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/php.php b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/php.php
new file mode 100644
index 0000000..891de1d
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/php.php
@@ -0,0 +1,19 @@
+<?php
+
+function nfact($n) {
+    if ($n == 0) {
+        return 1;
+    }
+    else {
+        return $n * nfact($n - 1);
+    }
+}
+
+echo "\n\nPlease enter a whole number ... ";
+$num = trim(fgets(STDIN));
+
+// ===== PROCESS - Determing the factorial of the input number =====
+$output = "\n\nFactorial " . $num . " = " . nfact($num) . "\n\n";
+echo $output;
+
+?>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/plaintext.txt
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/plaintext.txt b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/plaintext.txt
new file mode 100644
index 0000000..37bb4cc
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/plaintext.txt
@@ -0,0 +1,11 @@
+Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+
+Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
+
+Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
+
+Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
+
+Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.
+
+At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/powershell.ps1
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/powershell.ps1 b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/powershell.ps1
new file mode 100644
index 0000000..f3a70bc
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/powershell.ps1
@@ -0,0 +1,24 @@
+# This is a simple comment
+function Hello($name) {
+  Write-host "Hello $name"
+}
+
+function add($left, $right=4) {
+    if ($right -ne 4) {
+        return $left
+    } elseif ($left -eq $null -and $right -eq 2) {
+        return 3
+    } else {
+        return 2
+    }
+}
+
+$number = 1 + 2;
+$number += 3
+
+Write-Host Hello -name "World"
+
+$an_array = @(1, 2, 3)
+$a_hash = @{"something" = "something else"}
+
+& notepad .\readme.md

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/praat.praat
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/praat.praat b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/praat.praat
new file mode 100644
index 0000000..3700ae6
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/praat.praat
@@ -0,0 +1,148 @@
+form Highlighter test
+  sentence My_sentence This should all be a string
+  text My_text This should also all be a string
+  word My_word Only the first word is a string, the rest is invalid
+  boolean Binary 1
+  boolean Text no
+  boolean Quoted "yes"
+  comment This should be a string
+  real left_Range -123.6
+  positive right_Range_max 3.3
+  integer Int 4
+  natural Nat 4
+endform
+
+# External scripts
+include /path/to/file
+runScript: "/path/to/file"
+execute /path/to/file
+
+stopwatch
+
+# old-style procedure call
+call oldStyle "quoted" 2 unquoted string
+assert oldStyle.local = 1
+
+# New-style procedure call with parens
+@newStyle("quoted", 2, "quoted string")
+if praatVersion >= 5364 
+  # New-style procedure call with colon
+  @newStyle: "quoted", 2, "quoted string"
+endif
+
+# if-block with built-in variables
+if windows
+  # We are on Windows
+elsif unix = 1 or !macintosh
+  exitScript: "We are on Linux"
+else macintosh == 1
+  exit We are on Mac
+endif
+
+# inline if with inline comment
+var = if macintosh = 1 then 0 else 1 fi ; This is an inline comment
+
+# for-loop with explicit from using local variable
+# and paren-style function calls and variable interpolation
+n = numberOfSelected("Sound")
+for i from newStyle.local to n
+  sound'i' = selected("Sound", i)
+  sound[i] = sound'i'
+endfor
+
+for i from 1 to n
+  # Different styles of object selection
+  select sound'i'
+  sound = selected()
+  sound$ = selected$("Sound")
+  select Sound 'sound$'
+  selectObject(sound[i])
+  selectObject: sound
+  
+  # Pause commands
+  beginPause("Viewing " + sound$)
+  if i > 1
+    button = endPause("Stop", "Previous",
+      ...if i = total_sounds then "Finish" else "Next" fi,
+      ...3, 1)
+  else
+    button = endPause("Stop",
+      ...if i = total_sounds then "Finish" else "Next" fi,
+      ...2, 1)  
+  endif
+  editor_name$ = if total_textgrids then "TextGrid " else "Sound " fi + name$
+  nocheck editor 'editor_name$'
+    nocheck Close
+  nocheck endeditor
+  
+  # New-style standalone command call
+  Rename: "SomeName"
+
+  # Command call with assignment
+  duration = Get total duration
+  
+  # Multi-line command with modifier
+  pitch = noprogress To Pitch (ac): 0, 75, 15, "no",
+    ...0.03, 0.45, 0.01, 0.35, 0.14, 600
+    
+  # do-style command with assignment
+  minimum = do("Get minimum...", 0, 0, "Hertz", "Parabolic")
+
+  # New-style multi-line command call with broken strings
+  table = Create Table with column names: "table", 0,
+    ..."file subject speaker
+    ...f0 f1 f2 f3 " +
+    ..."duration response"
+  
+  removeObject: pitch, table
+    
+  # Picture window commands
+  selectObject: sound
+  # do-style command
+  do("Select inner viewport...", 1, 6, 0.5, 1.5)
+  Black
+  Draw... 0 0 0 0 "no" Curve
+  Draw inner box
+  Text bottom: "yes", sound$
+  Erase all
+  
+  # Demo window commands
+  demo Erase all
+  demo Select inner viewport... 0 100 0 100
+  demo Axes... 0 100 0 100
+  demo Paint rectangle... white 0 100 0 100
+  demo Text... 50 centre 50 half Click to finish
+  demoWaitForInput ( )
+  demo Erase all
+  demo Text: 50, "centre", 50, "half", "Finished"
+endfor
+
+# An old-style sendpraat block
+sendpraat Praat
+  ...'newline$' Create Sound as pure tone... "tone" 1 0 0.4 44100 440 0.2 0.01 0.01
+  ...'newline$' Play
+  ...'newline$' Remove
+
+# A new-style sendpraat block
+beginSendPraat: "Praat"
+  Create Sound as pure tone: "tone", 1, 0, 0.4, 44100, 440, 0.2, 0.01, 0.01
+  duration = Get total duration
+  Remove
+endSendPraat: "duration"
+appendInfoLine: "The generated sound lasted for ", duration, "seconds"
+
+time = stopwatch
+clearinfo
+echo This script took 
+print 'time' seconds to 
+printline execute.
+
+# Old-style procedure declaration
+procedure oldStyle .str1$ .num .str2$
+  .local = 1
+endproc
+
+# New-style procedure declaration
+procedure newStyle (.str1$, .num, .str2$)
+  .local = 1
+endproc

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/prolog.plg
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/prolog.plg b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/prolog.plg
new file mode 100644
index 0000000..2c86715
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/prolog.plg
@@ -0,0 +1,18 @@
+partition([], _, [], []).
+partition([X|Xs], Pivot, Smalls, Bigs) :-
+    (   X @< Pivot ->
+        Smalls = [X|Rest],
+        partition(Xs, Pivot, Rest, Bigs)
+    ;   Bigs = [X|Rest],
+        partition(Xs, Pivot, Smalls, Rest)
+    ).
+ 
+quicksort([])     --> [].
+quicksort([X|Xs]) -->
+    { partition(Xs, X, Smaller, Bigger) },
+    quicksort(Smaller), [X], quicksort(Bigger).
+
+perfect(N) :-
+    between(1, inf, N), U is N // 2,
+    findall(D, (between(1,U,D), N mod D =:= 0), Ds),
+    sumlist(Ds, N).
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/properties.properties
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/properties.properties b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/properties.properties
new file mode 100644
index 0000000..446b340
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/properties.properties
@@ -0,0 +1,15 @@
+# You are reading the ".properties" entry.
+! The exclamation mark can also mark text as comments.
+# The key and element characters #, !, =, and : are written with a preceding backslash to ensure that they are properly loaded.
+website = http\://en.wikipedia.org/
+language = English
+# The backslash below tells the application to continue reading
+# the value onto the next line.
+message = Welcome to \
+          Wikipedia!
+# Add spaces to the key
+key\ with\ spaces = This is the value that could be looked up with the key "key with spaces".
+# Unicode
+tab : \u0009
+empty-key=
+last.line=value

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/protobuf.proto
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/protobuf.proto b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/protobuf.proto
new file mode 100644
index 0000000..4da95a7
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/protobuf.proto
@@ -0,0 +1,16 @@
+message Point {
+  required int32 x = 1;
+  required int32 y = 2;
+  optional string label = 3;
+}
+
+message Line {
+  required Point start = 1;
+  required Point end = 2;
+  optional string label = 3;
+}
+
+message Polyline {
+  repeated Point point = 1;
+  optional string label = 2;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/python.py
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/python.py b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/python.py
new file mode 100644
index 0000000..90afdc3
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/python.py
@@ -0,0 +1,19 @@
+#!/usr/local/bin/python
+
+import string, sys
+
+# If no arguments were given, print a helpful message
+if len(sys.argv)==1:
+    print '''Usage:
+celsius temp1 temp2 ...'''
+    sys.exit(0)
+
+# Loop over the arguments
+for i in sys.argv[1:]:
+    try:
+        fahrenheit=float(string.atoi(i))
+    except string.atoi_error:
+        print repr(i), "not a numeric value"
+    else:
+        celsius=(fahrenheit-32)*5.0/9.0
+        print '%i\260F = %i\260C' % (int(fahrenheit), int(celsius+.5))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/r.r
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/r.r b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/r.r
new file mode 100644
index 0000000..e4d4c57
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/r.r
@@ -0,0 +1,20 @@
+Call:
+lm(formula = y ~ x)
+ 
+Residuals:
+1       2       3       4       5       6
+3.3333 -0.6667 -2.6667 -2.6667 -0.6667  3.3333
+ 
+Coefficients:
+            Estimate Std. Error t value Pr(>|t|)
+(Intercept)  -9.3333     2.8441  -3.282 0.030453 *
+x             7.0000     0.7303   9.585 0.000662 ***
+---
+Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
+ 
+Residual standard error: 3.055 on 4 degrees of freedom
+Multiple R-squared: 0.9583,     Adjusted R-squared: 0.9478
+F-statistic: 91.88 on 1 and 4 DF,  p-value: 0.000662
+ 
+> par(mfrow=c(2, 2))     # Request 2x2 plot layout
+> plot(lm_1)             # Diagnostic plot of regression model
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/rdoc.Rd
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/rdoc.Rd b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/rdoc.Rd
new file mode 100644
index 0000000..1666479
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/rdoc.Rd
@@ -0,0 +1,64 @@
+\name{picker}
+\alias{picker}
+\title{Create a picker control}
+\description{
+  Create a picker control to enable manipulation of plot variables based on a set of fixed choices.
+}
+
+\usage{
+picker(..., initial = NULL, label = NULL)
+}
+
+
+\arguments{
+  \item{\dots}{
+    Arguments containing objects to be presented as choices for the picker (or a list containing the choices). If an element is named then the name is used to display it within the picker. If an element is not named then it is displayed within the picker using \code{\link{as.character}}. 
+}
+  \item{initial}{
+    Initial value for picker. Value must be present in the list of choices specified. If not specified defaults to the first choice.
+}
+  \item{label}{
+    Display label for picker. Defaults to the variable name if not specified.
+}
+}
+
+\value{
+  An object of class "manipulator.picker" which can be passed to the \code{\link{manipulate}} function.
+}
+
+\seealso{
+\code{\link{manipulate}}, \code{\link{slider}}, \code{\link{checkbox}}, \code{\link{button}}
+}
+
+
+\examples{
+\dontrun{
+
+## Filtering data with a picker
+manipulate(
+  barplot(as.matrix(longley[,factor]), 
+          beside = TRUE, main = factor),
+  factor = picker("GNP", "Unemployed", "Employed"))
+
+## Create a picker with labels
+manipulate(
+  plot(pressure, type = type), 
+  type = picker("points" = "p", "line" = "l", "step" = "s"))
+  
+## Picker with groups
+manipulate(
+  barplot(as.matrix(mtcars[group,"mpg"]), beside=TRUE),
+  group = picker("Group 1" = 1:11, 
+                 "Group 2" = 12:22, 
+                 "Group 3" = 23:32))
+
+## Histogram w/ picker to select type
+require(lattice)
+require(stats)
+manipulate(
+  histogram(~ height | voice.part, 
+            data = singer, type = type),
+  type = picker("percent", "count", "density"))
+
+}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/rhtml.Rhtml
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/rhtml.Rhtml b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/rhtml.Rhtml
new file mode 100644
index 0000000..5eb6189
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/rhtml.Rhtml
@@ -0,0 +1,22 @@
+<html>
+
+<head>
+<title>Title</title>
+</head>
+
+<body>
+
+<p>This is an R HTML document. When you click the <b>Knit HTML</b> button a web page will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:</p>
+
+<!--begin.rcode
+summary(cars)
+end.rcode-->
+
+<p>You can also embed plots, for example:</p>
+
+<!--begin.rcode fig.width=7, fig.height=6
+plot(cars)
+end.rcode-->
+
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/ruby.rb
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/ruby.rb b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/ruby.rb
new file mode 100644
index 0000000..c4d73d1
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/ruby.rb
@@ -0,0 +1,35 @@
+#!/usr/bin/ruby
+
+# Program to find the factorial of a number
+def fact(n)
+    if n == 0
+        1
+    else
+        n * fact(n-1)
+    end
+end
+
+puts fact(ARGV[0].to_i)
+
+class Range
+  def to_json(*a)
+    {
+      'json_class'   => self.class.name, # = 'Range'
+      'data'         => [ first, last, exclude_end? ]
+    }.to_json(*a)
+  end
+end
+
+{:id => 34, :key => "value"}
+
+
+    herDocs = [<<'FOO', <<BAR, <<-BAZ, <<-`EXEC`] #comment
+  FOO #{literal}
+FOO
+  BAR #{fact(10)}
+BAR
+  BAZ indented
+    BAZ
+        echo hi
+    EXEC
+puts herDocs
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/rust.rs
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/rust.rs b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/rust.rs
new file mode 100644
index 0000000..7ab5418
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/rust.rs
@@ -0,0 +1,20 @@
+use core::rand::RngUtil;
+
+fn main() {
+    for ["Alice", "Bob", "Carol"].each |&name| {
+        do spawn {
+            let v = rand::Rng().shuffle([1, 2, 3]);
+            for v.each |&num| {
+                print(fmt!("%s says: '%d'\n", name, num + 1))
+            }
+        }
+    }
+}
+
+fn map<T, U>(vector: &[T], function: &fn(v: &T) -> U) -> ~[U] {
+    let mut accumulator = ~[];
+    for vec::each(vector) |element| {
+        accumulator.push(function(element));
+    }
+    return accumulator;
+}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sass.sass
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sass.sass b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sass.sass
new file mode 100644
index 0000000..6caaaff
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sass.sass
@@ -0,0 +1,39 @@
+// sass ace mode;
+
+@import url(http://fonts.googleapis.com/css?family=Ace:700)
+
+html, body
+  :background-color #ace
+  text-align: center
+  height: 100%
+  /*;*********;
+    ;comment  ;
+    ;*********;
+
+.toggle
+  $size: 14px
+
+  :background url(http://subtlepatterns.com/patterns/dark_stripes.png)
+  border-radius: 8px
+  height: $size
+
+  &:before
+    $radius: $size * 0.845
+    $glow: $size * 0.125
+
+    box-shadow: 0 0 $glow $glow / 2 #fff
+    border-radius: $radius
+    
+    &:active
+      ~ .button
+        box-shadow: 0 15px 25px -4px rgba(0,0,0,0.4)      
+      ~ .label
+        font-size: 40px
+        color: rgba(0,0,0,0.45)
+
+    &:checked      
+      ~ .button
+        box-shadow: 0 15px 25px -4px #ace
+      ~ .label
+        font-size: 40px
+        color: #c9c9c9

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scad.scad
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scad.scad b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scad.scad
new file mode 100644
index 0000000..a45c1ae
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scad.scad
@@ -0,0 +1,21 @@
+// ace can highlight scad!
+module Element(xpos, ypos, zpos){
+	translate([xpos,ypos,zpos]){
+		union(){
+			cube([10,10,4],true);
+			cylinder(10,15,5);
+			translate([0,0,10])sphere(5);
+		}
+	}
+}
+
+union(){
+	for(i=[0:30]){
+		# Element(0,0,0);
+		Element(15*i,0,0);
+	}
+}
+
+for (i = [3, 5, 7, 11]){
+	rotate([i*10,0,0])scale([1,1,i])cube(10);
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scala.scala
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scala.scala b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scala.scala
new file mode 100644
index 0000000..f828067
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scala.scala
@@ -0,0 +1,69 @@
+// http://www.scala-lang.org/node/54
+
+package examples.actors
+
+import scala.actors.Actor
+import scala.actors.Actor._
+
+abstract class PingMessage
+case object Start extends PingMessage
+case object SendPing extends PingMessage
+case object Pong extends PingMessage
+
+abstract class PongMessage
+case object Ping extends PongMessage
+case object Stop extends PongMessage
+
+object pingpong extends Application {
+  val pong = new Pong
+  val ping = new Ping(100000, pong)
+  ping.start
+  pong.start
+  ping ! Start
+}
+
+class Ping(count: Int, pong: Actor) extends Actor {
+  def act() {
+    println("Ping: Initializing with count "+count+": "+pong)
+    var pingsLeft = count
+    loop {
+      react {
+        case Start =>
+          println("Ping: starting.")
+          pong ! Ping
+          pingsLeft = pingsLeft - 1
+        case SendPing =>
+          pong ! Ping
+          pingsLeft = pingsLeft - 1
+        case Pong =>
+          if (pingsLeft % 1000 == 0)
+            println("Ping: pong from: "+sender)
+          if (pingsLeft > 0)
+            self ! SendPing
+          else {
+            println("Ping: Stop.")
+            pong ! Stop
+            exit('stop)
+          }
+      }
+    }
+  }
+}
+
+class Pong extends Actor {
+  def act() {
+    var pongCount = 0
+    loop {
+      react {
+        case Ping =>
+          if (pongCount % 1000 == 0)
+            println("Pong: ping "+pongCount+" from "+sender)
+          sender ! Pong
+          pongCount = pongCount + 1
+        case Stop =>
+          println("Pong: Stop.")
+          exit('stop)
+      }
+    }
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scheme.scm
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scheme.scm b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scheme.scm
new file mode 100644
index 0000000..8c78359
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scheme.scm
@@ -0,0 +1,21 @@
+(define (prompt-for-cd)
+   "Prompts
+    for CD"
+   (prompt-read "Title" 1.53 1 2/4 1.7 1.7e0 2.9E-4 +42 -7 #b001 #b001/100 #o777 #O777 #xabc55 #c(0 -5.6))
+   (prompt-read "Artist")
+   (or (parse-integer (prompt-read "Rating") #:junk-allowed #t) 0)
+  (if x (format #t "yes") (format #f "no") ;and here comment
+  ) 
+  ;; second line comment
+  '(+ 1 2)
+  (position-if-not char-set:whitespace line #:start beg))
+  (quote (privet 1 2 3))
+  '(hello world)
+  (* 5 7)
+  (1 2 34 5)
+  (#:use "aaaa")
+  (let ((x 10) (y 20))
+    (display (+ x y))
+  ) 
+
+  "asdad\0eqweqe"

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scss.scss
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scss.scss b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scss.scss
new file mode 100644
index 0000000..e155816
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/scss.scss
@@ -0,0 +1,20 @@
+/* style.scss */
+
+#navbar {
+    $navbar-width: 800px;
+    $items: 5;
+    $navbar-color: #ce4dd6;
+
+    width: $navbar-width;
+    border-bottom: 2px solid $navbar-color;
+
+    li {
+        float: left;
+        width: $navbar-width/$items - 10px;
+
+        background-color: lighten($navbar-color, 20%);
+        &:hover {
+            background-color: lighten($navbar-color, 10%);
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sh.sh
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sh.sh b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sh.sh
new file mode 100644
index 0000000..4c5e696
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sh.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+# Script to open a browser to current branch
+# Repo formats:
+# ssh   git@github.com:richo/gh_pr.git
+# http  https://richoH@github.com/richo/gh_pr.git
+# git   git://github.com/richo/gh_pr.git
+
+username=`git config --get github.user`
+
+get_repo() {
+    git remote -v | grep ${@:-$username} | while read remote; do
+      if repo=`echo $remote | grep -E -o "git@github.com:[^ ]*"`; then
+          echo $repo | sed -e "s/^git@github\.com://" -e "s/\.git$//"
+          exit 1
+      fi
+      if repo=`echo $remote | grep -E -o "https?://([^@]*@)?github.com/[^ ]*\.git"`; then
+          echo $repo | sed -e "s|^https?://||" -e "s/^.*github\.com\///" -e "s/\.git$//"
+          exit 1
+      fi
+      if repo=`echo $remote | grep -E -o "git://github.com/[^ ]*\.git"`; then
+          echo $repo | sed -e "s|^git://github.com/||" -e "s/\.git$//"
+          exit 1
+      fi
+    done
+
+    if [ $? -eq 0 ]; then
+        echo "Couldn't find a valid remote" >&2
+        exit 1
+    fi
+}
+
+echo ${#x[@]}
+
+if repo=`get_repo $@`; then
+    branch=`git symbolic-ref HEAD 2>/dev/null`
+    echo "http://github.com/$repo/pull/new/${branch##refs/heads/}"
+else
+    exit 1
+fi

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sjs.sjs
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sjs.sjs b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sjs.sjs
new file mode 100644
index 0000000..18ce0e4
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sjs.sjs
@@ -0,0 +1,28 @@
+var { each, map } = require('sjs:sequence');
+var { get } = require('sjs:http');
+
+function foo(items, nada) {
+    var component = { name: "Ace", role: "Editor" };
+    console.log("
+        Welcome, #{component.name}
+    ".trim());
+
+    logging.debug(`Component added: $String(component) (${component})`);
+
+    console.log(`
+        Welcome, {${function() {
+            return { x: 1, y: "why?}"};
+        }()}
+    `.trim());
+
+    waitfor {
+        items .. each.par { |item|
+            get(item);
+        }
+    } and {
+        var lengths = items .. map(i -> i.length);
+    } or {
+        hold(1500);
+        throw new Error("timed out");
+    }
+}	// Real Tab.

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/smarty.smarty
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/smarty.smarty b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/smarty.smarty
new file mode 100644
index 0000000..7720672
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/smarty.smarty
@@ -0,0 +1,7 @@
+{foreach $foo as $bar}
+  <a href="{$bar.zig}">{$bar.zag}</a>
+  <a href="{$bar.zig2}">{$bar.zag2}</a>
+  <a href="{$bar.zig3}">{$bar.zag3}</a>
+{foreachelse}
+  There were no rows found.
+{/foreach}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/snippets.snippets
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/snippets.snippets b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/snippets.snippets
new file mode 100644
index 0000000..be99f51
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/snippets.snippets
@@ -0,0 +1,26 @@
+# Function
+snippet fun
+	function ${1?:function_name}(${2:argument}) {
+		${3:// body...}
+	}
+# Anonymous Function
+regex /((=)\s*|(:)\s*|(\()|\b)/f/(\))?/
+name f
+	function${M1?: ${1:functionName}}($2) {
+		${0:$TM_SELECTED_TEXT}
+	}${M2?;}${M3?,}${M4?)}
+# Immediate function
+trigger \(?f\(
+endTrigger \)?
+snippet f(
+	(function(${1}) {
+		${0:${TM_SELECTED_TEXT:/* code */}}
+	}(${1}));
+# if
+snippet if
+	if (${1:true}) {
+		${0}
+	}
+	
+	
+	
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/soy_template.soy
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/soy_template.soy b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/soy_template.soy
new file mode 100644
index 0000000..3a9e343
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/soy_template.soy
@@ -0,0 +1,46 @@
+/**
+ * Greets a person using "Hello" by default.
+ * @param name The name of the person.
+ * @param? greetingWord Optional greeting word to use instead of "Hello".
+ */
+{template .helloName #eee}
+  {if not $greetingWord}
+    Hello {$name}!
+  {else}
+    {$greetingWord} {$name}!
+  {/if}
+{/template}
+
+/**
+ * Greets a person and optionally a list of other people.
+ * @param name The name of the person.
+ * @param additionalNames The additional names to greet. May be an empty list.
+ */
+{template .helloNames}
+  // Greet the person.
+  {call .helloName data="all" /}<br>
+  // Greet the additional people.
+  {foreach $additionalName in $additionalNames}
+    {call .helloName}
+      {param name: $additionalName /}
+    {/call}
+    {if not isLast($additionalName)}
+      <br>  // break after every line except the last
+    {/if}
+  {ifempty}
+    No additional people to greet.
+  {/foreach}
+{/template}
+
+
+{/foreach}
+{if length($items) > 5}
+{msg desc="Says hello to the user."}
+
+
+{namespace ns autoescape="contextual"}
+
+/** Example. */
+{template .example}
+  foo is {$ij.foo}
+{/template}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/space.space
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/space.space b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/space.space
new file mode 100644
index 0000000..7bd8ab1
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/space.space
@@ -0,0 +1,56 @@
+query
+ count 10
+ created 2011-06-21T08:10:46Z
+ lang en-US
+ results
+  photo
+   0
+    farm 6
+    id 5855620975
+    isfamily 0
+    isfriend 0
+    ispublic 1
+    owner 32021554@N04
+    secret f1f5e8515d
+    server 5110
+    title 7087 bandit cat
+   1
+    farm 4
+    id 5856170534
+    isfamily 0
+    isfriend 0
+    ispublic 1
+    owner 32021554@N04
+    secret ff1efb2a6f
+    server 3217
+    title 6975 rusty cat
+   2
+    farm 6
+    id 5856172972
+    isfamily 0
+    isfriend 0
+    ispublic 1
+    owner 51249875@N03
+    secret 6c6887347c
+    server 5192
+    title watermarked-cats
+   3
+    farm 6
+    id 5856168328
+    isfamily 0
+    isfriend 0
+    ispublic 1
+    owner 32021554@N04
+    secret 0c1cfdf64c
+    server 5078
+    title 7020 mandy cat
+   4
+    farm 3
+    id 5856171774
+    isfamily 0
+    isfriend 0
+    ispublic 1
+    owner 32021554@N04
+    secret 7f5a3180ab
+    server 2696
+    title 7448 bobby cat

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sql.sql
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sql.sql b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sql.sql
new file mode 100644
index 0000000..d674f8a
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/sql.sql
@@ -0,0 +1,6 @@
+SELECT city, COUNT(id) AS users_count
+FROM users
+WHERE group_name = 'salesman'
+AND created > '2011-05-21'
+GROUP BY 1
+ORDER BY 2 DESC
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/stylus.styl
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/stylus.styl b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/stylus.styl
new file mode 100644
index 0000000..614981a
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/stylus.styl
@@ -0,0 +1,55 @@
+// I'm a comment!
+
+/*
+ * Adds the given numbers together.
+ */
+
+
+/*!
+ * Adds the given numbers together.
+ */
+
+
+asdasdasdad(df, ad=23)
+
+add(a, b = a)
+   a + b
+green(#0c0)
+ add(10, 5)
+ // => 15
+
+ add(10)
+ add(a, b)
+
+    &asdasd
+
+    (arguments)
+
+    @sdfsdf
+.signatures
+  background-color #e0e8e0
+  border 1px solid grayLighter
+  box-shadow 0 0 3px grayLightest
+  border-radius 3px
+  padding 3px 5px
+  "adsads"
+  margin-left 0
+  list-style none
+.signature
+  list-style none
+  display: inline
+  margin-left 0
+  > li
+    display inline
+is not
+.signature-values
+  list-style none
+  display inline
+  margin-left 0
+  &:before
+    content '→'
+    margin 0 5px
+  > li
+  !important
+
+  unless
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/svg.svg
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/svg.svg b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/svg.svg
new file mode 100644
index 0000000..4bb28e2
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/svg.svg
@@ -0,0 +1,83 @@
+<svg
+  width="800" height="600"
+  xmlns="http://www.w3.org/2000/svg"
+  onload="StartAnimation(evt)">
+
+  <title>Test Tube Progress Bar</title>
+  <desc>Created for the Web Directions SVG competition</desc>
+
+  <script type="text/ecmascript"><![CDATA[
+    var timevalue = 0;
+    var timer_increment = 1;
+    var max_time = 100;
+    var hickory;
+    var dickory;
+    var dock;
+    var i;
+
+    function StartAnimation(evt) {
+        hickory  = evt.target.ownerDocument.getElementById("hickory");
+        dickory = evt.target.ownerDocument.getElementById("dickory");
+        dock = evt.target.ownerDocument.getElementById("dock");
+
+        ShowAndGrowElement();
+    }
+    function ShowAndGrowElement() {
+        timevalue = timevalue + timer_increment;
+        if (timevalue > max_time)
+            return;
+        // Scale the text string gradually until it is 20 times larger
+        scalefactor = (timevalue * 650) / max_time;
+
+        if (timevalue < 30) {
+            hickory.setAttribute("display", "");
+            hickory.setAttribute("transform", "translate(" + (600+scalefactor*3*-1 ) + ", -144 )");
+        }
+
+        if (timevalue > 30 && timevalue < 66) {
+            dickory.setAttribute("display", "");
+            dickory.setAttribute("transform", "translate(" + (-795+scalefactor*2) + ", 0 )");
+        }
+        if (timevalue > 66) {
+            dock.setAttribute("display", "");
+            dock.setAttribute("transform", "translate(" + (1450+scalefactor*2*-1) + ", 144 )");
+        }
+
+        // Call ShowAndGrowElement again <timer_increment> milliseconds later.
+        setTimeout("ShowAndGrowElement()", timer_increment)
+    }
+    window.ShowAndGrowElement = ShowAndGrowElement
+  ]]></script>
+
+  <rect
+    fill="#2e3436"
+    fill-rule="nonzero"
+    stroke-width="3"
+    y="0"
+    x="0"
+    height="600"
+    width="800"
+    id="rect3590"/>
+
+    <text
+       style="font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold"
+       x="50"
+       y="350"
+       id="hickory"
+       display="none">
+        Hickory,</text>
+    <text
+       style="font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold"
+       x="50"
+       y="350"
+       id="dickory"
+       display="none">
+        dickory,</text>
+    <text
+       style="font-size:144px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold"
+       x="50"
+       y="350"
+       id="dock"
+       display="none">
+        dock!</text>
+</svg>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/tcl.tcl
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/tcl.tcl b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/tcl.tcl
new file mode 100644
index 0000000..5c53b97
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/tcl.tcl
@@ -0,0 +1,40 @@
+
+proc dijkstra {graph origin} {
+    # Initialize
+    dict for {vertex distmap} $graph {
+	dict set dist $vertex Inf
+	dict set path $vertex {}
+    }
+    dict set dist $origin 0
+    dict set path $origin [list $origin]
+ 
+    while {[dict size $graph]} {
+	# Find unhandled node with least weight
+	set d Inf
+	dict for {uu -} $graph {
+	    if {$d > [set dd [dict get $dist $uu]]} {
+		set u $uu
+		set d $dd
+	    }
+	}
+ 
+	# No such node; graph must be disconnected
+	if {$d == Inf} break
+ 
+	# Update the weights for nodes\
+	 lead to by the node we've picked
+	dict for {v dd} [dict get $graph $u] {
+	    if {[dict exists $graph $v]} {
+		set alt [expr {$d + $dd}]
+		if {$alt < [dict get $dist $v]} {
+		    dict set dist $v $alt
+		    dict set path $v [list {*}[dict get $path $u] $v]
+		}
+	    }
+	}
+ 
+	# Remove chosen node from graph still to be handled
+	dict unset graph $u
+    }
+    return [list $dist $path]
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/tex.tex
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/tex.tex b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/tex.tex
new file mode 100644
index 0000000..9f1df62
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/tex.tex
@@ -0,0 +1,20 @@
+The quadratic formula is $$-b \pm \sqrt{b^2 - 4ac} \over 2a$$
+\bye
+
+\makeatletter
+ \newcommand{\be}{%
+ \begingroup
+ % \setlength{\arraycolsep}{2pt}
+ \eqnarray%
+ \@ifstar{\nonumber}{}%
+  }
+  \newcommand{\ee}{\endeqnarray\endgroup}
+  \makeatother
+
+ \begin{equation}
+ x=\left\{ \begin{array}{cl}
+ 0 & \textrm{if }A=\ldots\\
+ 1 & \textrm{if }B=\ldots\\
+ x & \textrm{this runs with as much text as you like, but without an raggeright text
+.}\end{array}\right.
+ \end{equation}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/textile.textile
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/textile.textile b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/textile.textile
new file mode 100644
index 0000000..8c67ec1
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/textile.textile
@@ -0,0 +1,29 @@
+h1. Textile document
+
+h2. Heading Two
+
+h3. A two-line
+    header
+
+h2. Another two-line
+header
+
+Paragraph:
+one, two,
+thee lines!
+
+p(classone two three). This is a paragraph with classes
+
+p(#id). (one with an id)
+
+p(one two three#my_id). ..classes + id
+
+* Unordered list
+** sublist
+* back again!
+** sublist again..
+
+# ordered
+
+bg. Blockquote!
+    This is a two-list blockquote..!
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/toml.toml
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/toml.toml b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/toml.toml
new file mode 100644
index 0000000..46e5b9d
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/toml.toml
@@ -0,0 +1,29 @@
+# This is a TOML document. Boom.
+
+title = "TOML Example"
+
+[owner]
+name = "Tom Preston-Werner"
+organization = "GitHub"
+bio = "GitHub Cofounder & CEO\nLikes tater tots and beer."
+dob = 1979-05-27T07:32:00Z # First class dates? Why not?
+
+[database]
+server = "192.168.1.1"
+ports = [ 8001, 8001, 8002 ]
+connection_max = 5000
+enabled = true
+
+[servers]
+
+  # You can indent as you please. Tabs or spaces. TOML don't care.
+  [servers.alpha]
+  ip = "10.0.0.1"
+  dc = "eqdc10"
+
+  [servers.beta]
+  ip = "10.0.0.2"
+  dc = "eqdc10"
+
+[clients]
+data = [ ["gamma", "delta"], [1, 2] ] # just an update to make sure parsers support it
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/twig.twig
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/twig.twig b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/twig.twig
new file mode 100644
index 0000000..02214f0
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/twig.twig
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>My Webpage</title>
+    </head>
+    <body>
+        <ul id="navigation">
+        {% for item in navigation %}
+            <li><a href="{{ item.href|escape }}">{{ item.caption }}</a></li>
+        {% endfor %}
+        </ul>
+
+        {% if 1 not in [1, 2, 3] %}
+
+        {# is equivalent to #}
+        {% if not (1 in [1, 2, 3]) %}
+
+        {% autoescape true %}
+            {{ var }}
+            {{ var|raw }}     {# var won't be escaped #}
+            {{ var|escape }}  {# var won't be doubled-escaped #}
+        {% endautoescape %}
+
+        {{ include('twig.html', sandboxed = true) }}
+
+        {{"string #{with} \" escapes" 'another#one' }}
+        <h1>My Webpage</h1>
+        {{ a_variable }}
+    </body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/typescript.ts
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/typescript.ts b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/typescript.ts
new file mode 100644
index 0000000..2f880d0
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/typescript.ts
@@ -0,0 +1,72 @@
+class Greeter {
+	greeting: string;
+	constructor (message: string) {
+		this.greeting = message;
+	}
+	greet() {
+		return "Hello, " + this.greeting;
+	}
+}   
+
+var greeter = new Greeter("world");
+
+var button = document.createElement('button')
+button.innerText = "Say Hello"
+button.onclick = function() {
+	alert(greeter.greet())
+}
+
+document.body.appendChild(button)
+
+class Snake extends Animal {
+   move() {
+       alert("Slithering...");
+       super(5);
+   }
+}
+
+class Horse extends Animal {
+   move() {
+       alert("Galloping...");
+       super.move(45);
+   }
+}
+
+module Sayings {
+    export class Greeter {
+        greeting: string;
+        constructor (message: string) {
+            this.greeting = message;
+        }
+        greet() {
+            return "Hello, " + this.greeting;
+        }
+    }
+}
+module Mankala {
+   export class Features {
+       public turnContinues = false;
+       public seedStoredCount = 0;
+       public capturedCount = 0;
+       public spaceCaptured = NoSpace;
+
+       public clear() {
+           this.turnContinues = false;
+           this.seedStoredCount = 0;
+           this.capturedCount = 0;
+           this.spaceCaptured = NoSpace;
+       }
+
+       public toString() {
+           var stringBuilder = "";
+           if (this.turnContinues) {
+               stringBuilder += " turn continues,";
+           }
+           stringBuilder += " stores " + this.seedStoredCount;
+           if (this.capturedCount > 0) {
+               stringBuilder += " captures " + this.capturedCount + " from space " + this.spaceCaptured;
+           }
+           return stringBuilder;
+       }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/vala.vala
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/vala.vala b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/vala.vala
new file mode 100644
index 0000000..f960028
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/vala.vala
@@ -0,0 +1,21 @@
+using Gtk;
+ 
+int main (string[] args) {
+    Gtk.init (ref args);
+    var foo = new MyFoo<string[](), MyBar<string, int>>();
+
+    var window = new Window();
+    window.title = "Hello, World!";
+    window.border_width = 10;
+    window.window_position = WindowPosition.CENTER;
+    window.set_default_size(350, 70);
+    window.destroy.connect(Gtk.main_quit);
+ 
+    var label = new Label("Hello, World!");
+ 
+    window.add(label);
+    window.show_all();
+ 
+    Gtk.main();
+    return 0;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/vbscript.vbs
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/vbscript.vbs b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/vbscript.vbs
new file mode 100644
index 0000000..b62f2a7
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/vbscript.vbs
@@ -0,0 +1,23 @@
+myfilename = "C:\Wikipedia - VBScript - Example - Hello World.txt"
+MakeHelloWorldFile myfilename
+ 
+Sub MakeHelloWorldFile (FileName)
+'Create a new file in C: drive or overwrite existing file
+   Set FSO = CreateObject("Scripting.FileSystemObject")
+   If FSO.FileExists(FileName) Then 
+      Answer = MsgBox ("File " & FileName & " exists ... OK to overwrite?", vbOKCancel)
+      'If button selected is not OK, then quit now
+      'vbOK is a language constant
+      If Answer <> vbOK Then Exit Sub
+   Else
+      'Confirm OK to create
+      Answer = MsgBox ("File " & FileName & " ... OK to create?", vbOKCancel)
+      If Answer <> vbOK Then Exit Sub
+   End If
+   'Create new file (or replace an existing file)
+   Set FileObject = FSO.CreateTextFile (FileName)
+   FileObject.WriteLine "Time ... " & Now()
+   FileObject.WriteLine "Hello World"
+   FileObject.Close()
+   MsgBox "File " & FileName & " ... updated."
+End Sub
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/velocity.vm
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/velocity.vm b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/velocity.vm
new file mode 100644
index 0000000..9156020
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/velocity.vm
@@ -0,0 +1,44 @@
+#*
+  This is a sample comment block that
+  spans multiple lines.
+*#
+
+#macro ( outputItem $item )
+  <li>${item}</li>
+#end
+
+## Define the items to iterate
+#set ( $items = [1, 2, 3, 4] )
+
+<ul>
+  ## Iterate over the items and output the evens.
+  #foreach ( $item in $items )
+    #if ( $_MathTool.mod($item, 2) == 0 )
+      #outputItem ($item)
+    #end
+  #end
+</ul>
+
+<script>
+  /*
+    A sample function to decomstrate
+    JavaScript highlighting and folding.
+  */
+  function foo(items, nada) {
+    for (var i=0; i<items.length; i++) {
+      alert(items[i] + "juhu\n");
+    }
+  }
+</script>
+
+<style>
+  /*
+    A sample style to decomstrate
+    CSS highlighting and folding.
+  */
+  .class {
+    font-family: Monaco, "Courier New", monospace;
+    font-size: 12px;
+    cursor: text;
+  }
+</style>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/verilog.v
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/verilog.v b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/verilog.v
new file mode 100644
index 0000000..b1f7926
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/verilog.v
@@ -0,0 +1,12 @@
+always @(negedge reset or posedge clk) begin
+  if (reset == 0) begin
+    d_out <= 16'h0000;
+    d_out_mem[resetcount] <= d_out;
+    laststoredvalue <= d_out;
+  end else begin
+    d_out <= d_out + 1'b1; 
+  end
+end
+
+always @(bufreadaddr)
+  bufreadval = d_out_mem[bufreadaddr];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/vhdl.vhd
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/vhdl.vhd b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/vhdl.vhd
new file mode 100644
index 0000000..662375e
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/vhdl.vhd
@@ -0,0 +1,34 @@
+library IEEE
+user IEEE.std_logic_1164.all;
+use IEEE.numeric_std.all;
+
+entity COUNT16 is
+
+    port (
+        cOut    :out    std_logic_vector(15 downto 0);  -- counter output
+        clkEn   :in     std_logic;                      -- count enable
+        clk     :in     std_logic;                      -- clock input
+        rst     :in     std_logic                       -- reset input
+        );
+        
+end entity;
+
+architecture count_rtl of COUNT16 is
+    signal count :std_logic_vector (15 downto 0);
+    
+begin
+    process (clk, rst) begin
+        
+        if(rst = '1') then
+            count <= (others=>'0');
+        elsif(rising_edge(clk)) then
+            if(clkEn = '1') then
+                count <= count + 1;
+            end if;
+        end if;
+        
+    end process;
+    cOut <= count;
+
+end architecture;
+    
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/xml.xml
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/xml.xml b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/xml.xml
new file mode 100644
index 0000000..5b12c0a
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/xml.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng"
+    yahoo:count="7" yahoo:created="2011-10-11T08:40:23Z" yahoo:lang="en-US">
+    <diagnostics>
+        <publiclyCallable>true</publiclyCallable>
+        <url execution-start-time="0" execution-stop-time="25" execution-time="25"><![CDATA[http://where.yahooapis.com/v1/continents;start=0;count=10]]></url>
+        <user-time>26</user-time>
+        <service-time>25</service-time>
+        <build-version>21978</build-version>
+    </diagnostics> 
+    <results>
+        <place xmlns="http://where.yahooapis.com/v1/schema.rng"
+            xml:lang="en-US" yahoo:uri="http://where.yahooapis.com/v1/place/24865670">
+            <woeid>24865670</woeid>
+            <placeTypeName code="29">Continent</placeTypeName>
+            <name>Africa</name>
+        </place>
+        <place xmlns="http://where.yahooapis.com/v1/schema.rng"
+            xml:lang="en-US" yahoo:uri="http://where.yahooapis.com/v1/place/24865675">
+            <woeid>24865675</woeid>
+            <placeTypeName code="29">Continent</placeTypeName>
+            <name>Europe</name>
+        </place>
+        <place xmlns="http://where.yahooapis.com/v1/schema.rng"
+            xml:lang="en-US" yahoo:uri="http://where.yahooapis.com/v1/place/24865673">
+            <woeid>24865673</woeid>
+            <placeTypeName code="29">Continent</placeTypeName>
+            <name>South America</name>
+        </place>
+        <place xmlns="http://where.yahooapis.com/v1/schema.rng"
+            xml:lang="en-US" yahoo:uri="http://where.yahooapis.com/v1/place/28289421">
+            <woeid>28289421</woeid>
+            <placeTypeName code="29">Continent</placeTypeName>
+            <name>Antarctic</name>
+        </place>
+        <place xmlns="http://where.yahooapis.com/v1/schema.rng"
+            xml:lang="en-US" yahoo:uri="http://where.yahooapis.com/v1/place/24865671">
+            <woeid>24865671</woeid>
+            <placeTypeName code="29">Continent</placeTypeName>
+            <name>Asia</name>
+        </place>
+        <place xmlns="http://where.yahooapis.com/v1/schema.rng"
+            xml:lang="en-US" yahoo:uri="http://where.yahooapis.com/v1/place/24865672">
+            <woeid>24865672</woeid>
+            <placeTypeName code="29">Continent</placeTypeName>
+            <name>North America</name>
+        </place>
+        <place xmlns="http://where.yahooapis.com/v1/schema.rng"
+            xml:lang="en-US" yahoo:uri="http://where.yahooapis.com/v1/place/55949070">
+            <woeid>55949070</woeid>
+            <placeTypeName code="29">Continent</placeTypeName>
+            <name>Australia</name>
+        </place>
+    </results>
+</query>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/xquery.xq
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/xquery.xq b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/xquery.xq
new file mode 100644
index 0000000..1b0ac75
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/xquery.xq
@@ -0,0 +1,6 @@
+xquery version "1.0";
+
+let $message := "Hello World!"
+return <results>
+  <message>{$message}</message>
+</results>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/yaml.yaml
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/yaml.yaml b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/yaml.yaml
new file mode 100644
index 0000000..52ee320
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/yaml.yaml
@@ -0,0 +1,35 @@
+# This sample document was taken from wikipedia:
+# http://en.wikipedia.org/wiki/YAML#Sample_document
+---
+receipt:     Oz-Ware Purchase Invoice
+date:        2007-08-06
+customer:
+    given:   Dorothy
+    family:  Gale
+
+items:
+    - part_no:   'A4786'
+      descrip:   Water Bucket (Filled)
+      price:     1.47
+      quantity:  4
+
+    - part_no:   'E1628'
+      descrip:   High Heeled "Ruby" Slippers
+      size:      8
+      price:     100.27
+      quantity:  1
+
+bill-to:  &id001
+    street: |
+            123 Tornado Alley
+            Suite 16
+    city:   East Centerville
+    state:  KS
+
+ship-to:  *id001
+
+specialDelivery:  >
+    Follow the Yellow Brick
+    Road to the Emerald City.
+    Pay no attention to the
+    man behind the curtain.

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/styles.css
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/styles.css b/webapp/app/components/ace-builds/demo/kitchen-sink/styles.css
index e590978..3f46f70 100644
--- a/webapp/app/components/ace-builds/demo/kitchen-sink/styles.css
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/styles.css
@@ -1,7 +1,3 @@
-/*PACKAGE
-@import url(//fonts.googleapis.com/css?family=Droid+Sans+Mono);
-  PACKAGE*/
-
 html {
     height: 100%;
     width: 100%;
@@ -20,12 +16,12 @@ body {
     color: white;
 }
 
-#logo {
-    padding: 15px;
-    margin-left: 70px;
+#c9-logo, #ace-logo {
+    padding: 0;
+    border: none;
 }
 
-#editor {
+#editor-container {
     position: absolute;
     top:  0px;
     left: 280px;
@@ -44,4 +40,16 @@ body {
 
 #controls td + td {
     text-align: left;
-}
\ No newline at end of file
+}
+.ace_status-indicator {
+    color: gray;
+    position: absolute;
+    right: 0;
+    border-left: 1px solid;
+}
+
+/* .ace_text-input {
+    z-index: 10!important;
+    opacity: 1!important;
+    background: rgb(84, 0, 255)!important;
+}*/

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/modelist.html
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/modelist.html b/webapp/app/components/ace-builds/demo/modelist.html
new file mode 100644
index 0000000..d233cf7
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/modelist.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+  <title>ACE Editor Modelist Demo</title>
+  <style type="text/css" media="screen">
+    body {
+        overflow: hidden;
+    }
+    
+    #editor { 
+        margin: 0;
+        position: absolute;
+        top: 0;
+        bottom: 0;
+        left: 0;
+        right: 0;
+    }
+  </style>
+</head>
+<body>
+
+<pre id="editor"></pre>
+    
+<!-- load ace -->
+<script src="../src/ace.js"></script>
+<!-- load ace modelist extension -->
+<script src="../src/ext-modelist.js"></script>
+<script>
+    var editor = ace.edit("editor");
+    editor.setTheme("ace/theme/twilight");
+    (function () {
+        var modelist = ace.require("ace/ext/modelist");
+        // the file path could come from an xmlhttp request, a drop event,
+        // or any other scriptable file loading process.
+        // Extensions could consume the modelist and use it to dynamically
+        // set the editor mode. Webmasters could use it in their scripts
+        // for site specific purposes as well.
+        var filePath = "blahblah/weee/some.js";
+        var mode = modelist.getModeForPath(filePath).mode;
+        console.log(mode);
+        editor.session.setMode(mode);
+    }());
+</script>
+
+<script src="./show_own_source.js"></script>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/r.js
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/r.js b/webapp/app/components/ace-builds/demo/r.js
new file mode 100644
index 0000000..a3c0491
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/r.js
@@ -0,0 +1,55 @@
+({
+    optimize: "none",
+    preserveLicenseComments: false,
+    name: "node_modules/almond/almond",
+    baseUrl: "../../",
+    paths: {
+        ace : "lib/ace",
+        demo: "demo/kitchen-sink"        
+    },
+    packages: [
+    ],
+    include: [
+        "ace/ace"
+    ],
+    exclude: [
+    ],
+    out: "./packed.js",
+    useStrict: true,
+    wrap: false
+})<!DOCTYPE html>
+
+<html>
+<head>
+    <title>Editor</title>
+    <link rel="stylesheet" href="../kitchen-sink/styles.css" type="text/css" media="screen" charset="utf-8">    
+</head>
+<body>
+    <div id="optionsPanel" style="position:absolute;height:100%;width:260px">
+        <a href="http://c9.io" title="Cloud9 IDE | Your code anywhere, anytime">
+            <img id="c9-logo" src="../kitchen-sink/logo.png" style="width: 172px;margin: -9px 30px -12px 51px;">
+        </a>
+    </div>
+    <pre id="editor-container">
+        <div style="color:black; padding: 10px">
+            demo showing Ace usage with r.js:
+            
+            install r.js and almond
+            and run `<code>r.js -o demo/r.js/build.js</code>`
+            
+            note that you also need ace/build/src to lazy load modes and themes
+            require("ace/config").set("basePath", "../../build/src");
+            require("ace/config").set("packaged", true);
+        <div>
+    </pre>
+
+    <script src="./packed.js" data-ace-base="src" type="text/javascript" charset="utf-8"></script>  
+    <script type="text/javascript" charset="utf-8">
+        require("ace/config").set("basePath", "../../build/src")
+        require("ace/config").set("packaged", true)
+        var editor = require("ace/ace").edit("editor-container");
+        editor.session.setMode("ace/mode/javascript");
+        // editor.session.setValue("var editor = Ace!")
+    </script>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/scrollable-page.html
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/scrollable-page.html b/webapp/app/components/ace-builds/demo/scrollable-page.html
new file mode 100644
index 0000000..b39d602
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/scrollable-page.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+  <title>Editor</title>
+  <style type="text/css" media="screen">
+    .ace_editor {
+        position: relative !important;
+        border: 1px solid lightgray;
+        margin: auto;
+        height: 200px;
+        width: 80%;
+    }
+
+    .ace_editor.fullScreen {
+        height: auto;
+        width: auto;
+        border: 0;
+        margin: 0;
+        position: fixed !important;
+        top: 0;
+        bottom: 0;
+        left: 0;
+        right: 0;
+        z-index: 10;
+    }
+
+    .fullScreen {
+        overflow: hidden
+    }
+
+    .scrollmargin {
+        height: 500px;
+        text-align: center;
+    }
+
+    .large-button {
+        color: lightblue;
+        cursor: pointer;
+        font: 30px arial;
+        padding: 20px;
+        text-align: center;
+        border: medium solid transparent;
+        display: inline-block;
+    }
+    .large-button:hover {
+        border: medium solid lightgray;
+        border-radius: 10px 10px 10px 10px;
+        box-shadow: 0 0 12px 0 lightblue;
+    }
+  </style>
+</head>
+<body>
+<div class="scrollmargin">
+    <span onclick="scroll()" class="large-button">
+    scroll down &dArr;
+    </span>
+</div>
+<pre id="editor">function foo(items) {
+    var i;
+    for (i = 0; i &lt; items.length; i++) {
+        alert("Ace Rocks " + items[i]);
+    }
+
+}</pre>
+<div class="scrollmargin">
+    <div style="padding:20px">
+        press F11 to switch to fullscreen mode
+    </div>
+    <span onclick="add()" class="large-button">
+        +
+    </span>
+
+</div>
+
+<!-- load ace -->
+<script src="../src/ace.js"></script>
+<!-- load ace themelist extension -->
+<script src="../src/ext-themelist.js"></script>
+<script>
+
+var $ = document.getElementById.bind(document);
+var dom = require("ace/lib/dom");
+
+//add command to all new editor instaces
+require("ace/commands/default_commands").commands.push({
+    name: "Toggle Fullscreen",
+    bindKey: "F11",
+    exec: function(editor) {
+        var fullScreen = dom.toggleCssClass(document.body, "fullScreen")
+        dom.setCssClass(editor.container, "fullScreen", fullScreen)
+        editor.setAutoScrollEditorIntoView(!fullScreen)
+        editor.resize()
+    }
+})
+
+// create first editor
+var editor = ace.edit("editor");
+editor.setTheme("ace/theme/twilight");
+editor.session.setMode("ace/mode/javascript");
+editor.renderer.setScrollMargin(10, 10);
+editor.setOptions({
+    // "scrollPastEnd": 0.8,
+    autoScrollEditorIntoView: true
+});
+
+var count = 1;
+function add() {
+    var oldEl = editor.container
+    var pad = document.createElement("div")
+    pad.style.padding = "40px"
+    oldEl.parentNode.insertBefore(pad, oldEl.nextSibling)
+
+    var el = document.createElement("div")
+    oldEl.parentNode.insertBefore(el, pad.nextSibling)
+
+    count++
+    var theme = themes[Math.floor(themes.length * Math.random() - 1e-5)]
+    editor = ace.edit(el)
+    editor.setOptions({
+        mode: "ace/mode/javascript",
+        theme: theme,
+        autoScrollEditorIntoView: true
+    })
+
+    editor.setValue([
+        "this is editor number: ", count, "\n",
+        "using theme \"", theme, "\"\n",
+        ":)"
+    ].join(""), -1)
+
+    scroll()
+}
+
+function scroll(speed) {
+    var top = editor.container.getBoundingClientRect().top
+    speed = speed || 10
+    if (top > 60 && speed < 500) {
+        if (speed > top - speed - 50)
+            speed = top - speed - 50
+        else
+            setTimeout(scroll, 10, speed + 10)
+        window.scrollBy(0, speed)
+    }
+}
+
+var themes = require("ace/ext/themelist").themes.map(function(t){return t.theme});
+
+window.add = add;
+window.scroll = scroll;
+</script>
+
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/settings_menu.html
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/settings_menu.html b/webapp/app/components/ace-builds/demo/settings_menu.html
new file mode 100644
index 0000000..d152bfb
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/settings_menu.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+  <title>Editor</title>
+  <style type="text/css" media="screen">
+    body {
+        overflow: hidden;
+    }
+    
+    #editor { 
+        margin: 0;
+        position: absolute;
+        top: 0;
+        bottom: 0;
+        left: 0;
+        right: 0;
+    }
+  </style>
+</head>
+<body>
+
+<pre id="editor"></pre>
+    
+<!-- load ace -->
+<script src="../src/ace.js"></script>
+<!-- load ace settings_menu extension -->
+<script src="../src/ext-settings_menu.js"></script>
+<script>
+    var editor = ace.edit("editor");
+    ace.require('ace/ext/settings_menu').init(editor);
+    editor.setTheme("ace/theme/twilight");
+    editor.session.setMode("ace/mode/html");
+	editor.commands.addCommands([{
+		name: "showSettingsMenu",
+		bindKey: {win: "Ctrl-q", mac: "Command-q"},
+		exec: function(editor) {
+			editor.showSettingsMenu();
+		},
+		readOnly: true
+	}]);
+</script>
+
+<script src="./show_own_source.js"></script>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/show_own_source.js
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/show_own_source.js b/webapp/app/components/ace-builds/demo/show_own_source.js
new file mode 100644
index 0000000..a9e0ec6
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/show_own_source.js
@@ -0,0 +1,16 @@
+if (typeof ace == "undefined" && typeof require == "undefined") {
+    document.body.innerHTML = "<p style='padding: 20px 50px;'>couldn't find ace.js file, <br>"
+        + "to build it run <code>node Makefile.dryice.js full<code>"
+} else if (typeof ace == "undefined" && typeof require != "undefined") {
+    require(["ace/ace"], setValue)
+} else {
+    require = ace.require;
+    setValue()
+}
+
+function setValue() {
+    require("ace/lib/net").get(document.baseURI, function(t){
+        var el = document.getElementById("editor");
+        el.env.editor.setValue(t, 1);
+    })
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/static-highlighter.html
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/static-highlighter.html b/webapp/app/components/ace-builds/demo/static-highlighter.html
new file mode 100644
index 0000000..4646c07
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/static-highlighter.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<title>Static Code highlighter using Ace</title>
+	<meta name="author" content="Matthew Kastor">
+    <style type="text/css">
+        .code {
+            width: 50%;
+            position: relative;
+            white-space: pre-wrap;
+        }
+    </style>
+</head>
+<body>
+
+<h2>Client Side Syntax Highlighting</h2>
+
+<p>Syntax highlighting using Ace language modes and themes.</p>
+
+<div class="code" ace-mode="ace/mode/css" ace-theme="ace/theme/chrome" ace-gutter="true">
+.code {
+    width: 50%;
+    
+    position: relative;
+    white-space: pre-wrap;
+}
+
+</div>
+
+<pre class="code" ace-mode="ace/mode/javascript" ace-theme="ace/theme/twilight">
+function wobble (flam) {
+    return flam.wobbled = true;
+}
+
+</pre>
+
+<!-- load ace -->
+<script src="../src/ace.js"></script>
+<!-- load ace static_highlight extension -->
+<script src="../src/ext-static_highlight.js"></script>
+<script>
+    var highlight = ace.require("ace/ext/static_highlight")
+    var dom = ace.require("ace/lib/dom")
+    function qsa(sel) {
+        return Array.apply(null, document.querySelectorAll(sel));
+    }
+
+    qsa(".code").forEach(function (codeEl) {
+        highlight(codeEl, {
+            mode: codeEl.getAttribute("ace-mode"),
+            theme: codeEl.getAttribute("ace-theme"),
+            startLineNumber: 1,
+            showGutter: codeEl.getAttribute("ace-gutter"),
+            trim: true
+        }, function (highlighted) {
+            
+        });
+    });
+</script>
+
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/statusbar.html
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/statusbar.html b/webapp/app/components/ace-builds/demo/statusbar.html
new file mode 100644
index 0000000..e8ab5b1
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/statusbar.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+  <title>ACE Editor StatusBar Demo</title>
+  <style type="text/css" media="screen">
+    body {
+        overflow: hidden;
+    }
+    
+    #editor { 
+        margin: 0;
+        position: absolute;
+        top: 0;
+        bottom: 20px;
+        left: 0;
+        right: 0;
+    }
+    #statusBar {
+        margin: 0;
+        padding: 0;
+        position: absolute;
+        left: 0;
+        right: 0;
+        bottom: 0;
+        height: 20px;
+        background-color: rgb(245, 245, 245);
+        color: gray;
+    }
+    .ace_status-indicator {
+        color: gray;
+        position: absolute;
+        right: 0;
+        border-left: 1px solid;
+    }
+  </style>
+</head>
+<body>
+
+<pre id="editor"></pre>
+<div id="statusBar">ace rocks!</div>
+    
+<!-- load ace -->
+<script src="../src/ace.js"></script>
+<!-- load ace statusbar extension -->
+<script src="../src/ext-statusbar.js"></script>
+<script>
+    var editor = ace.edit("editor");
+    var StatusBar = ace.require("ace/ext/statusbar").StatusBar;
+    // create a simple selection status indicator
+    var statusBar = new StatusBar(editor, document.getElementById("statusBar"));
+    editor.setTheme("ace/theme/dawn");
+    editor.session.setMode("ace/mode/html");
+</script>
+
+<script src="./show_own_source.js"></script>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/editor.html
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/editor.html b/webapp/app/components/ace-builds/editor.html
index 06a4651..1d972cf 100644
--- a/webapp/app/components/ace-builds/editor.html
+++ b/webapp/app/components/ace-builds/editor.html
@@ -8,8 +8,8 @@
     body {
         overflow: hidden;
     }
-    
-    #editor { 
+
+    #editor {
         margin: 0;
         position: absolute;
         top: 0;
@@ -27,7 +27,7 @@
         alert("Ace Rocks " + items[i]);
     }
 }</pre>
-    
+
 <script src="src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>
 <script>
     var editor = ace.edit("editor");