http://git-wip-us.apache.org/repos/asf/isis/blob/e9f6463f/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/geo.js
----------------------------------------------------------------------
diff --git 
a/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/geo.js
 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/geo.js
new file mode 100644
index 0000000..609c20d
--- /dev/null
+++ 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/geo.js
@@ -0,0 +1,56 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"ყურადღება: აღარ 
გამოიყენება",
+    "Implementation Notes":"იმპლემენტაციის 
აღწერა",
+    "Response Class":"რესპონს კლასი",
+    "Status":"სტატუსი",
+    "Parameters":"პარამეტრები",
+    "Parameter":"პარამეტრი",
+    "Value":"მნიშვნელობა",
+    "Description":"აღწერა",
+    "Parameter Type":"პარამეტრის ტიპი",
+    "Data Type":"მონაცემის ტიპი",
+    "Response Messages":"პასუხი",
+    "HTTP Status Code":"HTTP სტატუსი",
+    "Reason":"მიზეზი",
+    "Response Model":"რესპონს მოდელი",
+    "Request URL":"მოთხოვნის URL",
+    "Response Body":"პასუხის სხეული",
+    "Response Code":"პასუხის კოდი",
+    "Response Headers":"პასუხის ჰედერები",
+    "Hide Response":"დამალე პასუხი",
+    "Headers":"ჰედერები",
+    "Try it out!":"ცადე !",
+    "Show/Hide":"გამოჩენა/დამალვა",
+    "List Operations":"ოპერაციების სია",
+    "Expand Operations":"ოპერაციები ვრცლად",
+    "Raw":"ნედლი",
+    "can't parse JSON.  Raw result":"JSON-ის 
დამუშავება ვერ მოხერხდა.  
ნედლი პასუხი",
+    "Example Value":"მაგალითი",
+    "Model Schema":"მოდელის სტრუქტურა",
+    "Model":"მოდელი",
+    "Click to set as parameter value":"პარამეტრ
ისთვის მნიშვნელობის 
მისანიჭებლად, დააკლიკე",
+    "apply":"გამოყენება",
+    "Username":"მოხმარებელი",
+    "Password":"პაროლი",
+    "Terms of service":"მომსახურების პირ
ობები",
+    "Created by":"შექმნა",
+    "See more at":"ნახე ვრცლად",
+    "Contact the developer":"დაუკავშირდი 
დეველოპერს",
+    "api version":"api ვერსია",
+    "Response Content Type":"პასუხის კონტენტის 
ტიპი",
+    "Parameter content type:":"პარამეტრის 
კონტენტის ტიპი:",
+    "fetching resource":"რესურსების მიღება",
+    "fetching resource list":"რესურსების სიის 
მიღება",
+    "Explore":"ნახვა",
+    "Show Swagger Petstore Example Apis":"ნახე Swagger Petstore 
სამაგალითო Api",
+    "Can't read from server.  It may not have the appropriate 
access-control-origin settings.":"სერვერთან 
დაკავშირება ვერ ხერხდება.  
შეამოწმეთ access-control-origin.",
+    "Please specify the protocol for":"მიუთითეთ პრ
ოტოკოლი",
+    "Can't read swagger JSON from":"swagger JSON წაკითხვა 
ვერ მოხერხდა",
+    "Finished Loading Resource Information. Rendering Swagger UI":"რ
ესურსების ჩატვირთვა სრ
ულდება. Swagger UI რენდერდება",
+    "Unable to read api":"api წაკითხვა ვერ 
მოხერხდა",
+    "from path":"მისამართიდან",
+    "server returned":"სერვერმა დააბრუნა"
+});

http://git-wip-us.apache.org/repos/asf/isis/blob/e9f6463f/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/it.js
----------------------------------------------------------------------
diff --git 
a/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/it.js
 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/it.js
new file mode 100644
index 0000000..8529c2a
--- /dev/null
+++ 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/it.js
@@ -0,0 +1,52 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"Attenzione: Deprecato",
+    "Implementation Notes":"Note di implementazione",
+    "Response Class":"Classe della risposta",
+    "Status":"Stato",
+    "Parameters":"Parametri",
+    "Parameter":"Parametro",
+    "Value":"Valore",
+    "Description":"Descrizione",
+    "Parameter Type":"Tipo di parametro",
+    "Data Type":"Tipo di dato",
+    "Response Messages":"Messaggi della risposta",
+    "HTTP Status Code":"Codice stato HTTP",
+    "Reason":"Motivo",
+    "Response Model":"Modello di risposta",
+    "Request URL":"URL della richiesta",
+    "Response Body":"Corpo della risposta",
+    "Response Code":"Oggetto della risposta",
+    "Response Headers":"Intestazioni della risposta",
+    "Hide Response":"Nascondi risposta",
+    "Try it out!":"Provalo!",
+    "Show/Hide":"Mostra/Nascondi",
+    "List Operations":"Mostra operazioni",
+    "Expand Operations":"Espandi operazioni",
+    "Raw":"Grezzo (raw)",
+    "can't parse JSON.  Raw result":"non è possibile parsare il JSON. 
Risultato grezzo (raw).",
+    "Model Schema":"Schema del modello",
+    "Model":"Modello",
+    "apply":"applica",
+    "Username":"Nome utente",
+    "Password":"Password",
+    "Terms of service":"Condizioni del servizio",
+    "Created by":"Creato da",
+    "See more at":"Informazioni aggiuntive:",
+    "Contact the developer":"Contatta lo sviluppatore",
+    "api version":"versione api",
+    "Response Content Type":"Tipo di contenuto (content type) della risposta",
+    "fetching resource":"recuperando la risorsa",
+    "fetching resource list":"recuperando lista risorse",
+    "Explore":"Esplora",
+    "Show Swagger Petstore Example Apis":"Mostra le api di esempio di Swagger 
Petstore",
+    "Can't read from server.  It may not have the appropriate 
access-control-origin settings.":"Non è possibile leggere dal server. Potrebbe 
non avere le impostazioni di controllo accesso origine (access-control-origin) 
appropriate.",
+    "Please specify the protocol for":"Si prega di specificare il protocollo 
per",
+    "Can't read swagger JSON from":"Impossibile leggere JSON swagger da:",
+    "Finished Loading Resource Information. Rendering Swagger UI":"Lettura 
informazioni risorse termianta. Swagger UI viene mostrata",
+    "Unable to read api":"Impossibile leggere la api",
+    "from path":"da cartella",
+    "server returned":"il server ha restituito"
+});

http://git-wip-us.apache.org/repos/asf/isis/blob/e9f6463f/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/ja.js
----------------------------------------------------------------------
diff --git 
a/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/ja.js
 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/ja.js
new file mode 100644
index 0000000..1cbeb37
--- /dev/null
+++ 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/ja.js
@@ -0,0 +1,56 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"警告: 廃止予定",
+    "Implementation Notes":"実装メモ",
+    "Response Class":"レスポンスクラス",
+    "Status":"ステータス",
+    "Parameters":"パラメータ群",
+    "Parameter":"パラメータ",
+    "Value":"値",
+    "Description":"説明",
+    "Parameter Type":"パラメータタイプ",
+    "Data Type":"データタイプ",
+    "Response Messages":"レスポンスメッセージ",
+    "HTTP Status Code":"HTTPステータスコード",
+    "Reason":"理由",
+    "Response Model":"レスポンスモデル",
+    "Request URL":"リクエストURL",
+    "Response Body":"レスポンスボディ",
+    "Response Code":"レスポンスコード",
+    "Response Headers":"レスポンスヘッダ",
+    "Hide Response":"レスポンスを隠す",
+    "Headers":"ヘッダ",
+    "Try it out!":"実際に実行!",
+    "Show/Hide":"表示/非表示",
+    "List Operations":"操作一覧",
+    "Expand Operations":"操作の展開",
+    "Raw":"未加工",
+    "can't parse JSON.  Raw result":"JSONへ解釈できません.  未加
工の結果",
+    "Example Value":"値の例",
+    "Model Schema":"モデルスキーマ",
+    "Model":"モデル",
+    "Click to set as parameter 
value":"パラメータ値と設定するにはクリック",
+    "apply":"実行",
+    "Username":"ユーザ名",
+    "Password":"パスワード",
+    "Terms of service":"サービス利用規約",
+    "Created by":"Created by",
+    "See more at":"詳細を見る",
+    "Contact the developer":"開発者に連絡",
+    "api version":"APIバージョン",
+    "Response Content Type":"レスポンス コンテンツタイプ",
+    "Parameter content type:":"パラメータコンテンツタイプ:",
+    "fetching resource":"リソースの取得",
+    "fetching resource list":"リソース一覧の取得",
+    "Explore":"調査",
+    "Show Swagger Petstore Example 
Apis":"SwaggerペットストアAPIの表示",
+    "Can't read from server.  It may not have the appropriate 
access-control-origin settings.":"サーバから読み込めません.  
適切なaccess-control-origin設定を持っていない可能性があります.",
+    "Please specify the protocol for":"プロトコルを指定してくだ
さい",
+    "Can't read swagger JSON from":"次からswagger 
JSONを読み込めません",
+    "Finished Loading Resource Information. Rendering Swagger 
UI":"リソース情報の読み込みが完了しました. Swagger 
UIを描画しています",
+    "Unable to read api":"APIを読み込めません",
+    "from path":"次のパスから",
+    "server returned":"サーバからの返答"
+});

http://git-wip-us.apache.org/repos/asf/isis/blob/e9f6463f/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/ko-kr.js
----------------------------------------------------------------------
diff --git 
a/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/ko-kr.js
 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/ko-kr.js
new file mode 100644
index 0000000..03c7626
--- /dev/null
+++ 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/ko-kr.js
@@ -0,0 +1,53 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"경고:폐기예정됨",
+    "Implementation Notes":"구현 노트",
+    "Response Class":"응답 클래스",
+    "Status":"상태",
+    "Parameters":"매개변수들",
+    "Parameter":"매개변수",
+    "Value":"값",
+    "Description":"설명",
+    "Parameter Type":"매개변수 타입",
+    "Data Type":"데이터 타입",
+    "Response Messages":"응답 메세지",
+    "HTTP Status Code":"HTTP 상태 코드",
+    "Reason":"원인",
+    "Response Model":"응답 모델",
+    "Request URL":"요청 URL",
+    "Response Body":"응답 본문",
+    "Response Code":"응답 코드",
+    "Response Headers":"응답 헤더",
+    "Hide Response":"응답 숨기기",
+    "Headers":"헤더",
+    "Try it out!":"써보기!",
+    "Show/Hide":"보이기/숨기기",
+    "List Operations":"목록 작업",
+    "Expand Operations":"전개 작업",
+    "Raw":"원본",
+    "can't parse JSON.  Raw result":"JSON을 파싱할수 없음. 
원본결과:",
+    "Model Schema":"모델 스키마",
+    "Model":"모델",
+    "apply":"적용",
+    "Username":"사용자 이름",
+    "Password":"암호",
+    "Terms of service":"이용약관",
+    "Created by":"작성자",
+    "See more at":"추가정보:",
+    "Contact the developer":"개발자에게 문의",
+    "api version":"api버전",
+    "Response Content Type":"응답Content Type",
+    "fetching resource":"리소스 가져오기",
+    "fetching resource list":"리소스 목록 가져오기",
+    "Explore":"탐색",
+    "Show Swagger Petstore Example Apis":"Swagger Petstore 예제 보기",
+    "Can't read from server.  It may not have the appropriate 
access-control-origin settings.":"서버로부터 읽어들일수 없습니다. 
access-control-origin 설정이 올바르지 않을수 있습니다.",
+    "Please specify the protocol for":"다음을 위한 프로토콜을 ì 
•í•˜ì„¸ìš”",
+    "Can't read swagger JSON from":"swagger JSON 을 다음으로 부터 
읽을수 없습니다",
+    "Finished Loading Resource Information. Rendering Swagger UI":"리소스 ì 
•ë³´ 불러오기 완료. Swagger UI 랜더링",
+    "Unable to read api":"api를 읽을 수 없습니다.",
+    "from path":"다음 경로로 부터",
+    "server returned":"서버 응답함."
+});

http://git-wip-us.apache.org/repos/asf/isis/blob/e9f6463f/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/pl.js
----------------------------------------------------------------------
diff --git 
a/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/pl.js
 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/pl.js
new file mode 100644
index 0000000..ce41e91
--- /dev/null
+++ 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/pl.js
@@ -0,0 +1,53 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"Uwaga: Wycofane",
+    "Implementation Notes":"Uwagi Implementacji",
+    "Response Class":"Klasa Odpowiedzi",
+    "Status":"Status",
+    "Parameters":"Parametry",
+    "Parameter":"Parametr",
+    "Value":"Wartość",
+    "Description":"Opis",
+    "Parameter Type":"Typ Parametru",
+    "Data Type":"Typ Danych",
+    "Response Messages":"Wiadomości Odpowiedzi",
+    "HTTP Status Code":"Kod Statusu HTTP",
+    "Reason":"Przyczyna",
+    "Response Model":"Model Odpowiedzi",
+    "Request URL":"URL Wywołania",
+    "Response Body":"Treść Odpowiedzi",
+    "Response Code":"Kod Odpowiedzi",
+    "Response Headers":"Nagłówki Odpowiedzi",
+    "Hide Response":"Ukryj Odpowiedź",
+    "Headers":"Nagłówki",
+    "Try it out!":"Wypróbuj!",
+    "Show/Hide":"Pokaż/Ukryj",
+    "List Operations":"Lista Operacji",
+    "Expand Operations":"Rozwiń Operacje",
+    "Raw":"Nieprzetworzone",
+    "can't parse JSON.  Raw result":"nie można przetworzyć pliku JSON.  
Nieprzetworzone dane",
+    "Model Schema":"Schemat Modelu",
+    "Model":"Model",
+    "apply":"użyj",
+    "Username":"Nazwa użytkownika",
+    "Password":"Hasło",
+    "Terms of service":"Warunki używania",
+    "Created by":"Utworzone przez",
+    "See more at":"Zobacz więcej na",
+    "Contact the developer":"Kontakt z deweloperem",
+    "api version":"wersja api",
+    "Response Content Type":"Typ Zasobu Odpowiedzi",
+    "fetching resource":"ładowanie zasobu",
+    "fetching resource list":"ładowanie listy zasobów",
+    "Explore":"Eksploruj",
+    "Show Swagger Petstore Example Apis":"Pokaż Przykładowe Api Swagger 
Petstore",
+    "Can't read from server.  It may not have the appropriate 
access-control-origin settings.":"Brak połączenia z serwerem. Może on nie 
mieć odpowiednich ustawień access-control-origin.",
+    "Please specify the protocol for":"Proszę podać protokół dla",
+    "Can't read swagger JSON from":"Nie można odczytać swagger JSON z",
+    "Finished Loading Resource Information. Rendering Swagger UI":"Ukończono 
Ładowanie Informacji o Zasobie. Renderowanie Swagger UI",
+    "Unable to read api":"Nie można odczytać api",
+    "from path":"ze ścieżki",
+    "server returned":"serwer zwrócił"
+});

http://git-wip-us.apache.org/repos/asf/isis/blob/e9f6463f/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/pt.js
----------------------------------------------------------------------
diff --git 
a/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/pt.js
 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/pt.js
new file mode 100644
index 0000000..f2e7c13
--- /dev/null
+++ 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/pt.js
@@ -0,0 +1,53 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"Aviso: Depreciado",
+    "Implementation Notes":"Notas de Implementação",
+    "Response Class":"Classe de resposta",
+    "Status":"Status",
+    "Parameters":"Parâmetros",
+    "Parameter":"Parâmetro",
+    "Value":"Valor",
+    "Description":"Descrição",
+    "Parameter Type":"Tipo de parâmetro",
+    "Data Type":"Tipo de dados",
+    "Response Messages":"Mensagens de resposta",
+    "HTTP Status Code":"Código de status HTTP",
+    "Reason":"Razão",
+    "Response Model":"Modelo resposta",
+    "Request URL":"URL requisição",
+    "Response Body":"Corpo da resposta",
+    "Response Code":"Código da resposta",
+    "Response Headers":"Cabeçalho da resposta",
+    "Headers":"Cabeçalhos",
+    "Hide Response":"Esconder resposta",
+    "Try it out!":"Tente agora!",
+    "Show/Hide":"Mostrar/Esconder",
+    "List Operations":"Listar operações",
+    "Expand Operations":"Expandir operações",
+    "Raw":"Cru",
+    "can't parse JSON.  Raw result":"Falha ao analisar JSON.  Resulto cru",
+    "Model Schema":"Modelo esquema",
+    "Model":"Modelo",
+    "apply":"Aplicar",
+    "Username":"Usuário",
+    "Password":"Senha",
+    "Terms of service":"Termos do serviço",
+    "Created by":"Criado por",
+    "See more at":"Veja mais em",
+    "Contact the developer":"Contate o desenvolvedor",
+    "api version":"Versão api",
+    "Response Content Type":"Tipo de conteúdo da resposta",
+    "fetching resource":"busca recurso",
+    "fetching resource list":"buscando lista de recursos",
+    "Explore":"Explorar",
+    "Show Swagger Petstore Example Apis":"Show Swagger Petstore Example Apis",
+    "Can't read from server.  It may not have the appropriate 
access-control-origin settings.":"Não é possível ler do servidor. Pode não 
ter as apropriadas configurações access-control-origin",
+    "Please specify the protocol for":"Por favor especifique o protocolo",
+    "Can't read swagger JSON from":"Não é possível ler o JSON Swagger de",
+    "Finished Loading Resource Information. Rendering Swagger UI":"Carregar 
informação de recurso finalizada. Renderizando Swagger UI",
+    "Unable to read api":"Não foi possível ler api",
+    "from path":"do caminho",
+    "server returned":"servidor retornou"
+});

http://git-wip-us.apache.org/repos/asf/isis/blob/e9f6463f/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/ru.js
----------------------------------------------------------------------
diff --git 
a/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/ru.js
 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/ru.js
new file mode 100644
index 0000000..592744e
--- /dev/null
+++ 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/ru.js
@@ -0,0 +1,56 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"Предупреждение: Устарело",
+    "Implementation Notes":"Заметки",
+    "Response Class":"Пример ответа",
+    "Status":"Статус",
+    "Parameters":"Параметры",
+    "Parameter":"Параметр",
+    "Value":"Значение",
+    "Description":"Описание",
+    "Parameter Type":"Тип параметра",
+    "Data Type":"Тип данных",
+    "HTTP Status Code":"HTTP код",
+    "Reason":"Причина",
+    "Response Model":"Структура ответа",
+    "Request URL":"URL запроса",
+    "Response Body":"Тело ответа",
+    "Response Code":"HTTP код ответа",
+    "Response Headers":"Заголовки ответа",
+    "Hide Response":"Спрятать ответ",
+    "Headers":"Заголовки",
+    "Response Messages":"Что может прийти в ответ",
+    "Try it out!":"Попробовать!",
+    "Show/Hide":"Показать/Скрыть",
+    "List Operations":"Операции кратко",
+    "Expand Operations":"Операции подробно",
+    "Raw":"В сыром виде",
+    "can't parse JSON.  Raw result":"Не удается распарсить 
ответ:",
+    "Example Value":"Пример",
+    "Model Schema":"Структура",
+    "Model":"Описание",
+    "Click to set as parameter value":"Нажмите, чтобы 
испльзовать в качестве значения параметра",
+    "apply":"применить",
+    "Username":"Имя пользователя",
+    "Password":"Пароль",
+    "Terms of service":"Условия использования",
+    "Created by":"Разработано",
+    "See more at":"Еще тут",
+    "Contact the developer":"Связаться с разработчиком",
+    "api version":"Версия API",
+    "Response Content Type":"Content Type ответа",
+    "Parameter content type:":"Content Type параметра:",
+    "fetching resource":"Получение ресурса",
+    "fetching resource list":"Получение ресурсов",
+    "Explore":"Показать",
+    "Show Swagger Petstore Example Apis":"Показать примеры 
АПИ",
+    "Can't read from server. It may not have the appropriate 
access-control-origin settings.":"Не удается получить 
ответ от сервера. Возможно, проблема с 
настройками доступа",
+    "Please specify the protocol for":"Пожалуйста, укажите 
протокол для",
+    "Can't read swagger JSON from":"Не получается 
прочитать swagger json из",
+    "Finished Loading Resource Information. Rendering Swagger 
UI":"Загрузка информации о ресурсах 
завершена. Рендерим",
+    "Unable to read api":"Не удалось прочитать api",
+    "from path":"по адресу",
+    "server returned":"сервер сказал"
+});

http://git-wip-us.apache.org/repos/asf/isis/blob/e9f6463f/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/tr.js
----------------------------------------------------------------------
diff --git 
a/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/tr.js
 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/tr.js
new file mode 100644
index 0000000..16426a9
--- /dev/null
+++ 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/tr.js
@@ -0,0 +1,53 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"Uyarı: Deprecated",
+    "Implementation Notes":"Gerçekleştirim Notları",
+    "Response Class":"Dönen Sınıf",
+    "Status":"Statü",
+    "Parameters":"Parametreler",
+    "Parameter":"Parametre",
+    "Value":"Değer",
+    "Description":"Açıklama",
+    "Parameter Type":"Parametre Tipi",
+    "Data Type":"Veri Tipi",
+    "Response Messages":"Dönüş Mesajı",
+    "HTTP Status Code":"HTTP Statü Kodu",
+    "Reason":"Gerekçe",
+    "Response Model":"Dönüş Modeli",
+    "Request URL":"Ä°stek URL",
+    "Response Body":"Dönüş İçeriği",
+    "Response Code":"Dönüş Kodu",
+    "Response Headers":"Dönüş Üst Bilgileri",
+    "Hide Response":"Dönüşü Gizle",
+    "Headers":"Üst Bilgiler",
+    "Try it out!":"Dene!",
+    "Show/Hide":"Göster/Gizle",
+    "List Operations":"Operasyonları Listele",
+    "Expand Operations":"Operasyonları Aç",
+    "Raw":"Ham",
+    "can't parse JSON.  Raw result":"JSON çözümlenemiyor.  Ham sonuç",
+    "Model Schema":"Model Şema",
+    "Model":"Model",
+    "apply":"uygula",
+    "Username":"Kullanıcı Adı",
+    "Password":"Parola",
+    "Terms of service":"Servis şartları",
+    "Created by":"Oluşturan",
+    "See more at":"Daha fazlası için",
+    "Contact the developer":"Geliştirici ile İletişime Geçin",
+    "api version":"api versiyon",
+    "Response Content Type":"Dönüş İçerik Tipi",
+    "fetching resource":"kaynak getiriliyor",
+    "fetching resource list":"kaynak listesi getiriliyor",
+    "Explore":"Keşfet",
+    "Show Swagger Petstore Example Apis":"Swagger Petstore Örnek Api'yi Gör",
+    "Can't read from server.  It may not have the appropriate 
access-control-origin settings.":"Sunucudan okuma yapılamıyor. Sunucu 
access-control-origin ayarlarınızı kontrol edin.",
+    "Please specify the protocol for":"Lütfen istenen adres için protokol 
belirtiniz",
+    "Can't read swagger JSON from":"Swagger JSON bu kaynaktan okunamıyor",
+    "Finished Loading Resource Information. Rendering Swagger UI":"Kaynak 
baglantısı tamamlandı. Swagger UI gösterime hazırlanıyor",
+    "Unable to read api":"api okunamadı",
+    "from path":"yoldan",
+    "server returned":"sunucuya dönüldü"
+});

http://git-wip-us.apache.org/repos/asf/isis/blob/e9f6463f/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/translator.js
----------------------------------------------------------------------
diff --git 
a/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/translator.js
 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/translator.js
new file mode 100644
index 0000000..ffb879f
--- /dev/null
+++ 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/translator.js
@@ -0,0 +1,39 @@
+'use strict';
+
+/**
+ * Translator for documentation pages.
+ *
+ * To enable translation you should include one of language-files in your 
index.html
+ * after <script src='lang/translator.js' type='text/javascript'></script>.
+ * For example - <script src='lang/ru.js' type='text/javascript'></script>
+ *
+ * If you wish to translate some new texts you should do two things:
+ * 1. Add a new phrase pair ("New Phrase": "New Translation") into your 
language file (for example lang/ru.js). It will be great if you add it in other 
language files too.
+ * 2. Mark that text it templates this way <anyHtmlTag data-sw-translate>New 
Phrase</anyHtmlTag> or <anyHtmlTag data-sw-translate value='New Phrase'/>.
+ * The main thing here is attribute data-sw-translate. Only inner html, 
title-attribute and value-attribute are going to translate.
+ *
+ */
+window.SwaggerTranslator = {
+
+    _words:[],
+
+    translate: function(sel) {
+      var $this = this;
+      sel = sel || '[data-sw-translate]';
+
+      $(sel).each(function() {
+        $(this).html($this._tryTranslate($(this).html()));
+
+        $(this).val($this._tryTranslate($(this).val()));
+        $(this).attr('title', $this._tryTranslate($(this).attr('title')));
+      });
+    },
+
+    _tryTranslate: function(word) {
+      return this._words[$.trim(word)] !== undefined ? 
this._words[$.trim(word)] : word;
+    },
+
+    learn: function(wordsMap) {
+      this._words = wordsMap;
+    }
+};

http://git-wip-us.apache.org/repos/asf/isis/blob/e9f6463f/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/zh-cn.js
----------------------------------------------------------------------
diff --git 
a/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/zh-cn.js
 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/zh-cn.js
new file mode 100644
index 0000000..3af61ad
--- /dev/null
+++ 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lang/zh-cn.js
@@ -0,0 +1,56 @@
+'use strict';
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+    "Warning: Deprecated":"警告:已过时",
+    "Implementation Notes":"实现备注",
+    "Response Class":"响应类",
+    "Status":"状态",
+    "Parameters":"参数",
+    "Parameter":"参数",
+    "Value":"值",
+    "Description":"描述",
+    "Parameter Type":"参数类型",
+    "Data Type":"数据类型",
+    "Response Messages":"响应消息",
+    "HTTP Status Code":"HTTP状态码",
+    "Reason":"原因",
+    "Response Model":"响应模型",
+    "Request URL":"请求URL",
+    "Response Body":"响应体",
+    "Response Code":"响应码",
+    "Response Headers":"响应头",
+    "Hide Response":"隐藏响应",
+    "Headers":"头",
+    "Try it out!":"试一下!",
+    "Show/Hide":"显示/隐藏",
+    "List Operations":"显示操作",
+    "Expand Operations":"展开操作",
+    "Raw":"原始",
+    "can't parse JSON.  Raw result":"无法解析JSON. 原始结果",
+    "Example Value":"示例",
+    "Click to set as parameter value":"点击设置参数",
+    "Model Schema":"模型架构",
+    "Model":"模型",
+    "apply":"应用",
+    "Username":"用户名",
+    "Password":"密码",
+    "Terms of service":"服务条款",
+    "Created by":"创建者",
+    "See more at":"查看更多:",
+    "Contact the developer":"联系开发者",
+    "api version":"api版本",
+    "Response Content Type":"响应Content Type",
+    "Parameter content type:":"参数类型:",
+    "fetching resource":"正在获取资源",
+    "fetching resource list":"正在获取资源列表",
+    "Explore":"浏览",
+    "Show Swagger Petstore Example Apis":"显示 Swagger Petstore 示例 Apis",
+    "Can't read from server.  It may not have the appropriate 
access-control-origin settings.":"无
法从服务器读取。可能没有正确设置access-control-origin。",
+    "Please specify the protocol for":"请指定协议:",
+    "Can't read swagger JSON from":"无法读取swagger JSON于",
+    "Finished Loading Resource Information. Rendering Swagger UI":"已加
载资源信息。正在渲染Swagger UI",
+    "Unable to read api":"无法读取api",
+    "from path":"从路径",
+    "server returned":"服务器返回"
+});

http://git-wip-us.apache.org/repos/asf/isis/blob/e9f6463f/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lib/backbone-min.js
----------------------------------------------------------------------
diff --git 
a/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lib/backbone-min.js
 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lib/backbone-min.js
new file mode 100644
index 0000000..8eff02e
--- /dev/null
+++ 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lib/backbone-min.js
@@ -0,0 +1 @@
+!function(t,e){if("function"==typeof 
define&&define.amd)define(["underscore","jquery","exports"],function(i,n,s){t.Backbone=e(t,s,i,n)});else
 if("undefined"!=typeof exports){var 
i=require("underscore");e(t,exports,i)}else 
t.Backbone=e(t,{},t._,t.jQuery||t.Zepto||t.ender||t.$)}(this,function(t,e,i,n){var
 
s=t.Backbone,r=[],a=(r.push,r.slice);r.splice;e.VERSION="1.1.2",e.$=n,e.noConflict=function(){return
 t.Backbone=s,this},e.emulateHTTP=!1,e.emulateJSON=!1;var 
o=e.Events={on:function(t,e,i){if(!c(this,"on",t,[e,i])||!e)return 
this;this._events||(this._events={});var 
n=this._events[t]||(this._events[t]=[]);return 
n.push({callback:e,context:i,ctx:i||this}),this},once:function(t,e,n){if(!c(this,"once",t,[e,n])||!e)return
 this;var 
s=this,r=i.once(function(){s.off(t,r),e.apply(this,arguments)});return 
r._callback=e,this.on(t,r,n)},off:function(t,e,n){var 
s,r,a,o,h,u,l,d;if(!this._events||!c(this,"off",t,[e,n]))return 
this;if(!t&&!e&&!n)return this._events=void 0,this;for(o=t?[t]:i.keys(thi
 
s._events),h=0,u=o.length;h<u;h++)if(t=o[h],a=this._events[t]){if(this._events[t]=s=[],e||n)for(l=0,d=a.length;l<d;l++)r=a[l],(e&&e!==r.callback&&e!==r.callback._callback||n&&n!==r.context)&&s.push(r);s.length||delete
 this._events[t]}return this},trigger:function(t){if(!this._events)return 
this;var e=a.call(arguments,1);if(!c(this,"trigger",t,e))return this;var 
i=this._events[t],n=this._events.all;return 
i&&u(i,e),n&&u(n,arguments),this},stopListening:function(t,e,n){var 
s=this._listeningTo;if(!s)return this;var r=!e&&!n;n||"object"!=typeof 
e||(n=this),t&&((s={})[t._listenId]=t);for(var a in 
s)t=s[a],t.off(e,n,this),(r||i.isEmpty(t._events))&&delete 
this._listeningTo[a];return 
this}},h=/\s+/,c=function(t,e,i,n){if(!i)return!0;if("object"==typeof 
i){for(var s in 
i)t[e].apply(t,[s,i[s]].concat(n));return!1}if(h.test(i)){for(var 
r=i.split(h),a=0,o=r.length;a<o;a++)t[e].apply(t,[r[a]].concat(n));return!1}return!0},u=function(t,e){var
 i,n=-1,s=t.length,r=e[0],a=e[1],o=e[2];switch(e.lengt
 h){case 0:for(;++n<s;)(i=t[n]).callback.call(i.ctx);return;case 
1:for(;++n<s;)(i=t[n]).callback.call(i.ctx,r);return;case 
2:for(;++n<s;)(i=t[n]).callback.call(i.ctx,r,a);return;case 
3:for(;++n<s;)(i=t[n]).callback.call(i.ctx,r,a,o);return;default:for(;++n<s;)(i=t[n]).callback.apply(i.ctx,e);return}},l={listenTo:"on",listenToOnce:"once"};i.each(l,function(t,e){o[e]=function(e,n,s){var
 
r=this._listeningTo||(this._listeningTo={}),a=e._listenId||(e._listenId=i.uniqueId("l"));return
 r[a]=e,s||"object"!=typeof 
n||(s=this),e[t](n,s,this),this}}),o.bind=o.on,o.unbind=o.off,i.extend(e,o);var 
d=e.Model=function(t,e){var 
n=t||{};e||(e={}),this.cid=i.uniqueId("c"),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{}),n=i.defaults({},n,i.result(this,"defaults")),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(d.prototype,o,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(t){return
 
 i.clone(this.attributes)},sync:function(){return 
e.sync.apply(this,arguments)},get:function(t){return 
this.attributes[t]},escape:function(t){return 
i.escape(this.get(t))},has:function(t){return 
null!=this.get(t)},set:function(t,e,n){var s,r,a,o,h,c,u,l;if(null==t)return 
this;if("object"==typeof 
t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;a=n.unset,h=n.silent,o=[],c=this._changing,this._changing=!0,c||(this._previousAttributes=i.clone(this.attributes),this.changed={}),l=this.attributes,u=this._previousAttributes,this.idAttribute
 in r&&(this.id=r[this.idAttribute]);for(s in 
r)e=r[s],i.isEqual(l[s],e)||o.push(s),i.isEqual(u[s],e)?delete 
this.changed[s]:this.changed[s]=e,a?delete 
l[s]:l[s]=e;if(!h){o.length&&(this._pending=n);for(var 
d=0,f=o.length;d<f;d++)this.trigger("change:"+o[d],this,l[o[d]],n)}if(c)return 
this;if(!h)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return
 this._pending=!1,this._changing=!1,this},unset:function(t
 ,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var 
e={};for(var n in this.attributes)e[n]=void 0;return 
this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return 
null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var
 e,n=!1,s=this._changing?this._previousAttributes:this.attributes;for(var r in 
t)i.isEqual(s[r],e=t[r])||((n||(n={}))[r]=e);return 
n},previous:function(t){return 
null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return
 i.clone(this._previousAttributes)},fetch:function(t){t=t?i.clone(t):{},void 
0===t.parse&&(t.parse=!0);var e=this,n=t.success;return 
t.success=function(i){return!!e.set(e.parse(i,t),t)&&(n&&n(e,i,t),void 
e.trigger("sync",e,i,t))},U(this,t),this.sync("read",this,t)},save:function(t,e,n){var
 s,r,a,o=this.attributes;if(null==t||"object"==typeof 
t?(s=t,n=e):(s={})[t]=e,n=i.extend({valida
 te:!0},n),s&&!n.wait){if(!this.set(s,n))return!1}else 
if(!this._validate(s,n))return!1;s&&n.wait&&(this.attributes=i.extend({},o,s)),void
 0===n.parse&&(n.parse=!0);var h=this,c=n.success;return 
n.success=function(t){h.attributes=o;var e=h.parse(t,n);return 
n.wait&&(e=i.extend(s||{},e)),!(i.isObject(e)&&!h.set(e,n))&&(c&&c(h,t,n),void 
h.trigger("sync",h,t,n))},U(this,n),r=this.isNew()?"create":n.patch?"patch":"update","patch"===r&&(n.attrs=s),a=this.sync(r,this,n),s&&n.wait&&(this.attributes=o),a},destroy:function(t){t=t?i.clone(t):{};var
 
e=this,n=t.success,s=function(){e.trigger("destroy",e,e.collection,t)};if(t.success=function(i){(t.wait||e.isNew())&&s(),n&&n(e,i,t),e.isNew()||e.trigger("sync",e,i,t)},this.isNew())return
 t.success(),!1;U(this,t);var r=this.sync("delete",this,t);return 
t.wait||s(),r},url:function(){var 
t=i.result(this,"urlRoot")||i.result(this.collection,"url")||j();return 
this.isNew()?t:t.replace(/([^\/])$/,"$1/")+encodeURIComponent(this.id)},parse:function(t,e){r
 eturn t},clone:function(){return new 
this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return
 
this._validate({},i.extend(t||{},{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var
 
n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});var
 
f=["keys","values","pairs","invert","pick","omit"];i.each(f,function(t){d.prototype[t]=function(){var
 e=a.call(arguments);return e.unshift(this.attributes),i[t].apply(i,e)}});var 
p=e.Collection=function(t,e){e||(e={}),e.model&&(this.model=e.model),void 
0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},g={add:!0,remove:!0,merge:!0},v={add:!0,remove:!1};i.extend(p.prototype,o,{model:d,initialize:function(){},toJSON:function(t){return
 this.map(function(e){return e.toJ
 SON(t)})},sync:function(){return 
e.sync.apply(this,arguments)},add:function(t,e){return 
this.set(t,i.extend({merge:!1},e,v))},remove:function(t,e){var 
n=!i.isArray(t);t=n?[t]:i.clone(t),e||(e={});var 
s,r,a,o;for(s=0,r=t.length;s<r;s++)o=t[s]=this.get(t[s]),o&&(delete 
this._byId[o.id],delete 
this._byId[o.cid],a=this.indexOf(o),this.models.splice(a,1),this.length--,e.silent||(e.index=a,o.trigger("remove",o,this,e)),this._removeReference(o,e));return
 
n?t[0]:t},set:function(t,e){e=i.defaults({},e,g),e.parse&&(t=this.parse(t,e));var
 n=!i.isArray(t);t=n?t?[t]:[]:i.clone(t);var 
s,r,a,o,h,c,u,l=e.at,f=this.model,p=this.comparator&&null==l&&e.sort!==!1,v=i.isString(this.comparator)?this.comparator:null,m=[],y=[],_={},b=e.add,w=e.merge,x=e.remove,E=!(p||!b||!x)&&[];for(s=0,r=t.length;s<r;s++){if(h=t[s]||{},a=h
 instanceof 
d?o=h:h[f.prototype.idAttribute||"id"],c=this.get(a))x&&(_[c.cid]=!0),w&&(h=h===o?o.attributes:h,e.parse&&(h=c.parse(h,e)),c.set(h,e),p&&!u&&c.hasChanged(v)&&(u=!0)),t[s]=c;e
 lse 
if(b){if(o=t[s]=this._prepareModel(h,e),!o)continue;m.push(o),this._addReference(o,e)}o=c||o,!E||!o.isNew()&&_[o.id]||E.push(o),_[o.id]=!0}if(x){for(s=0,r=this.length;s<r;++s)_[(o=this.models[s]).cid]||y.push(o);y.length&&this.remove(y,e)}if(m.length||E&&E.length)if(p&&(u=!0),this.length+=m.length,null!=l)for(s=0,r=m.length;s<r;s++)this.models.splice(l+s,0,m[s]);else{E&&(this.models.length=0);var
 
k=E||m;for(s=0,r=k.length;s<r;s++)this.models.push(k[s])}if(u&&this.sort({silent:!0}),!e.silent){for(s=0,r=m.length;s<r;s++)(o=m[s]).trigger("add",o,this,e);(u||E&&E.length)&&this.trigger("sort",this,e)}return
 n?t[0]:t},reset:function(t,e){e||(e={});for(var 
n=0,s=this.models.length;n<s;n++)this._removeReference(this.models[n],e);return 
e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return
 this.add(t,i.extend({at:this.length},e))},pop:function(t){var 
e=this.at(this.length-1);return this.remove(
 e,t),e},unshift:function(t,e){return 
this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return 
this.remove(e,t),e},slice:function(){return 
a.apply(this.models,arguments)},get:function(t){if(null!=t)return 
this._byId[t]||this._byId[t.id]||this._byId[t.cid]},at:function(t){return 
this.models[t]},where:function(t,e){return i.isEmpty(t)?e?void 
0:[]:this[e?"find":"filter"](function(e){for(var i in 
t)if(t[i]!==e.get(i))return!1;return!0})},findWhere:function(t){return 
this.where(t,!0)},sort:function(t){if(!this.comparator)throw new Error("Cannot 
sort a set without a comparator");return 
t||(t={}),i.isString(this.comparator)||1===this.comparator.length?this.models=this.sortBy(this.comparator,this):this.models.sort(i.bind(this.comparator,this)),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return
 i.invoke(this.models,"get",t)},fetch:function(t){t=t?i.clone(t):{},void 
0===t.parse&&(t.parse=!0);var e=t.success,n=this;return 
t.success=function(i){var s=t.reset?"r
 
eset":"set";n[s](i,t),e&&e(n,i,t),n.trigger("sync",n,i,t)},U(this,t),this.sync("read",this,t)},create:function(t,e){if(e=e?i.clone(e):{},!(t=this._prepareModel(t,e)))return!1;e.wait||this.add(t,e);var
 n=this,s=e.success;return 
e.success=function(t,i){e.wait&&n.add(t,e),s&&s(t,i,e)},t.save(null,e),t},parse:function(t,e){return
 t},clone:function(){return new 
this.constructor(this.models)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(t
 instanceof d)return t;e=e?i.clone(e):{},e.collection=this;var n=new 
this.model(t,e);return 
n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_addReference:function(t,e){this._byId[t.cid]=t,null!=t.id&&(this._byId[t.id]=t),t.collection||(t.collection=this),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){this===t.collection&&delete
 
t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){("add"!==t&&"remove"!==t||i===this)&&("destroy"===t&
 &this.remove(e,n),e&&t==="change:"+e.idAttribute&&(delete 
this._byId[e.previous(e.idAttribute)],null!=e.id&&(this._byId[e.id]=e)),this.trigger.apply(this,arguments))}});var
 
m=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","difference","indexOf","shuffle","lastIndexOf","isEmpty","chain","sample"];i.each(m,function(t){p.prototype[t]=function(){var
 e=a.call(arguments);return e.unshift(this.models),i[t].apply(i,e)}});var 
y=["groupBy","countBy","sortBy","indexBy"];i.each(y,function(t){p.prototype[t]=function(e,n){var
 s=i.isFunction(e)?e:function(t){return t.get(e)};return 
i[t](this.models,s,n)}});var 
_=e.View=function(t){this.cid=i.uniqueId("view"),t||(t={}),i.extend(this,i.pick(t,w)),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateE
 
vents()},b=/^(\S+)\s*(.*)$/,w=["model","collection","el","id","attributes","className","tagName","events"];i.extend(_.prototype,o,{tagName:"div",$:function(t){return
 this.$el.find(t)},initialize:function(){},render:function(){return 
this},remove:function(){return 
this.$el.remove(),this.stopListening(),this},setElement:function(t,i){return 
this.$el&&this.undelegateEvents(),this.$el=t instanceof 
e.$?t:e.$(t),this.el=this.$el[0],i!==!1&&this.delegateEvents(),this},delegateEvents:function(t){if(!t&&!(t=i.result(this,"events")))return
 this;this.undelegateEvents();for(var e in t){var 
n=t[e];if(i.isFunction(n)||(n=this[t[e]]),n){var 
s=e.match(b),r=s[1],a=s[2];n=i.bind(n,this),r+=".delegateEvents"+this.cid,""===a?this.$el.on(r,n):this.$el.on(r,a,n)}}return
 this},undelegateEvents:function(){return 
this.$el.off(".delegateEvents"+this.cid),this},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"),!1);else{var
 t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.resu
 lt(this,"id")),this.className&&(t["class"]=i.result(this,"className"));var 
n=e.$("<"+i.result(this,"tagName")+">").attr(t);this.setElement(n,!1)}}}),e.sync=function(t,n,s){var
 
r=E[t];i.defaults(s||(s={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var
 
a={type:r,dataType:"json"};if(s.url||(a.url=i.result(n,"url")||j()),null!=s.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(s.attrs||n.toJSON(s))),s.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),s.emulateHTTP&&("PUT"===r||"DELETE"===r||"PATCH"===r)){a.type="POST",s.emulateJSON&&(a.data._method=r);var
 
o=s.beforeSend;s.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",r),o)return
 
o.apply(this,arguments)}}"GET"===a.type||s.emulateJSON||(a.processData=!1),"PATCH"===a.type&&x&&(a.xhr=function(){return
 new ActiveXObject("Microsoft.XMLHTTP")});var 
h=s.xhr=e.ajax(i.extend(a,s));return n.trigger("request",
 n,h,s),h};var x=!("undefined"==typeof 
window||!window.ActiveXObject||window.XMLHttpRequest&&(new 
XMLHttpRequest).dispatchEvent),E={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};e.ajax=function(){return
 e.$.ajax.apply(e.$,arguments)};var 
k=e.Router=function(t){t||(t={}),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},T=/\((.*?)\)/g,$=/(\(\?)?:\w+/g,S=/\*\w+/g,H=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(k.prototype,o,{initialize:function(){},route:function(t,n,s){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(s=n,n=""),s||(s=this[n]);var
 r=this;return e.history.route(t,function(i){var 
a=r._extractParameters(t,i);r.execute(s,a),r.trigger.apply(r,["route:"+n].concat(a)),r.trigger("route",n,a),e.history.trigger("route",r,n,a)}),this},execute:function(t,e){t&&t.apply(this,e)},navigate:function(t,i){return
 
e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(va
 r 
t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return
 t=t.replace(H,"\\$&").replace(T,"(?:$1)?").replace($,function(t,e){return 
e?t:"([^/?]+)"}).replace(S,"([^?]*?)"),new 
RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var 
n=t.exec(e).slice(1);return i.map(n,function(t,e){return 
e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var 
A=e.History=function(){this.handlers=[],i.bindAll(this,"checkUrl"),"undefined"!=typeof
 
window&&(this.location=window.location,this.history=window.history)},I=/^[#\/]|\s+$/g,N=/^\/+|\/+$/g,R=/msie
 
[\w.]+/,O=/\/$/,P=/#.*$/;A.started=!1,i.extend(A.prototype,o,{interval:50,atRoot:function(){return
 
this.location.pathname.replace(/[^\/]$/,"$&/")===this.root},getHash:function(t){var
 e=(t||this).location.href.match(/#(.*)$/);return 
e?e[1]:""},getFragment:function(t,e){if(null==t)if(this._hasPushState||!this._wantsHashChange||e){t=decodeURI(this.location.pathname+this.location.se
 arch);var i=this.root.replace(O,"");t.indexOf(i)||(t=t.slice(i.length))}else 
t=this.getHash();return t.replace(I,"")},start:function(t){if(A.started)throw 
new Error("Backbone.history has already been 
started");A.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=this.options.hashChange!==!1,this._wantsPushState=!!this.options.pushState,this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var
 
n=this.getFragment(),s=document.documentMode,r=R.exec(navigator.userAgent.toLowerCase())&&(!s||s<=7);if(this.root=("/"+this.root+"/").replace(N,"/"),r&&this._wantsHashChange){var
 a=e.$('<iframe src="javascript:0" 
tabindex="-1">');this.iframe=a.hide().appendTo("body")[0].contentWindow,this.navigate(n)}this._hasPushState?e.$(window).on("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in
 
window&&!r?e.$(window).on("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterv
 al(this.checkUrl,this.interval)),this.fragment=n;var 
o=this.location;if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot())return
 
this.fragment=this.getFragment(null,!0),this.location.replace(this.root+"#"+this.fragment),!0;this._hasPushState&&this.atRoot()&&o.hash&&(this.fragment=this.getHash().replace(I,""),this.history.replaceState({},document.title,this.root+this.fragment))}if(!this.options.silent)return
 
this.loadUrl()},stop:function(){e.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),A.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var
 e=this.getFragment();return 
e===this.fragment&&this.iframe&&(e=this.getFragment(this.getHash(this.iframe))),e!==this.fragment&&(this.iframe&&this.navigate(e),void
 this.loadUrl())},loadUrl:function(t){return 
t=this.fragment=this.getFragment(t),i.any(this.handlers,function(e){if(e.
 route.test(t))return 
e.callback(t),!0})},navigate:function(t,e){if(!A.started)return!1;e&&e!==!0||(e={trigger:!!e});var
 
i=this.root+(t=this.getFragment(t||""));if(t=t.replace(P,""),this.fragment!==t){if(this.fragment=t,""===t&&"/"!==i&&(i=i.slice(0,-1)),this._hasPushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,i);else{if(!this._wantsHashChange)return
 
this.location.assign(i);this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getFragment(this.getHash(this.iframe))&&(e.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,t,e.replace))}return
 e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var 
n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else 
t.hash="#"+e}}),e.history=new A;var C=function(t,e){var 
n,s=this;n=t&&i.has(t,"constructor")?t.constructor:function(){return 
s.apply(this,arguments)},i.extend(n,s,e);var 
r=function(){this.constructor=n};return r.prototype=s.prototype,n.pr
 ototype=new 
r,t&&i.extend(n.prototype,t),n.__super__=s.prototype,n};d.extend=p.extend=k.extend=_.extend=A.extend=C;var
 j=function(){throw new Error('A "url" property or function must be 
specified')},U=function(t,e){var 
i=e.error;e.error=function(n){i&&i(t,n,e),t.trigger("error",t,n,e)}};return 
e}),Backbone.View=function(t){return 
t.extend({constructor:function(e){this.options=e||{},t.apply(this,arguments)}})}(Backbone.View);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/e9f6463f/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lib/es5-shim.js
----------------------------------------------------------------------
diff --git 
a/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lib/es5-shim.js
 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lib/es5-shim.js
new file mode 100644
index 0000000..4c0fcab
--- /dev/null
+++ 
b/example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/swagger-ui/lib/es5-shim.js
@@ -0,0 +1 @@
+!function(t,e){"use strict";"function"==typeof 
define&&define.amd?define(e):"object"==typeof 
exports?module.exports=e():t.returnExports=e()}(this,function(){var 
t,e,r=Array,n=r.prototype,o=Object,i=o.prototype,a=Function,u=a.prototype,f=String,s=f.prototype,l=Number,c=l.prototype,h=n.slice,p=n.splice,y=n.push,d=n.unshift,g=n.concat,v=n.join,b=u.call,w=u.apply,T=Math.max,m=Math.min,D=i.toString,x="function"==typeof
 Symbol&&"symbol"==typeof 
Symbol.toStringTag,S=Function.prototype.toString,O=/^\s*class 
/,j=function(t){try{var 
e=S.call(t),r=e.replace(/\/\/.*\n/g,""),n=r.replace(/\/\*[.\s\S]*\*\//g,""),o=n.replace(/\n/gm,"
 ").replace(/ {2}/g," ");return 
O.test(o)}catch(i){return!1}},E=function(t){try{return!j(t)&&(S.call(t),!0)}catch(e){return!1}},M="[object
 Function]",I="[object 
GeneratorFunction]",t=function(t){if(!t)return!1;if("function"!=typeof 
t&&"object"!=typeof t)return!1;if(x)return E(t);if(j(t))return!1;var 
e=D.call(t);return e===M||e===I},U=RegExp.prototype.exec,F=function(t){
 try{return U.call(t),!0}catch(e){return!1}},N="[object 
RegExp]";e=function(t){return"object"==typeof t&&(x?F(t):D.call(t)===N)};var 
k,C=String.prototype.valueOf,R=function(t){try{return 
C.call(t),!0}catch(e){return!1}},A="[object 
String]";k=function(t){return"string"==typeof t||"object"==typeof 
t&&(x?R(t):D.call(t)===A)};var $=o.defineProperty&&function(){try{var 
t={};o.defineProperty(t,"x",{enumerable:!1,value:t});for(var e in 
t)return!1;return t.x===t}catch(r){return!1}}(),P=function(t){var e;return 
e=$?function(t,e,r,n){!n&&e in 
t||o.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:!0,value:r})}:function(t,e,r,n){!n&&e
 in t||(t[e]=r)},function(r,n,o){for(var i in 
n)t.call(n,i)&&e(r,i,n[i],o)}}(i.hasOwnProperty),J=function(t){var e=typeof 
t;return null===t||"object"!==e&&"function"!==e},Z=l.isNaN||function(t){return 
t!==t},z={ToInteger:function(t){var e=+t;return 
Z(e)?e=0:0!==e&&e!==1/0&&e!==-(1/0)&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e},ToPrimitive:function(e){var
 r,n
 ,o;if(J(e))return e;if(n=e.valueOf,t(n)&&(r=n.call(e),J(r)))return 
r;if(o=e.toString,t(o)&&(r=o.call(e),J(r)))return r;throw new 
TypeError},ToObject:function(t){if(null==t)throw new TypeError("can't convert 
"+t+" to object");return o(t)},ToUint32:function(t){return 
t>>>0}},G=function(){};P(u,{bind:function(e){var r=this;if(!t(r))throw new 
TypeError("Function.prototype.bind called on incompatible "+r);for(var 
n,i=h.call(arguments,1),u=function(){if(this instanceof n){var 
t=w.call(r,this,g.call(i,h.call(arguments)));return o(t)===t?t:this}return 
w.call(r,e,g.call(i,h.call(arguments)))},f=T(0,r.length-i.length),s=[],l=0;l<f;l++)y.call(s,"$"+l);return
 n=a("binder","return function ("+v.call(s,",")+"){ return binder.apply(this, 
arguments); }")(u),r.prototype&&(G.prototype=r.prototype,n.prototype=new 
G,G.prototype=null),n}});var 
Y=b.bind(i.hasOwnProperty),B=b.bind(i.toString),H=b.bind(h),W=w.bind(h),L=b.bind(s.slice),X=b.bind(s.split),q=b.bind(s.indexOf),K=b.bind(y),Q=b.bind(i.propertyIsE
 numerable),V=b.bind(n.sort),_=r.isArray||function(t){return"[object 
Array]"===B(t)},tt=1!==[].unshift(0);P(n,{unshift:function(){return 
d.apply(this,arguments),this.length}},tt),P(r,{isArray:_});var 
et=o("a"),rt="a"!==et[0]||!(0 in et),nt=function(t){var 
e=!0,r=!0,n=!1;if(t)try{t.call("foo",function(t,r,n){"object"!=typeof 
n&&(e=!1)}),t.call([1],function(){"use strict";r="string"==typeof 
this},"x")}catch(o){n=!0}return!!t&&!n&&e&&r};P(n,{forEach:function(e){var 
r,n=z.ToObject(this),o=rt&&k(this)?X(this,""):n,i=-1,a=z.ToUint32(o.length);if(arguments.length>1&&(r=arguments[1]),!t(e))throw
 new TypeError("Array.prototype.forEach callback must be a 
function");for(;++i<a;)i in o&&("undefined"==typeof 
r?e(o[i],i,n):e.call(r,o[i],i,n))}},!nt(n.forEach)),P(n,{map:function(e){var 
n,o=z.ToObject(this),i=rt&&k(this)?X(this,""):o,a=z.ToUint32(i.length),u=r(a);if(arguments.length>1&&(n=arguments[1]),!t(e))throw
 new TypeError("Array.prototype.map callback must be a function");for(var 
f=0;f<a;f++)f
  in i&&("undefined"==typeof n?u[f]=e(i[f],f,o):u[f]=e.call(n,i[f],f,o));return 
u}},!nt(n.map)),P(n,{filter:function(e){var 
r,n,o=z.ToObject(this),i=rt&&k(this)?X(this,""):o,a=z.ToUint32(i.length),u=[];if(arguments.length>1&&(n=arguments[1]),!t(e))throw
 new TypeError("Array.prototype.filter callback must be a function");for(var 
f=0;f<a;f++)f in i&&(r=i[f],("undefined"==typeof 
n?e(r,f,o):e.call(n,r,f,o))&&K(u,r));return 
u}},!nt(n.filter)),P(n,{every:function(e){var 
r,n=z.ToObject(this),o=rt&&k(this)?X(this,""):n,i=z.ToUint32(o.length);if(arguments.length>1&&(r=arguments[1]),!t(e))throw
 new TypeError("Array.prototype.every callback must be a function");for(var 
a=0;a<i;a++)if(a in o&&!("undefined"==typeof 
r?e(o[a],a,n):e.call(r,o[a],a,n)))return!1;return!0}},!nt(n.every)),P(n,{some:function(e){var
 
r,n=z.ToObject(this),o=rt&&k(this)?X(this,""):n,i=z.ToUint32(o.length);if(arguments.length>1&&(r=arguments[1]),!t(e))throw
 new TypeError("Array.prototype.some callback must be a function");for
 (var a=0;a<i;a++)if(a in o&&("undefined"==typeof 
r?e(o[a],a,n):e.call(r,o[a],a,n)))return!0;return!1}},!nt(n.some));var 
ot=!1;n.reduce&&(ot="object"==typeof 
n.reduce.call("es5",function(t,e,r,n){return n})),P(n,{reduce:function(e){var 
r=z.ToObject(this),n=rt&&k(this)?X(this,""):r,o=z.ToUint32(n.length);if(!t(e))throw
 new TypeError("Array.prototype.reduce callback must be a 
function");if(0===o&&1===arguments.length)throw new TypeError("reduce of empty 
array with no initial value");var 
i,a=0;if(arguments.length>=2)i=arguments[1];else for(;;){if(a in 
n){i=n[a++];break}if(++a>=o)throw new TypeError("reduce of empty array with no 
initial value")}for(;a<o;a++)a in n&&(i=e(i,n[a],a,r));return i}},!ot);var 
it=!1;n.reduceRight&&(it="object"==typeof 
n.reduceRight.call("es5",function(t,e,r,n){return 
n})),P(n,{reduceRight:function(e){var 
r=z.ToObject(this),n=rt&&k(this)?X(this,""):r,o=z.ToUint32(n.length);if(!t(e))throw
 new TypeError("Array.prototype.reduceRight callback must be a function");if
 (0===o&&1===arguments.length)throw new TypeError("reduceRight of empty array 
with no initial value");var i,a=o-1;if(arguments.length>=2)i=arguments[1];else 
for(;;){if(a in n){i=n[a--];break}if(--a<0)throw new TypeError("reduceRight of 
empty array with no initial value")}if(a<0)return i;do a in 
n&&(i=e(i,n[a],a,r));while(a--);return i}},!it);var 
at=n.indexOf&&[0,1].indexOf(1,2)!==-1;P(n,{indexOf:function(t){var 
e=rt&&k(this)?X(this,""):z.ToObject(this),r=z.ToUint32(e.length);if(0===r)return-1;var
 
n=0;for(arguments.length>1&&(n=z.ToInteger(arguments[1])),n=n>=0?n:T(0,r+n);n<r;n++)if(n
 in e&&e[n]===t)return n;return-1}},at);var 
ut=n.lastIndexOf&&[0,1].lastIndexOf(0,-3)!==-1;P(n,{lastIndexOf:function(t){var 
e=rt&&k(this)?X(this,""):z.ToObject(this),r=z.ToUint32(e.length);if(0===r)return-1;var
 
n=r-1;for(arguments.length>1&&(n=m(n,z.ToInteger(arguments[1]))),n=n>=0?n:r-Math.abs(n);n>=0;n--)if(n
 in e&&t===e[n])return n;return-1}},ut);var ft=function(){var 
t=[1,2],e=t.splice();return 2===t.
 length&&_(e)&&0===e.length}();P(n,{splice:function(t,e){return 
0===arguments.length?[]:p.apply(this,arguments)}},!ft);var st=function(){var 
t={};return 
n.splice.call(t,0,0,1),1===t.length}();P(n,{splice:function(t,e){if(0===arguments.length)return[];var
 r=arguments;return 
this.length=T(z.ToInteger(this.length),0),arguments.length>0&&"number"!=typeof 
e&&(r=H(arguments),r.length<2?K(r,this.length-t):r[1]=z.ToInteger(e)),p.apply(this,r)}},!st);var
 lt=function(){var t=new r(1e5);return 
t[8]="x",t.splice(1,1),7===t.indexOf("x")}(),ct=function(){var 
t=256,e=[];return 
e[t]="a",e.splice(t+1,0,"b"),"a"===e[t]}();P(n,{splice:function(t,e){for(var 
r,n=z.ToObject(this),o=[],i=z.ToUint32(n.length),a=z.ToInteger(t),u=a<0?T(i+a,0):m(a,i),s=m(T(z.ToInteger(e),0),i-u),l=0;l<s;)r=f(u+l),Y(n,r)&&(o[l]=n[r]),l+=1;var
 c,h=H(arguments,2),p=h.length;if(p<s){l=u;for(var 
y=i-s;l<y;)r=f(l+s),c=f(l+p),Y(n,r)?n[c]=n[r]:delete n[c],l+=1;l=i;for(var 
d=i-s+p;l>d;)delete n[l-1],l-=1}else if(p>s)for(l=i-s;l>u;)r=f(
 l+s-1),c=f(l+p-1),Y(n,r)?n[c]=n[r]:delete n[c],l-=1;l=u;for(var 
g=0;g<h.length;++g)n[l]=h[g],l+=1;return n.length=i-s+p,o}},!lt||!ct);var 
ht,pt=n.join;try{ht="1,2,3"!==Array.prototype.join.call("123",",")}catch(yt){ht=!0}ht&&P(n,{join:function(t){var
 e="undefined"==typeof t?",":t;return 
pt.call(k(this)?X(this,""):this,e)}},ht);var dt="1,2"!==[1,2].join(void 
0);dt&&P(n,{join:function(t){var e="undefined"==typeof t?",":t;return 
pt.call(this,e)}},dt);var gt=function(t){for(var 
e=z.ToObject(this),r=z.ToUint32(e.length),n=0;n<arguments.length;)e[r+n]=arguments[n],n+=1;return
 e.length=r+n,r+n},vt=function(){var t={},e=Array.prototype.push.call(t,void 
0);return 1!==e||1!==t.length||"undefined"!=typeof 
t[0]||!Y(t,0)}();P(n,{push:function(t){return 
_(this)?y.apply(this,arguments):gt.apply(this,arguments)}},vt);var 
bt=function(){var t=[],e=t.push(void 0);return 
1!==e||1!==t.length||"undefined"!=typeof 
t[0]||!Y(t,0)}();P(n,{push:gt},bt),P(n,{slice:function(t,e){var 
r=k(this)?X(this,""):this;re
 turn W(r,arguments)}},rt);var 
wt=function(){try{return[1,2].sort(null),[1,2].sort({}),!0}catch(t){}return!1}(),Tt=function(){try{return[1,2].sort(/a/),!1}catch(t){}return!0}(),mt=function(){try{return[1,2].sort(void
 0),!0}catch(t){}return!1}();P(n,{sort:function(e){if("undefined"==typeof 
e)return V(this);if(!t(e))throw new TypeError("Array.prototype.sort callback 
must be a function");return V(this,e)}},wt||!mt||!Tt);var 
Dt=!Q({toString:null},"toString"),xt=Q(function(){},"prototype"),St=!Y("x","0"),Ot=function(t){var
 e=t.constructor;return 
e&&e.prototype===t},jt={$window:!0,$console:!0,$parent:!0,$self:!0,$frame:!0,$frames:!0,$frameElement:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$external:!0},Et=function(){if("undefined"==typeof
 window)return!1;for(var t in 
window)try{!jt["$"+t]&&Y(window,t)&&null!==window[t]&&"object"==typeof 
window[t]&&Ot(window[t])}catch(e){return!0}return!1}(),Mt=function(t){if("undefined"==typeof
 window||!Et)return Ot(t);try{return Ot(t)}catch(e){return!1}
 
},It=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Ut=It.length,Ft=function(t){return"[object
 Arguments]"===B(t)},Nt=function(e){return null!==e&&"object"==typeof 
e&&"number"==typeof 
e.length&&e.length>=0&&!_(e)&&t(e.callee)},kt=Ft(arguments)?Ft:Nt;P(o,{keys:function(e){var
 r=t(e),n=kt(e),o=null!==e&&"object"==typeof e,i=o&&k(e);if(!o&&!r&&!n)throw 
new TypeError("Object.keys called on a non-object");var 
a=[],u=xt&&r;if(i&&St||n)for(var s=0;s<e.length;++s)K(a,f(s));if(!n)for(var l 
in e)u&&"prototype"===l||!Y(e,l)||K(a,f(l));if(Dt)for(var 
c=Mt(e),h=0;h<Ut;h++){var p=It[h];c&&"constructor"===p||!Y(e,p)||K(a,p)}return 
a}});var Ct=o.keys&&function(){return 
2===o.keys(arguments).length}(1,2),Rt=o.keys&&function(){var 
t=o.keys(arguments);return 
1!==arguments.length||1!==t.length||1!==t[0]}(1),At=o.keys;P(o,{keys:function(t){return
 At(kt(t)?H(t):t)}},!Ct||Rt);var $t,Pt,Jt=0!==new 
Date((-0xc782b5b342b24)).getUTCMonth(),Zt=new Da
 te((-0x55d318d56a724)),zt=new Date(14496624e5),Gt="Mon, 01 Jan -45875 11:59:59 
GMT"!==Zt.toUTCString(),Yt=Zt.getTimezoneOffset();Yt<-720?($t="Tue Jan 02 
-45875"!==Zt.toDateString(),Pt=!/^Thu Dec 10 2015 \d\d:\d\d:\d\d 
GMT[-\+]\d\d\d\d(?: |$)/.test(zt.toString())):($t="Mon Jan 01 
-45875"!==Zt.toDateString(),Pt=!/^Wed Dec 09 2015 \d\d:\d\d:\d\d 
GMT[-\+]\d\d\d\d(?: |$)/.test(zt.toString()));var 
Bt=b.bind(Date.prototype.getFullYear),Ht=b.bind(Date.prototype.getMonth),Wt=b.bind(Date.prototype.getDate),Lt=b.bind(Date.prototype.getUTCFullYear),Xt=b.bind(Date.prototype.getUTCMonth),qt=b.bind(Date.prototype.getUTCDate),Kt=b.bind(Date.prototype.getUTCDay),Qt=b.bind(Date.prototype.getUTCHours),Vt=b.bind(Date.prototype.getUTCMinutes),_t=b.bind(Date.prototype.getUTCSeconds),te=b.bind(Date.prototype.getUTCMilliseconds),ee=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],re=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ne=function(t,e){return
 Wt(new Date(e,t,0))};P(Date.prot
 otype,{getFullYear:function(){if(!(this&&this instanceof Date))throw new 
TypeError("this is not a Date object.");var t=Bt(this);return 
t<0&&Ht(this)>11?t+1:t},getMonth:function(){if(!(this&&this instanceof 
Date))throw new TypeError("this is not a Date object.");var 
t=Bt(this),e=Ht(this);return t<0&&e>11?0:e},getDate:function(){if(!(this&&this 
instanceof Date))throw new TypeError("this is not a Date object.");var 
t=Bt(this),e=Ht(this),r=Wt(this);if(t<0&&e>11){if(12===e)return r;var 
n=ne(0,t+1);return n-r+1}return r},getUTCFullYear:function(){if(!(this&&this 
instanceof Date))throw new TypeError("this is not a Date object.");var 
t=Lt(this);return 
t<0&&Xt(this)>11?t+1:t},getUTCMonth:function(){if(!(this&&this instanceof 
Date))throw new TypeError("this is not a Date object.");var 
t=Lt(this),e=Xt(this);return 
t<0&&e>11?0:e},getUTCDate:function(){if(!(this&&this instanceof Date))throw new 
TypeError("this is not a Date object.");var 
t=Lt(this),e=Xt(this),r=qt(this);if(t<0&&e>11){if(12===e)r
 eturn r;var n=ne(0,t+1);return n-r+1}return 
r}},Jt),P(Date.prototype,{toUTCString:function(){if(!(this&&this instanceof 
Date))throw new TypeError("this is not a Date object.");var 
t=Kt(this),e=qt(this),r=Xt(this),n=Lt(this),o=Qt(this),i=Vt(this),a=_t(this);return
 ee[t]+", "+(e<10?"0"+e:e)+" "+re[r]+" "+n+" 
"+(o<10?"0"+o:o)+":"+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)+" 
GMT"}},Jt||Gt),P(Date.prototype,{toDateString:function(){if(!(this&&this 
instanceof Date))throw new TypeError("this is not a Date object.");var 
t=this.getDay(),e=this.getDate(),r=this.getMonth(),n=this.getFullYear();return 
ee[t]+" "+re[r]+" "+(e<10?"0"+e:e)+" 
"+n}},Jt||$t),(Jt||Pt)&&(Date.prototype.toString=function(){if(!(this&&this 
instanceof Date))throw new TypeError("this is not a Date object.");var 
t=this.getDay(),e=this.getDate(),r=this.getMonth(),n=this.getFullYear(),o=this.getHours(),i=this.getMinutes(),a=this.getSeconds(),u=this.getTimezoneOffset(),f=Math.floor(Math.abs(u)/60),s=Math.floor(Math.abs(u)%60);return
 ee[
 t]+" "+re[r]+" "+(e<10?"0"+e:e)+" "+n+" 
"+(o<10?"0"+o:o)+":"+(i<10?"0"+i:i)+":"+(a<10?"0"+a:a)+" 
GMT"+(u>0?"-":"+")+(f<10?"0"+f:f)+(s<10?"0"+s:s)},$&&o.defineProperty(Date.prototype,"toString",{configurable:!0,enumerable:!1,writable:!0}));var
 oe=-621987552e5,ie="-000001",ae=Date.prototype.toISOString&&new 
Date(oe).toISOString().indexOf(ie)===-1,ue=Date.prototype.toISOString&&"1969-12-31T23:59:59.999Z"!==new
 
Date((-1)).toISOString(),fe=b.bind(Date.prototype.getTime);P(Date.prototype,{toISOString:function(){if(!isFinite(this)||!isFinite(fe(this)))throw
 new RangeError("Date.prototype.toISOString called on non-finite value.");var 
t=Lt(this),e=Xt(this);t+=Math.floor(e/12),e=(e%12+12)%12;var 
r=[e+1,qt(this),Qt(this),Vt(this),_t(this)];t=(t<0?"-":t>9999?"+":"")+L("00000"+Math.abs(t),0<=t&&t<=9999?-4:-6);for(var
 n=0;n<r.length;++n)r[n]=L("00"+r[n],-2);return 
t+"-"+H(r,0,2).join("-")+"T"+H(r,2).join(":")+"."+L("000"+te(this),-3)+"Z"}},ae||ue);var
 se=function(){try{return Date.prototype.toJSO
 N&&null===new Date(NaN).toJSON()&&new 
Date(oe).toJSON().indexOf(ie)!==-1&&Date.prototype.toJSON.call({toISOString:function(){return!0}})}catch(t){return!1}}();se||(Date.prototype.toJSON=function(e){var
 r=o(this),n=z.ToPrimitive(r);if("number"==typeof n&&!isFinite(n))return 
null;var i=r.toISOString;if(!t(i))throw new TypeError("toISOString property is 
not callable");return i.call(r)});var 
le=1e15===Date.parse("+033658-09-27T01:46:40.000Z"),ce=!isNaN(Date.parse("2012-04-04T24:00:00.500Z"))||!isNaN(Date.parse("2012-11-31T23:59:59.000Z"))||!isNaN(Date.parse("2012-12-31T23:59:60.000Z")),he=isNaN(Date.parse("2000-01-01T00:00:00.000Z"));if(he||ce||!le){var
 pe=Math.pow(2,31)-1,ye=Z(new 
Date(1970,0,1,0,0,0,pe+1).getTime());Date=function(t){var 
e=function(r,n,o,i,a,u,s){var l,c=arguments.length;if(this instanceof t){var 
h=u,p=s;if(ye&&c>=7&&s>pe){var 
y=Math.floor(s/pe)*pe,d=Math.floor(y/1e3);h+=d,p-=1e3*d}l=1===c&&f(r)===r?new 
t(e.parse(r)):c>=7?new t(r,n,o,i,a,h,p):c>=6?new t(r,n,o,i,a,h):c>
 =5?new t(r,n,o,i,a):c>=4?new t(r,n,o,i):c>=3?new t(r,n,o):c>=2?new 
t(r,n):c>=1?new t(r instanceof t?+r:r):new t}else 
l=t.apply(this,arguments);return J(l)||P(l,{constructor:e},!0),l},r=new 
RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:(\\.\\d{1,}))?)?(Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$"),n=[0,31,59,90,120,151,181,212,243,273,304,334,365],o=function(t,e){var
 r=e>1?1:0;return 
n[e]+Math.floor((t-1969+r)/4)-Math.floor((t-1901+r)/100)+Math.floor((t-1601+r)/400)+365*(t-1970)},i=function(e){var
 r=0,n=e;if(ye&&n>pe){var 
o=Math.floor(n/pe)*pe,i=Math.floor(o/1e3);r+=i,n-=1e3*i}return l(new 
t(1970,0,1,0,0,r,n))};for(var a in 
t)Y(t,a)&&(e[a]=t[a]);P(e,{now:t.now,UTC:t.UTC},!0),e.prototype=t.prototype,P(e.prototype,{constructor:e},!0);var
 u=function(e){var n=r.exec(e);if(n){var 
a,u=l(n[1]),f=l(n[2]||1)-1,s=l(n[3]||1)-1,c=l(n[4]||0),h=l(n[5]||0),p=l(n[6]||0),y=Math.floor(1e3*l(n[7]||0)),d=Boolean(n[4]&&!n[8]),g="-"===n[9]?1:-1,v=l(n[10]||0),b=l(n[11]|
 |0),w=h>0||p>0||y>0;return 
c<(w?24:25)&&h<60&&p<60&&y<1e3&&f>-1&&f<12&&v<24&&b<60&&s>-1&&s<o(u,f+1)-o(u,f)&&(a=60*(24*(o(u,f)+s)+c+v*g),a=1e3*(60*(a+h+b*g)+p)+y,d&&(a=i(a)),-864e13<=a&&a<=864e13)?a:NaN}return
 t.parse.apply(this,arguments)};return 
P(e,{parse:u}),e}(Date)}Date.now||(Date.now=function(){return(new 
Date).getTime()});var 
de=c.toFixed&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0)),ge={base:1e7,size:6,data:[0,0,0,0,0,0],multiply:function(t,e){for(var
 
r=-1,n=e;++r<ge.size;)n+=t*ge.data[r],ge.data[r]=n%ge.base,n=Math.floor(n/ge.base)},divide:function(t){for(var
 
e=ge.size,r=0;--e>=0;)r+=ge.data[e],ge.data[e]=Math.floor(r/t),r=r%t*ge.base},numToString:function(){for(var
 t=ge.size,e="";--t>=0;)if(""!==e||0===t||0!==ge.data[t]){var 
r=f(ge.data[t]);""===e?e=r:e+=L("0000000",0,7-r.length)+r}return 
e},pow:function Ae(t,e,r){return 
0===e?r:e%2===1?Ae(t,e-1,r*t):Ae(t*t,e/2,r)},log:function(t){for(va
 r e=0,r=t;r>=4096;)e+=12,r/=4096;for(;r>=2;)e+=1,r/=2;return 
e}},ve=function(t){var 
e,r,n,o,i,a,u,s;if(e=l(t),e=Z(e)?0:Math.floor(e),e<0||e>20)throw new 
RangeError("Number.toFixed called with invalid number of 
decimals");if(r=l(this),Z(r))return"NaN";if(r<=-1e21||r>=1e21)return 
f(r);if(n="",r<0&&(n="-",r=-r),o="0",r>1e-21)if(i=ge.log(r*ge.pow(2,69,1))-69,a=i<0?r*ge.pow(2,-i,1):r/ge.pow(2,i,1),a*=4503599627370496,i=52-i,i>0){for(ge.multiply(0,a),u=e;u>=7;)ge.multiply(1e7,0),u-=7;for(ge.multiply(ge.pow(10,u,1),0),u=i-1;u>=23;)ge.divide(1<<23),u-=23;ge.divide(1<<u),ge.multiply(1,1),ge.divide(2),o=ge.numToString()}else
 
ge.multiply(0,a),ge.multiply(1<<-i,0),o=ge.numToString()+L("0.00000000000000000000",2,2+e);return
 
e>0?(s=o.length,o=s<=e?n+L("0.0000000000000000000",0,e-s+2)+o:n+L(o,0,s-e)+"."+L(o,s-e)):o=n+o,o};P(c,{toFixed:ve},de);var
 be=function(){try{return"1"===1..toPrecision(void 
0)}catch(t){return!0}}(),we=c.toPrecision;P(c,{toPrecision:function(t){return"undefined"==typeof
 t?we.c
 
all(this):we.call(this,t)}},be),2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||"t"==="tesst".split(/(s)*/)[1]||4!=="test".split(/(?:)/,-1).length||"".split(/.?/).length||".".split(/()()/).length>1?!function(){var
 
t="undefined"==typeof/()??/.exec("")[1],r=Math.pow(2,32)-1;s.split=function(n,o){var
 i=String(this);if("undefined"==typeof n&&0===o)return[];if(!e(n))return 
X(this,n,o);var 
a,u,f,s,l=[],c=(n.ignoreCase?"i":"")+(n.multiline?"m":"")+(n.unicode?"u":"")+(n.sticky?"y":""),h=0,p=new
 RegExp(n.source,c+"g");t||(a=new RegExp("^"+p.source+"$(?!\\s)",c));var 
d="undefined"==typeof 
o?r:z.ToUint32(o);for(u=p.exec(i);u&&(f=u.index+u[0].length,!(f>h&&(K(l,L(i,h,u.index)),!t&&u.length>1&&u[0].replace(a,function(){for(var
 t=1;t<arguments.length-2;t++)"undefined"==typeof arguments[t]&&(u[t]=void 
0)}),u.length>1&&u.index<i.length&&y.apply(l,H(u,1)),s=u[0].length,h=f,l.length>=d)));)p.lastIndex===u.index&&p.lastIndex++,u=p.exec(i);return
 h===i.length?!s&&p.test("")||K(l,"")
 :K(l,L(i,h)),l.length>d?H(l,0,d):l}}():"0".split(void 
0,0).length&&(s.split=function(t,e){return"undefined"==typeof 
t&&0===e?[]:X(this,t,e)});var Te=s.replace,me=function(){var 
t=[];return"x".replace(/x(.)?/g,function(e,r){K(t,r)}),1===t.length&&"undefined"==typeof
 t[0]}();me||(s.replace=function(r,n){var 
o=t(n),i=e(r)&&/\)[*?]/.test(r.source);if(o&&i){var a=function(t){var 
e=arguments.length,o=r.lastIndex;r.lastIndex=0;var i=r.exec(t)||[];return 
r.lastIndex=o,K(i,arguments[e-2],arguments[e-1]),n.apply(this,i)};return 
Te.call(this,r,a)}return Te.call(this,r,n)});var 
De=s.substr,xe="".substr&&"b"!=="0b".substr(-1);P(s,{substr:function(t,e){var 
r=t;return t<0&&(r=T(this.length+t,0)),De.call(this,r,e)}},xe);var 
Se="\t\n\x0B\f\r   ᠎      
        \u2028\u2029\ufeff",Oe="​",je="["+Se+"]",Ee=new 
RegExp("^"+je+je+"*"),Me=new 
RegExp(je+je+"*$"),Ie=s.trim&&(Se.trim()||!Oe.trim());P(s,{trim:function(){if("undefined"==typeof
 this||null===this)throw new TypeErr
 or("can't convert "+this+" to object");return 
f(this).replace(Ee,"").replace(Me,"")}},Ie);var 
Ue=b.bind(String.prototype.trim),Fe=s.lastIndexOf&&"abcあい".lastIndexOf("あい",2)!==-1;P(s,{lastIndexOf:function(t){if("undefined"==typeof
 this||null===this)throw new TypeError("can't convert "+this+" to 
object");for(var 
e=f(this),r=f(t),n=arguments.length>1?l(arguments[1]):NaN,o=Z(n)?1/0:z.ToInteger(n),i=m(T(o,0),e.length),a=r.length,u=i+a;u>0;){u=T(0,u-a);var
 s=q(L(e,u,i+a),r);if(s!==-1)return u+s}return-1}},Fe);var 
Ne=s.lastIndexOf;if(P(s,{lastIndexOf:function(t){return 
Ne.apply(this,arguments)}},1!==s.lastIndexOf.length),8===parseInt(Se+"08")&&22===parseInt(Se+"0x16")||(parseInt=function(t){var
 e=/^[\-+]?0[xX]/;return function(r,n){var 
o=Ue(String(r)),i=l(n)||(e.test(o)?16:10);return 
t(o,i)}}(parseInt)),1/parseFloat("-0")!==-(1/0)&&(parseFloat=function(t){return 
function(e){var r=Ue(String(e)),n=t(r);return 
0===n&&"-"===L(r,0,1)?-0:n}}(parseFloat)),"RangeError: test"!==String(new R
 angeError("test"))){var ke=function(){if("undefined"==typeof 
this||null===this)throw new TypeError("can't convert "+this+" to object");var 
t=this.name;"undefined"==typeof t?t="Error":"string"!=typeof t&&(t=f(t));var 
e=this.message;return"undefined"==typeof e?e="":"string"!=typeof 
e&&(e=f(e)),t?e?t+": "+e:t:e};Error.prototype.toString=ke}if($){var 
Ce=function(t,e){if(Q(t,e)){var 
r=Object.getOwnPropertyDescriptor(t,e);r.configurable&&(r.enumerable=!1,Object.defineProperty(t,e,r))}};Ce(Error.prototype,"message"),""!==Error.prototype.message&&(Error.prototype.message=""),Ce(Error.prototype,"name")}if("/a/gim"!==String(/a/gim)){var
 Re=function(){var t="/"+this.source+"/";return 
this.global&&(t+="g"),this.ignoreCase&&(t+="i"),this.multiline&&(t+="m"),t};RegExp.prototype.toString=Re}});
\ No newline at end of file

Reply via email to