You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by cc...@apache.org on 2016/03/15 00:20:43 UTC

[22/23] incubator-mynewt-newt git commit: Add static Godeps for newt repo.

Add static Godeps for newt repo.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/commit/0766779d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/tree/0766779d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/diff/0766779d

Branch: refs/heads/develop
Commit: 0766779d6295e7afb46bf03e7d1eb830fac78263
Parents: dce7a8c
Author: Christopher Collins <cc...@apache.org>
Authored: Mon Mar 14 15:49:02 2016 -0700
Committer: Christopher Collins <cc...@apache.org>
Committed: Mon Mar 14 15:49:02 2016 -0700

----------------------------------------------------------------------
 newt/Godeps/Godeps.json                         |     63 +
 newt/Godeps/Readme                              |      5 +
 newt/Godeps/_workspace/.gitignore               |      2 +
 .../src/github.com/BurntSushi/toml/.gitignore   |      5 +
 .../src/github.com/BurntSushi/toml/.travis.yml  |     12 +
 .../src/github.com/BurntSushi/toml/COMPATIBLE   |      3 +
 .../src/github.com/BurntSushi/toml/COPYING      |     14 +
 .../src/github.com/BurntSushi/toml/Makefile     |     19 +
 .../src/github.com/BurntSushi/toml/README.md    |    220 +
 .../toml/cmd/toml-test-decoder/COPYING          |     14 +
 .../toml/cmd/toml-test-decoder/README.md        |     14 +
 .../toml/cmd/toml-test-decoder/main.go          |     90 +
 .../toml/cmd/toml-test-encoder/COPYING          |     14 +
 .../toml/cmd/toml-test-encoder/README.md        |     14 +
 .../toml/cmd/toml-test-encoder/main.go          |    131 +
 .../BurntSushi/toml/cmd/tomlv/COPYING           |     14 +
 .../BurntSushi/toml/cmd/tomlv/README.md         |     22 +
 .../BurntSushi/toml/cmd/tomlv/main.go           |     61 +
 .../src/github.com/BurntSushi/toml/decode.go    |    505 +
 .../github.com/BurntSushi/toml/decode_meta.go   |    122 +
 .../github.com/BurntSushi/toml/decode_test.go   |   1092 +
 .../src/github.com/BurntSushi/toml/doc.go       |     27 +
 .../src/github.com/BurntSushi/toml/encode.go    |    549 +
 .../github.com/BurntSushi/toml/encode_test.go   |    590 +
 .../BurntSushi/toml/encoding_types.go           |     19 +
 .../BurntSushi/toml/encoding_types_1.1.go       |     18 +
 .../src/github.com/BurntSushi/toml/lex.go       |    871 +
 .../src/github.com/BurntSushi/toml/parse.go     |    493 +
 .../src/github.com/BurntSushi/toml/session.vim  |      1 +
 .../github.com/BurntSushi/toml/type_check.go    |     91 +
 .../github.com/BurntSushi/toml/type_fields.go   |    241 +
 .../src/github.com/hashicorp/hcl/.gitignore     |      7 +
 .../src/github.com/hashicorp/hcl/.travis.yml    |      3 +
 .../src/github.com/hashicorp/hcl/LICENSE        |    354 +
 .../src/github.com/hashicorp/hcl/Makefile       |     17 +
 .../src/github.com/hashicorp/hcl/README.md      |    104 +
 .../src/github.com/hashicorp/hcl/decoder.go     |    627 +
 .../github.com/hashicorp/hcl/decoder_test.go    |    669 +
 .../src/github.com/hashicorp/hcl/hcl.go         |     11 +
 .../src/github.com/hashicorp/hcl/hcl/ast/ast.go |    211 +
 .../hashicorp/hcl/hcl/ast/ast_test.go           |    200 +
 .../github.com/hashicorp/hcl/hcl/ast/walk.go    |     52 +
 .../hashicorp/hcl/hcl/fmtcmd/fmtcmd.go          |    164 +
 .../hashicorp/hcl/hcl/fmtcmd/fmtcmd_test.go     |    431 +
 .../hcl/hcl/fmtcmd/test-fixtures/.hidden.ignore |      1 +
 .../hcl/hcl/fmtcmd/test-fixtures/dir.ignore     |      0
 .../hcl/hcl/fmtcmd/test-fixtures/file.ignore    |      1 +
 .../hcl/hcl/fmtcmd/test-fixtures/good.hcl       |      0
 .../hashicorp/hcl/hcl/parser/error.go           |     17 +
 .../hashicorp/hcl/hcl/parser/error_test.go      |      9 +
 .../hashicorp/hcl/hcl/parser/parser.go          |    422 +
 .../hashicorp/hcl/hcl/parser/parser_test.go     |    334 +
 .../hcl/parser/test-fixtures/array_comment.hcl  |      4 +
 .../parser/test-fixtures/array_comment_2.hcl    |      6 +
 .../hcl/parser/test-fixtures/assign_colon.hcl   |      6 +
 .../hcl/parser/test-fixtures/assign_deep.hcl    |      5 +
 .../hcl/hcl/parser/test-fixtures/comment.hcl    |     15 +
 .../parser/test-fixtures/comment_lastline.hcl   |      1 +
 .../hcl/parser/test-fixtures/comment_single.hcl |      1 +
 .../hcl/hcl/parser/test-fixtures/complex.hcl    |     42 +
 .../hcl/parser/test-fixtures/complex_key.hcl    |      1 +
 .../hcl/hcl/parser/test-fixtures/empty.hcl      |      0
 .../hcl/hcl/parser/test-fixtures/list.hcl       |      1 +
 .../hcl/hcl/parser/test-fixtures/list_comma.hcl |      1 +
 .../hcl/parser/test-fixtures/missing_braces.hcl |      4 +
 .../hcl/hcl/parser/test-fixtures/multiple.hcl   |      2 +
 .../hcl/hcl/parser/test-fixtures/old.hcl        |      3 +
 .../hcl/hcl/parser/test-fixtures/structure.hcl  |      5 +
 .../parser/test-fixtures/structure_basic.hcl    |      5 +
 .../parser/test-fixtures/structure_empty.hcl    |      1 +
 .../hcl/hcl/parser/test-fixtures/types.hcl      |      7 +
 .../test-fixtures/unterminated_object.hcl       |      2 +
 .../test-fixtures/unterminated_object_2.hcl     |      6 +
 .../hashicorp/hcl/hcl/printer/nodes.go          |    575 +
 .../hashicorp/hcl/hcl/printer/printer.go        |     64 +
 .../hashicorp/hcl/hcl/printer/printer_test.go   |    143 +
 .../hcl/hcl/printer/testdata/comment.golden     |     36 +
 .../hcl/hcl/printer/testdata/comment.input      |     37 +
 .../hcl/printer/testdata/comment_aligned.golden |     32 +
 .../hcl/printer/testdata/comment_aligned.input  |     28 +
 .../printer/testdata/comment_standalone.golden  |     16 +
 .../printer/testdata/comment_standalone.input   |     16 +
 .../hcl/hcl/printer/testdata/complexhcl.golden  |     54 +
 .../hcl/hcl/printer/testdata/complexhcl.input   |     53 +
 .../hcl/hcl/printer/testdata/list.golden        |     27 +
 .../hcl/hcl/printer/testdata/list.input         |     21 +
 .../hashicorp/hcl/hcl/scanner/scanner.go        |    612 +
 .../hashicorp/hcl/hcl/scanner/scanner_test.go   |    536 +
 .../hashicorp/hcl/hcl/strconv/quote.go          |    245 +
 .../hashicorp/hcl/hcl/strconv/quote_test.go     |     93 +
 .../hcl/hcl/test-fixtures/array_comment.hcl     |      4 +
 .../hcl/hcl/test-fixtures/assign_colon.hcl      |      6 +
 .../hcl/hcl/test-fixtures/assign_deep.hcl       |      5 +
 .../hashicorp/hcl/hcl/test-fixtures/comment.hcl |     15 +
 .../hcl/hcl/test-fixtures/comment_single.hcl    |      1 +
 .../hashicorp/hcl/hcl/test-fixtures/complex.hcl |     42 +
 .../hcl/hcl/test-fixtures/complex_key.hcl       |      1 +
 .../hashicorp/hcl/hcl/test-fixtures/empty.hcl   |      0
 .../hashicorp/hcl/hcl/test-fixtures/list.hcl    |      1 +
 .../hcl/hcl/test-fixtures/list_comma.hcl        |      1 +
 .../hcl/hcl/test-fixtures/multiple.hcl          |      2 +
 .../hashicorp/hcl/hcl/test-fixtures/old.hcl     |      3 +
 .../hcl/hcl/test-fixtures/structure.hcl         |      5 +
 .../hcl/hcl/test-fixtures/structure_basic.hcl   |      5 +
 .../hcl/hcl/test-fixtures/structure_empty.hcl   |      1 +
 .../hashicorp/hcl/hcl/test-fixtures/types.hcl   |      7 +
 .../hashicorp/hcl/hcl/token/position.go         |     46 +
 .../github.com/hashicorp/hcl/hcl/token/token.go |    170 +
 .../hashicorp/hcl/hcl/token/token_test.go       |     63 +
 .../src/github.com/hashicorp/hcl/hcl_test.go    |     19 +
 .../hashicorp/hcl/json/parser/flatten.go        |    111 +
 .../hashicorp/hcl/json/parser/parser.go         |    297 +
 .../hashicorp/hcl/json/parser/parser_test.go    |    338 +
 .../hcl/json/parser/test-fixtures/array.json    |      4 +
 .../hcl/json/parser/test-fixtures/basic.json    |      3 +
 .../hcl/json/parser/test-fixtures/object.json   |      5 +
 .../hcl/json/parser/test-fixtures/types.json    |     10 +
 .../hashicorp/hcl/json/scanner/scanner.go       |    451 +
 .../hashicorp/hcl/json/scanner/scanner_test.go  |    363 +
 .../hashicorp/hcl/json/test-fixtures/array.json |      4 +
 .../hashicorp/hcl/json/test-fixtures/basic.json |      3 +
 .../hcl/json/test-fixtures/object.json          |      5 +
 .../hashicorp/hcl/json/test-fixtures/types.json |     10 +
 .../hashicorp/hcl/json/token/position.go        |     46 +
 .../hashicorp/hcl/json/token/token.go           |    118 +
 .../hashicorp/hcl/json/token/token_test.go      |     34 +
 .../src/github.com/hashicorp/hcl/lex.go         |     31 +
 .../src/github.com/hashicorp/hcl/lex_test.go    |     37 +
 .../src/github.com/hashicorp/hcl/parse.go       |     23 +
 .../hashicorp/hcl/test-fixtures/basic.hcl       |      2 +
 .../hashicorp/hcl/test-fixtures/basic.json      |      4 +
 .../hcl/test-fixtures/basic_int_string.hcl      |      1 +
 .../hcl/test-fixtures/basic_squish.hcl          |      3 +
 .../hcl/test-fixtures/decode_policy.hcl         |     15 +
 .../hcl/test-fixtures/decode_policy.json        |     19 +
 .../hcl/test-fixtures/decode_tf_variable.hcl    |     10 +
 .../hcl/test-fixtures/decode_tf_variable.json   |     14 +
 .../hashicorp/hcl/test-fixtures/empty.hcl       |      1 +
 .../hashicorp/hcl/test-fixtures/escape.hcl      |      1 +
 .../hashicorp/hcl/test-fixtures/flat.hcl        |      2 +
 .../hashicorp/hcl/test-fixtures/float.hcl       |      1 +
 .../hashicorp/hcl/test-fixtures/float.json      |      3 +
 .../hcl/test-fixtures/interpolate_escape.hcl    |      1 +
 .../hashicorp/hcl/test-fixtures/multiline.hcl   |      4 +
 .../hashicorp/hcl/test-fixtures/multiline.json  |      3 +
 .../hcl/test-fixtures/multiline_bad.hcl         |      4 +
 .../hcl/test-fixtures/multiline_no_eof.hcl      |      5 +
 .../hcl/test-fixtures/multiline_no_marker.hcl   |      1 +
 .../hcl/test-fixtures/nested_block_comment.hcl  |      5 +
 .../hcl/test-fixtures/object_list.json          |     15 +
 .../hashicorp/hcl/test-fixtures/scientific.hcl  |      6 +
 .../hashicorp/hcl/test-fixtures/scientific.json |      8 +
 .../hcl/test-fixtures/slice_expand.hcl          |      7 +
 .../hashicorp/hcl/test-fixtures/structure.hcl   |      5 +
 .../hashicorp/hcl/test-fixtures/structure.json  |      8 +
 .../hashicorp/hcl/test-fixtures/structure2.hcl  |      9 +
 .../hashicorp/hcl/test-fixtures/structure2.json |     10 +
 .../hcl/test-fixtures/structure_flat.json       |      8 +
 .../hcl/test-fixtures/structure_flatmap.hcl     |      7 +
 .../hcl/test-fixtures/structure_list.hcl        |      6 +
 .../hcl/test-fixtures/structure_list.json       |      7 +
 .../hcl/test-fixtures/structure_list_deep.json  |     16 +
 .../hcl/test-fixtures/structure_multi.hcl       |      7 +
 .../hcl/test-fixtures/structure_multi.json      |     11 +
 .../hcl/test-fixtures/terraform_heroku.hcl      |      5 +
 .../hcl/test-fixtures/terraform_heroku.json     |      6 +
 .../hashicorp/hcl/test-fixtures/tfvars.hcl      |      3 +
 .../unterminated_block_comment.hcl              |      2 +
 .../hcl/test-fixtures/unterminated_brace.hcl    |      2 +
 .../github.com/hashicorp/logutils/.gitignore    |     22 +
 .../src/github.com/hashicorp/logutils/LICENSE   |    354 +
 .../src/github.com/hashicorp/logutils/README.md |     36 +
 .../src/github.com/hashicorp/logutils/level.go  |     81 +
 .../hashicorp/logutils/level_benchmark_test.go  |     37 +
 .../github.com/hashicorp/logutils/level_test.go |     94 +
 .../src/github.com/kr/pretty/.gitignore         |      4 +
 .../_workspace/src/github.com/kr/pretty/License |     21 +
 .../_workspace/src/github.com/kr/pretty/Readme  |      9 +
 .../_workspace/src/github.com/kr/pretty/diff.go |    158 +
 .../src/github.com/kr/pretty/diff_test.go       |     74 +
 .../src/github.com/kr/pretty/example_test.go    |     20 +
 .../src/github.com/kr/pretty/formatter.go       |    337 +
 .../src/github.com/kr/pretty/formatter_test.go  |    261 +
 .../src/github.com/kr/pretty/pretty.go          |     98 +
 .../_workspace/src/github.com/kr/pretty/zero.go |     41 +
 .../_workspace/src/github.com/kr/text/License   |     19 +
 .../_workspace/src/github.com/kr/text/Readme    |      3 +
 .../src/github.com/kr/text/colwriter/Readme     |      5 +
 .../src/github.com/kr/text/colwriter/column.go  |    147 +
 .../github.com/kr/text/colwriter/column_test.go |     90 +
 .../_workspace/src/github.com/kr/text/doc.go    |      3 +
 .../_workspace/src/github.com/kr/text/indent.go |     74 +
 .../src/github.com/kr/text/indent_test.go       |    119 +
 .../_workspace/src/github.com/kr/text/mc/Readme |      9 +
 .../_workspace/src/github.com/kr/text/mc/mc.go  |     62 +
 .../_workspace/src/github.com/kr/text/wrap.go   |     86 +
 .../src/github.com/kr/text/wrap_test.go         |     62 +
 .../github.com/magiconair/properties/.gitignore |      4 +
 .../magiconair/properties/.travis.yml           |     10 +
 .../magiconair/properties/CHANGELOG.md          |     75 +
 .../github.com/magiconair/properties/LICENSE    |     25 +
 .../github.com/magiconair/properties/README.md  |     79 +
 .../magiconair/properties/benchmark_test.go     |     22 +
 .../github.com/magiconair/properties/decode.go  |    286 +
 .../magiconair/properties/decode_test.go        |    295 +
 .../src/github.com/magiconair/properties/doc.go |    156 +
 .../magiconair/properties/example_test.go       |     93 +
 .../magiconair/properties/integrate.go          |     30 +
 .../magiconair/properties/integrate_test.go     |     70 +
 .../src/github.com/magiconair/properties/lex.go |    409 +
 .../github.com/magiconair/properties/load.go    |    124 +
 .../magiconair/properties/load_test.go          |    137 +
 .../github.com/magiconair/properties/parser.go  |     95 +
 .../magiconair/properties/properties.go         |    746 +
 .../magiconair/properties/properties_test.go    |    906 +
 .../magiconair/properties/rangecheck.go         |     31 +
 .../src/github.com/mattn/go-sqlite3/.gitignore  |      3 +
 .../src/github.com/mattn/go-sqlite3/.travis.yml |      9 +
 .../src/github.com/mattn/go-sqlite3/LICENSE     |     21 +
 .../src/github.com/mattn/go-sqlite3/README.md   |     75 +
 .../src/github.com/mattn/go-sqlite3/backup.go   |     70 +
 .../src/github.com/mattn/go-sqlite3/callback.go |    336 +
 .../mattn/go-sqlite3/callback_test.go           |     97 +
 .../mattn/go-sqlite3/code/sqlite3-binding.c     | 186041 ++++++++++++++++
 .../mattn/go-sqlite3/code/sqlite3-binding.h     |   8630 +
 .../mattn/go-sqlite3/code/sqlite3ext.h          |    542 +
 .../src/github.com/mattn/go-sqlite3/doc.go      |    112 +
 .../src/github.com/mattn/go-sqlite3/error.go    |    128 +
 .../github.com/mattn/go-sqlite3/error_test.go   |    242 +
 .../mattn/go-sqlite3/sqlite3-binding.c          |      4 +
 .../mattn/go-sqlite3/sqlite3-binding.h          |      5 +
 .../src/github.com/mattn/go-sqlite3/sqlite3.go  |    998 +
 .../mattn/go-sqlite3/sqlite3_fts3_test.go       |    127 +
 .../github.com/mattn/go-sqlite3/sqlite3_fts5.go |     13 +
 .../github.com/mattn/go-sqlite3/sqlite3_icu.go  |     13 +
 .../mattn/go-sqlite3/sqlite3_json1.go           |     12 +
 .../mattn/go-sqlite3/sqlite3_libsqlite3.go      |     13 +
 .../mattn/go-sqlite3/sqlite3_load_extension.go  |     39 +
 .../go-sqlite3/sqlite3_omit_load_extension.go   |     19 +
 .../mattn/go-sqlite3/sqlite3_other.go           |     13 +
 .../github.com/mattn/go-sqlite3/sqlite3_test.go |   1350 +
 .../mattn/go-sqlite3/sqlite3_test/sqltest.go    |    409 +
 .../mattn/go-sqlite3/sqlite3_windows.go         |     14 +
 .../mitchellh/mapstructure/.travis.yml          |      7 +
 .../github.com/mitchellh/mapstructure/LICENSE   |     21 +
 .../github.com/mitchellh/mapstructure/README.md |     46 +
 .../mitchellh/mapstructure/decode_hooks.go      |    151 +
 .../mitchellh/mapstructure/decode_hooks_test.go |    229 +
 .../github.com/mitchellh/mapstructure/error.go  |     50 +
 .../mitchellh/mapstructure/mapstructure.go      |    767 +
 .../mapstructure/mapstructure_benchmark_test.go |    279 +
 .../mapstructure/mapstructure_bugs_test.go      |     47 +
 .../mapstructure/mapstructure_examples_test.go  |    203 +
 .../mitchellh/mapstructure/mapstructure_test.go |   1047 +
 .../src/github.com/spf13/cast/.gitignore        |     23 +
 .../src/github.com/spf13/cast/LICENSE           |     21 +
 .../src/github.com/spf13/cast/README.md         |     72 +
 .../src/github.com/spf13/cast/cast.go           |     73 +
 .../src/github.com/spf13/cast/cast_test.go      |    164 +
 .../src/github.com/spf13/cast/caste.go          |    456 +
 .../src/github.com/spf13/cobra/.gitignore       |     24 +
 .../src/github.com/spf13/cobra/.mailmap         |      3 +
 .../src/github.com/spf13/cobra/.travis.yml      |      9 +
 .../src/github.com/spf13/cobra/LICENSE.txt      |    174 +
 .../src/github.com/spf13/cobra/README.md        |    872 +
 .../github.com/spf13/cobra/bash_completions.go  |    532 +
 .../github.com/spf13/cobra/bash_completions.md  |    149 +
 .../spf13/cobra/bash_completions_test.go        |     95 +
 .../src/github.com/spf13/cobra/cobra.go         |    162 +
 .../src/github.com/spf13/cobra/cobra/cmd/add.go |    128 +
 .../github.com/spf13/cobra/cobra/cmd/helpers.go |    347 +
 .../spf13/cobra/cobra/cmd/helpers_test.go       |     40 +
 .../github.com/spf13/cobra/cobra/cmd/init.go    |    226 +
 .../spf13/cobra/cobra/cmd/licenses.go           |   1133 +
 .../github.com/spf13/cobra/cobra/cmd/root.go    |     84 +
 .../src/github.com/spf13/cobra/cobra/main.go    |     20 +
 .../src/github.com/spf13/cobra/cobra_test.go    |   1169 +
 .../src/github.com/spf13/cobra/command.go       |   1197 +
 .../github.com/spf13/cobra/command_notwin.go    |      5 +
 .../src/github.com/spf13/cobra/command_test.go  |    114 +
 .../src/github.com/spf13/cobra/command_win.go   |     26 +
 .../src/github.com/spf13/cobra/doc/cmd_test.go  |    145 +
 .../src/github.com/spf13/cobra/doc/man_docs.go  |    218 +
 .../src/github.com/spf13/cobra/doc/man_docs.md  |     26 +
 .../github.com/spf13/cobra/doc/man_docs_test.go |     97 +
 .../spf13/cobra/doc/man_examples_test.go        |     35 +
 .../src/github.com/spf13/cobra/doc/md_docs.go   |    175 +
 .../src/github.com/spf13/cobra/doc/md_docs.md   |    104 +
 .../github.com/spf13/cobra/doc/md_docs_test.go  |     88 +
 .../src/github.com/spf13/cobra/doc/util.go      |     38 +
 .../spf13/jwalterweatherman/.gitignore          |     22 +
 .../github.com/spf13/jwalterweatherman/LICENSE  |     21 +
 .../spf13/jwalterweatherman/README.md           |    161 +
 .../spf13/jwalterweatherman/jww_test.go         |     56 +
 .../thatswhyyoualwaysleaveanote.go              |    198 +
 .../src/github.com/spf13/pflag/.travis.yml      |     18 +
 .../src/github.com/spf13/pflag/LICENSE          |     28 +
 .../src/github.com/spf13/pflag/README.md        |    256 +
 .../src/github.com/spf13/pflag/bool.go          |     97 +
 .../src/github.com/spf13/pflag/bool_test.go     |    180 +
 .../src/github.com/spf13/pflag/count.go         |     97 +
 .../src/github.com/spf13/pflag/count_test.go    |     55 +
 .../src/github.com/spf13/pflag/duration.go      |     86 +
 .../src/github.com/spf13/pflag/example_test.go  |     77 +
 .../src/github.com/spf13/pflag/export_test.go   |     29 +
 .../src/github.com/spf13/pflag/flag.go          |    920 +
 .../src/github.com/spf13/pflag/flag_test.go     |    913 +
 .../src/github.com/spf13/pflag/float32.go       |     91 +
 .../src/github.com/spf13/pflag/float64.go       |     87 +
 .../src/github.com/spf13/pflag/golangflag.go    |    104 +
 .../github.com/spf13/pflag/golangflag_test.go   |     39 +
 .../src/github.com/spf13/pflag/int.go           |     87 +
 .../src/github.com/spf13/pflag/int32.go         |     91 +
 .../src/github.com/spf13/pflag/int64.go         |     87 +
 .../src/github.com/spf13/pflag/int8.go          |     91 +
 .../src/github.com/spf13/pflag/int_slice.go     |    128 +
 .../github.com/spf13/pflag/int_slice_test.go    |    162 +
 .../_workspace/src/github.com/spf13/pflag/ip.go |     96 +
 .../src/github.com/spf13/pflag/ip_test.go       |     63 +
 .../src/github.com/spf13/pflag/ipmask.go        |    122 +
 .../src/github.com/spf13/pflag/ipnet.go         |    100 +
 .../src/github.com/spf13/pflag/ipnet_test.go    |     70 +
 .../src/github.com/spf13/pflag/string.go        |     82 +
 .../src/github.com/spf13/pflag/string_slice.go  |    111 +
 .../github.com/spf13/pflag/string_slice_test.go |    161 +
 .../src/github.com/spf13/pflag/uint.go          |     91 +
 .../src/github.com/spf13/pflag/uint16.go        |     89 +
 .../src/github.com/spf13/pflag/uint32.go        |     89 +
 .../src/github.com/spf13/pflag/uint64.go        |     91 +
 .../src/github.com/spf13/pflag/uint8.go         |     91 +
 .../src/github.com/spf13/pflag/verify/all.sh    |     69 +
 .../src/github.com/spf13/pflag/verify/gofmt.sh  |     19 +
 .../src/github.com/spf13/pflag/verify/golint.sh |     15 +
 .../src/gopkg.in/fsnotify.v1/.gitignore         |      6 +
 .../src/gopkg.in/fsnotify.v1/.travis.yml        |     23 +
 .../_workspace/src/gopkg.in/fsnotify.v1/AUTHORS |     40 +
 .../src/gopkg.in/fsnotify.v1/CHANGELOG.md       |    287 +
 .../src/gopkg.in/fsnotify.v1/CONTRIBUTING.md    |     77 +
 .../_workspace/src/gopkg.in/fsnotify.v1/LICENSE |     28 +
 .../src/gopkg.in/fsnotify.v1/README.md          |     46 +
 .../src/gopkg.in/fsnotify.v1/example_test.go    |     42 +
 .../src/gopkg.in/fsnotify.v1/fsnotify.go        |     62 +
 .../src/gopkg.in/fsnotify.v1/inotify.go         |    324 +
 .../src/gopkg.in/fsnotify.v1/inotify_poller.go  |    186 +
 .../gopkg.in/fsnotify.v1/inotify_poller_test.go |    228 +
 .../src/gopkg.in/fsnotify.v1/inotify_test.go    |    343 +
 .../fsnotify.v1/integration_darwin_test.go      |    146 +
 .../gopkg.in/fsnotify.v1/integration_test.go    |   1237 +
 .../src/gopkg.in/fsnotify.v1/kqueue.go          |    502 +
 .../src/gopkg.in/fsnotify.v1/open_mode_bsd.go   |     11 +
 .../gopkg.in/fsnotify.v1/open_mode_darwin.go    |     12 +
 .../src/gopkg.in/fsnotify.v1/windows.go         |    561 +
 352 files changed, 240259 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/Godeps.json
----------------------------------------------------------------------
diff --git a/newt/Godeps/Godeps.json b/newt/Godeps/Godeps.json
new file mode 100644
index 0000000..6b2eafc
--- /dev/null
+++ b/newt/Godeps/Godeps.json
@@ -0,0 +1,63 @@
+{
+	"ImportPath": "mynewt.apache.org/newt/newt",
+	"GoVersion": "go1.6",
+	"Deps": [
+		{
+			"ImportPath": "github.com/BurntSushi/toml",
+			"Comment": "v0.1.0-46-gbbd5bb6",
+			"Rev": "bbd5bb678321a0d6e58f1099321dfa73391c1b6f"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/hcl",
+			"Rev": "71c7409f1abba841e528a80556ed2c67671744c3"
+		},
+		{
+			"ImportPath": "github.com/hashicorp/logutils",
+			"Rev": "0dc08b1671f34c4250ce212759ebd880f743d883"
+		},
+		{
+			"ImportPath": "github.com/kr/pretty",
+			"Comment": "go.weekly.2011-12-22-27-ge6ac2fc",
+			"Rev": "e6ac2fc51e89a3249e82157fa0bb7a18ef9dd5bb"
+		},
+		{
+			"ImportPath": "github.com/kr/text",
+			"Rev": "bb797dc4fb8320488f47bf11de07a733d7233e1f"
+		},
+		{
+			"ImportPath": "github.com/magiconair/properties",
+			"Comment": "v1.6.0-5-g497d0af",
+			"Rev": "497d0afefddf378f9ffb3c89db6a326985908519"
+		},
+		{
+			"ImportPath": "github.com/mattn/go-sqlite3",
+			"Comment": "v1.1.0-46-g10876d7",
+			"Rev": "10876d7dac65f02064c03d7372a2f1dfb90043fe"
+		},
+		{
+			"ImportPath": "github.com/mitchellh/mapstructure",
+			"Rev": "d2dd0262208475919e1a362f675cfc0e7c10e905"
+		},
+		{
+			"ImportPath": "github.com/spf13/cast",
+			"Rev": "ee7b3e0353166ab1f3a605294ac8cd2b77953778"
+		},
+		{
+			"ImportPath": "github.com/spf13/cobra",
+			"Rev": "65a708cee0a4424f4e353d031ce440643e312f92"
+		},
+		{
+			"ImportPath": "github.com/spf13/jwalterweatherman",
+			"Rev": "d00654080cddbd2b082acaa74007cb94a2b40866"
+		},
+		{
+			"ImportPath": "github.com/spf13/pflag",
+			"Rev": "7f60f83a2c81bc3c3c0d5297f61ddfa68da9d3b7"
+		},
+		{
+			"ImportPath": "gopkg.in/fsnotify.v1",
+			"Comment": "v1.2.10",
+			"Rev": "875cf421b32f8f1b31bd43776297876d01542279"
+		}
+	]
+}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/Readme
----------------------------------------------------------------------
diff --git a/newt/Godeps/Readme b/newt/Godeps/Readme
new file mode 100644
index 0000000..4cdaa53
--- /dev/null
+++ b/newt/Godeps/Readme
@@ -0,0 +1,5 @@
+This directory tree is generated automatically by godep.
+
+Please do not edit.
+
+See https://github.com/tools/godep for more information.

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/.gitignore
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/.gitignore b/newt/Godeps/_workspace/.gitignore
new file mode 100644
index 0000000..f037d68
--- /dev/null
+++ b/newt/Godeps/_workspace/.gitignore
@@ -0,0 +1,2 @@
+/pkg
+/bin

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/.gitignore
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/.gitignore b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/.gitignore
new file mode 100644
index 0000000..0cd3800
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/.gitignore
@@ -0,0 +1,5 @@
+TAGS
+tags
+.*.swp
+tomlcheck/tomlcheck
+toml.test

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/.travis.yml
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/.travis.yml b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/.travis.yml
new file mode 100644
index 0000000..43caf6d
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/.travis.yml
@@ -0,0 +1,12 @@
+language: go
+go:
+  - 1.1
+  - 1.2
+  - tip
+install:
+  - go install ./...
+  - go get github.com/BurntSushi/toml-test
+script:
+  - export PATH="$PATH:$HOME/gopath/bin"
+  - make test
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/COMPATIBLE
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/COMPATIBLE b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/COMPATIBLE
new file mode 100644
index 0000000..21e0938
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/COMPATIBLE
@@ -0,0 +1,3 @@
+Compatible with TOML version
+[v0.2.0](https://github.com/mojombo/toml/blob/master/versions/toml-v0.2.0.md)
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/COPYING
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/COPYING b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/COPYING
new file mode 100644
index 0000000..5a8e332
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/COPYING
@@ -0,0 +1,14 @@
+            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+                    Version 2, December 2004
+
+ Copyright (C) 2004 Sam Hocevar <sa...@hocevar.net>
+
+ Everyone is permitted to copy and distribute verbatim or modified
+ copies of this license document, and changing it is allowed as long
+ as the name is changed.
+
+            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. You just DO WHAT THE FUCK YOU WANT TO.
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/Makefile
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/Makefile b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/Makefile
new file mode 100644
index 0000000..3600848
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/Makefile
@@ -0,0 +1,19 @@
+install:
+	go install ./...
+
+test: install
+	go test -v
+	toml-test toml-test-decoder
+	toml-test -encoder toml-test-encoder
+
+fmt:
+	gofmt -w *.go */*.go
+	colcheck *.go */*.go
+
+tags:
+	find ./ -name '*.go' -print0 | xargs -0 gotags > TAGS
+
+push:
+	git push origin master
+	git push github master
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/README.md
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/README.md b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/README.md
new file mode 100644
index 0000000..5a5df63
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/README.md
@@ -0,0 +1,220 @@
+## TOML parser and encoder for Go with reflection
+
+TOML stands for Tom's Obvious, Minimal Language. This Go package provides a
+reflection interface similar to Go's standard library `json` and `xml` 
+packages. This package also supports the `encoding.TextUnmarshaler` and
+`encoding.TextMarshaler` interfaces so that you can define custom data 
+representations. (There is an example of this below.)
+
+Spec: https://github.com/mojombo/toml
+
+Compatible with TOML version
+[v0.2.0](https://github.com/toml-lang/toml/blob/master/versions/en/toml-v0.2.0.md)
+
+Documentation: http://godoc.org/github.com/BurntSushi/toml
+
+Installation:
+
+```bash
+go get github.com/BurntSushi/toml
+```
+
+Try the toml validator:
+
+```bash
+go get github.com/BurntSushi/toml/cmd/tomlv
+tomlv some-toml-file.toml
+```
+
+[![Build status](https://api.travis-ci.org/BurntSushi/toml.png)](https://travis-ci.org/BurntSushi/toml)
+
+
+### Testing
+
+This package passes all tests in
+[toml-test](https://github.com/BurntSushi/toml-test) for both the decoder
+and the encoder.
+
+### Examples
+
+This package works similarly to how the Go standard library handles `XML`
+and `JSON`. Namely, data is loaded into Go values via reflection.
+
+For the simplest example, consider some TOML file as just a list of keys
+and values:
+
+```toml
+Age = 25
+Cats = [ "Cauchy", "Plato" ]
+Pi = 3.14
+Perfection = [ 6, 28, 496, 8128 ]
+DOB = 1987-07-05T05:45:00Z
+```
+
+Which could be defined in Go as:
+
+```go
+type Config struct {
+  Age int
+  Cats []string
+  Pi float64
+  Perfection []int
+  DOB time.Time // requires `import time`
+}
+```
+
+And then decoded with:
+
+```go
+var conf Config
+if _, err := toml.Decode(tomlData, &conf); err != nil {
+  // handle error
+}
+```
+
+You can also use struct tags if your struct field name doesn't map to a TOML
+key value directly:
+
+```toml
+some_key_NAME = "wat"
+```
+
+```go
+type TOML struct {
+  ObscureKey string `toml:"some_key_NAME"`
+}
+```
+
+### Using the `encoding.TextUnmarshaler` interface
+
+Here's an example that automatically parses duration strings into 
+`time.Duration` values:
+
+```toml
+[[song]]
+name = "Thunder Road"
+duration = "4m49s"
+
+[[song]]
+name = "Stairway to Heaven"
+duration = "8m03s"
+```
+
+Which can be decoded with:
+
+```go
+type song struct {
+  Name     string
+  Duration duration
+}
+type songs struct {
+  Song []song
+}
+var favorites songs
+if _, err := toml.Decode(blob, &favorites); err != nil {
+  log.Fatal(err)
+}
+
+for _, s := range favorites.Song {
+  fmt.Printf("%s (%s)\n", s.Name, s.Duration)
+}
+```
+
+And you'll also need a `duration` type that satisfies the 
+`encoding.TextUnmarshaler` interface:
+
+```go
+type duration struct {
+	time.Duration
+}
+
+func (d *duration) UnmarshalText(text []byte) error {
+	var err error
+	d.Duration, err = time.ParseDuration(string(text))
+	return err
+}
+```
+
+### More complex usage
+
+Here's an example of how to load the example from the official spec page:
+
+```toml
+# 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
+
+# Line breaks are OK when inside arrays
+hosts = [
+  "alpha",
+  "omega"
+]
+```
+
+And the corresponding Go types are:
+
+```go
+type tomlConfig struct {
+	Title string
+	Owner ownerInfo
+	DB database `toml:"database"`
+	Servers map[string]server
+	Clients clients
+}
+
+type ownerInfo struct {
+	Name string
+	Org string `toml:"organization"`
+	Bio string
+	DOB time.Time
+}
+
+type database struct {
+	Server string
+	Ports []int
+	ConnMax int `toml:"connection_max"`
+	Enabled bool
+}
+
+type server struct {
+	IP string
+	DC string
+}
+
+type clients struct {
+	Data [][]interface{}
+	Hosts []string
+}
+```
+
+Note that a case insensitive match will be tried if an exact match can't be
+found.
+
+A working example of the above can be found in `_examples/example.{go,toml}`.
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-decoder/COPYING
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-decoder/COPYING b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-decoder/COPYING
new file mode 100644
index 0000000..5a8e332
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-decoder/COPYING
@@ -0,0 +1,14 @@
+            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+                    Version 2, December 2004
+
+ Copyright (C) 2004 Sam Hocevar <sa...@hocevar.net>
+
+ Everyone is permitted to copy and distribute verbatim or modified
+ copies of this license document, and changing it is allowed as long
+ as the name is changed.
+
+            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. You just DO WHAT THE FUCK YOU WANT TO.
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-decoder/README.md
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-decoder/README.md b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-decoder/README.md
new file mode 100644
index 0000000..24421eb
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-decoder/README.md
@@ -0,0 +1,14 @@
+# Implements the TOML test suite interface
+
+This is an implementation of the interface expected by
+[toml-test](https://github.com/BurntSushi/toml-test) for my
+[toml parser written in Go](https://github.com/BurntSushi/toml).
+In particular, it maps TOML data on `stdin` to a JSON format on `stdout`.
+
+
+Compatible with TOML version
+[v0.2.0](https://github.com/mojombo/toml/blob/master/versions/toml-v0.2.0.md)
+
+Compatible with `toml-test` version
+[v0.2.0](https://github.com/BurntSushi/toml-test/tree/v0.2.0)
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-decoder/main.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-decoder/main.go b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-decoder/main.go
new file mode 100644
index 0000000..14e7557
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-decoder/main.go
@@ -0,0 +1,90 @@
+// Command toml-test-decoder satisfies the toml-test interface for testing
+// TOML decoders. Namely, it accepts TOML on stdin and outputs JSON on stdout.
+package main
+
+import (
+	"encoding/json"
+	"flag"
+	"fmt"
+	"log"
+	"os"
+	"path"
+	"time"
+
+	"github.com/BurntSushi/toml"
+)
+
+func init() {
+	log.SetFlags(0)
+
+	flag.Usage = usage
+	flag.Parse()
+}
+
+func usage() {
+	log.Printf("Usage: %s < toml-file\n", path.Base(os.Args[0]))
+	flag.PrintDefaults()
+
+	os.Exit(1)
+}
+
+func main() {
+	if flag.NArg() != 0 {
+		flag.Usage()
+	}
+
+	var tmp interface{}
+	if _, err := toml.DecodeReader(os.Stdin, &tmp); err != nil {
+		log.Fatalf("Error decoding TOML: %s", err)
+	}
+
+	typedTmp := translate(tmp)
+	if err := json.NewEncoder(os.Stdout).Encode(typedTmp); err != nil {
+		log.Fatalf("Error encoding JSON: %s", err)
+	}
+}
+
+func translate(tomlData interface{}) interface{} {
+	switch orig := tomlData.(type) {
+	case map[string]interface{}:
+		typed := make(map[string]interface{}, len(orig))
+		for k, v := range orig {
+			typed[k] = translate(v)
+		}
+		return typed
+	case []map[string]interface{}:
+		typed := make([]map[string]interface{}, len(orig))
+		for i, v := range orig {
+			typed[i] = translate(v).(map[string]interface{})
+		}
+		return typed
+	case []interface{}:
+		typed := make([]interface{}, len(orig))
+		for i, v := range orig {
+			typed[i] = translate(v)
+		}
+
+		// We don't really need to tag arrays, but let's be future proof.
+		// (If TOML ever supports tuples, we'll need this.)
+		return tag("array", typed)
+	case time.Time:
+		return tag("datetime", orig.Format("2006-01-02T15:04:05Z"))
+	case bool:
+		return tag("bool", fmt.Sprintf("%v", orig))
+	case int64:
+		return tag("integer", fmt.Sprintf("%d", orig))
+	case float64:
+		return tag("float", fmt.Sprintf("%v", orig))
+	case string:
+		return tag("string", orig)
+	}
+
+	panic(fmt.Sprintf("Unknown type: %T", tomlData))
+}
+
+func tag(typeName string, data interface{}) map[string]interface{} {
+	return map[string]interface{}{
+		"type":  typeName,
+		"value": data,
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-encoder/COPYING
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-encoder/COPYING b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-encoder/COPYING
new file mode 100644
index 0000000..5a8e332
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-encoder/COPYING
@@ -0,0 +1,14 @@
+            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+                    Version 2, December 2004
+
+ Copyright (C) 2004 Sam Hocevar <sa...@hocevar.net>
+
+ Everyone is permitted to copy and distribute verbatim or modified
+ copies of this license document, and changing it is allowed as long
+ as the name is changed.
+
+            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. You just DO WHAT THE FUCK YOU WANT TO.
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-encoder/README.md
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-encoder/README.md b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-encoder/README.md
new file mode 100644
index 0000000..45a603f
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-encoder/README.md
@@ -0,0 +1,14 @@
+# Implements the TOML test suite interface for TOML encoders
+
+This is an implementation of the interface expected by
+[toml-test](https://github.com/BurntSushi/toml-test) for the
+[TOML encoder](https://github.com/BurntSushi/toml).
+In particular, it maps JSON data on `stdin` to a TOML format on `stdout`.
+
+
+Compatible with TOML version
+[v0.2.0](https://github.com/mojombo/toml/blob/master/versions/toml-v0.2.0.md)
+
+Compatible with `toml-test` version
+[v0.2.0](https://github.com/BurntSushi/toml-test/tree/v0.2.0)
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-encoder/main.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-encoder/main.go b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-encoder/main.go
new file mode 100644
index 0000000..092cc68
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/toml-test-encoder/main.go
@@ -0,0 +1,131 @@
+// Command toml-test-encoder satisfies the toml-test interface for testing
+// TOML encoders. Namely, it accepts JSON on stdin and outputs TOML on stdout.
+package main
+
+import (
+	"encoding/json"
+	"flag"
+	"log"
+	"os"
+	"path"
+	"strconv"
+	"time"
+
+	"github.com/BurntSushi/toml"
+)
+
+func init() {
+	log.SetFlags(0)
+
+	flag.Usage = usage
+	flag.Parse()
+}
+
+func usage() {
+	log.Printf("Usage: %s < json-file\n", path.Base(os.Args[0]))
+	flag.PrintDefaults()
+
+	os.Exit(1)
+}
+
+func main() {
+	if flag.NArg() != 0 {
+		flag.Usage()
+	}
+
+	var tmp interface{}
+	if err := json.NewDecoder(os.Stdin).Decode(&tmp); err != nil {
+		log.Fatalf("Error decoding JSON: %s", err)
+	}
+
+	tomlData := translate(tmp)
+	if err := toml.NewEncoder(os.Stdout).Encode(tomlData); err != nil {
+		log.Fatalf("Error encoding TOML: %s", err)
+	}
+}
+
+func translate(typedJson interface{}) interface{} {
+	switch v := typedJson.(type) {
+	case map[string]interface{}:
+		if len(v) == 2 && in("type", v) && in("value", v) {
+			return untag(v)
+		}
+		m := make(map[string]interface{}, len(v))
+		for k, v2 := range v {
+			m[k] = translate(v2)
+		}
+		return m
+	case []interface{}:
+		tabArray := make([]map[string]interface{}, len(v))
+		for i := range v {
+			if m, ok := translate(v[i]).(map[string]interface{}); ok {
+				tabArray[i] = m
+			} else {
+				log.Fatalf("JSON arrays may only contain objects. This " +
+					"corresponds to only tables being allowed in " +
+					"TOML table arrays.")
+			}
+		}
+		return tabArray
+	}
+	log.Fatalf("Unrecognized JSON format '%T'.", typedJson)
+	panic("unreachable")
+}
+
+func untag(typed map[string]interface{}) interface{} {
+	t := typed["type"].(string)
+	v := typed["value"]
+	switch t {
+	case "string":
+		return v.(string)
+	case "integer":
+		v := v.(string)
+		n, err := strconv.Atoi(v)
+		if err != nil {
+			log.Fatalf("Could not parse '%s' as integer: %s", v, err)
+		}
+		return n
+	case "float":
+		v := v.(string)
+		f, err := strconv.ParseFloat(v, 64)
+		if err != nil {
+			log.Fatalf("Could not parse '%s' as float64: %s", v, err)
+		}
+		return f
+	case "datetime":
+		v := v.(string)
+		t, err := time.Parse("2006-01-02T15:04:05Z", v)
+		if err != nil {
+			log.Fatalf("Could not parse '%s' as a datetime: %s", v, err)
+		}
+		return t
+	case "bool":
+		v := v.(string)
+		switch v {
+		case "true":
+			return true
+		case "false":
+			return false
+		}
+		log.Fatalf("Could not parse '%s' as a boolean.", v)
+	case "array":
+		v := v.([]interface{})
+		array := make([]interface{}, len(v))
+		for i := range v {
+			if m, ok := v[i].(map[string]interface{}); ok {
+				array[i] = untag(m)
+			} else {
+				log.Fatalf("Arrays may only contain other arrays or "+
+					"primitive values, but found a '%T'.", m)
+			}
+		}
+		return array
+	}
+	log.Fatalf("Unrecognized tag type '%s'.", t)
+	panic("unreachable")
+}
+
+func in(key string, m map[string]interface{}) bool {
+	_, ok := m[key]
+	return ok
+}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/tomlv/COPYING
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/tomlv/COPYING b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/tomlv/COPYING
new file mode 100644
index 0000000..5a8e332
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/tomlv/COPYING
@@ -0,0 +1,14 @@
+            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+                    Version 2, December 2004
+
+ Copyright (C) 2004 Sam Hocevar <sa...@hocevar.net>
+
+ Everyone is permitted to copy and distribute verbatim or modified
+ copies of this license document, and changing it is allowed as long
+ as the name is changed.
+
+            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. You just DO WHAT THE FUCK YOU WANT TO.
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/tomlv/README.md
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/tomlv/README.md b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/tomlv/README.md
new file mode 100644
index 0000000..5df0dc3
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/tomlv/README.md
@@ -0,0 +1,22 @@
+# TOML Validator
+
+If Go is installed, it's simple to try it out:
+
+```bash
+go get github.com/BurntSushi/toml/cmd/tomlv
+tomlv some-toml-file.toml
+```
+
+You can see the types of every key in a TOML file with:
+
+```bash
+tomlv -types some-toml-file.toml
+```
+
+At the moment, only one error message is reported at a time. Error messages
+include line numbers. No output means that the files given are valid TOML, or 
+there is a bug in `tomlv`.
+
+Compatible with TOML version
+[v0.1.0](https://github.com/mojombo/toml/blob/master/versions/toml-v0.1.0.md)
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/tomlv/main.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/tomlv/main.go b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/tomlv/main.go
new file mode 100644
index 0000000..c7d689a
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/cmd/tomlv/main.go
@@ -0,0 +1,61 @@
+// Command tomlv validates TOML documents and prints each key's type.
+package main
+
+import (
+	"flag"
+	"fmt"
+	"log"
+	"os"
+	"path"
+	"strings"
+	"text/tabwriter"
+
+	"github.com/BurntSushi/toml"
+)
+
+var (
+	flagTypes = false
+)
+
+func init() {
+	log.SetFlags(0)
+
+	flag.BoolVar(&flagTypes, "types", flagTypes,
+		"When set, the types of every defined key will be shown.")
+
+	flag.Usage = usage
+	flag.Parse()
+}
+
+func usage() {
+	log.Printf("Usage: %s toml-file [ toml-file ... ]\n",
+		path.Base(os.Args[0]))
+	flag.PrintDefaults()
+
+	os.Exit(1)
+}
+
+func main() {
+	if flag.NArg() < 1 {
+		flag.Usage()
+	}
+	for _, f := range flag.Args() {
+		var tmp interface{}
+		md, err := toml.DecodeFile(f, &tmp)
+		if err != nil {
+			log.Fatalf("Error in '%s': %s", f, err)
+		}
+		if flagTypes {
+			printTypes(md)
+		}
+	}
+}
+
+func printTypes(md toml.MetaData) {
+	tabw := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0)
+	for _, key := range md.Keys() {
+		fmt.Fprintf(tabw, "%s%s\t%s\n",
+			strings.Repeat("    ", len(key)-1), key, md.Type(key...))
+	}
+	tabw.Flush()
+}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/decode.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/decode.go b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/decode.go
new file mode 100644
index 0000000..c26b00c
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/decode.go
@@ -0,0 +1,505 @@
+package toml
+
+import (
+	"fmt"
+	"io"
+	"io/ioutil"
+	"math"
+	"reflect"
+	"strings"
+	"time"
+)
+
+var e = fmt.Errorf
+
+// Unmarshaler is the interface implemented by objects that can unmarshal a
+// TOML description of themselves.
+type Unmarshaler interface {
+	UnmarshalTOML(interface{}) error
+}
+
+// Unmarshal decodes the contents of `p` in TOML format into a pointer `v`.
+func Unmarshal(p []byte, v interface{}) error {
+	_, err := Decode(string(p), v)
+	return err
+}
+
+// Primitive is a TOML value that hasn't been decoded into a Go value.
+// When using the various `Decode*` functions, the type `Primitive` may
+// be given to any value, and its decoding will be delayed.
+//
+// A `Primitive` value can be decoded using the `PrimitiveDecode` function.
+//
+// The underlying representation of a `Primitive` value is subject to change.
+// Do not rely on it.
+//
+// N.B. Primitive values are still parsed, so using them will only avoid
+// the overhead of reflection. They can be useful when you don't know the
+// exact type of TOML data until run time.
+type Primitive struct {
+	undecoded interface{}
+	context   Key
+}
+
+// DEPRECATED!
+//
+// Use MetaData.PrimitiveDecode instead.
+func PrimitiveDecode(primValue Primitive, v interface{}) error {
+	md := MetaData{decoded: make(map[string]bool)}
+	return md.unify(primValue.undecoded, rvalue(v))
+}
+
+// PrimitiveDecode is just like the other `Decode*` functions, except it
+// decodes a TOML value that has already been parsed. Valid primitive values
+// can *only* be obtained from values filled by the decoder functions,
+// including this method. (i.e., `v` may contain more `Primitive`
+// values.)
+//
+// Meta data for primitive values is included in the meta data returned by
+// the `Decode*` functions with one exception: keys returned by the Undecoded
+// method will only reflect keys that were decoded. Namely, any keys hidden
+// behind a Primitive will be considered undecoded. Executing this method will
+// update the undecoded keys in the meta data. (See the example.)
+func (md *MetaData) PrimitiveDecode(primValue Primitive, v interface{}) error {
+	md.context = primValue.context
+	defer func() { md.context = nil }()
+	return md.unify(primValue.undecoded, rvalue(v))
+}
+
+// Decode will decode the contents of `data` in TOML format into a pointer
+// `v`.
+//
+// TOML hashes correspond to Go structs or maps. (Dealer's choice. They can be
+// used interchangeably.)
+//
+// TOML arrays of tables correspond to either a slice of structs or a slice
+// of maps.
+//
+// TOML datetimes correspond to Go `time.Time` values.
+//
+// All other TOML types (float, string, int, bool and array) correspond
+// to the obvious Go types.
+//
+// An exception to the above rules is if a type implements the
+// encoding.TextUnmarshaler interface. In this case, any primitive TOML value
+// (floats, strings, integers, booleans and datetimes) will be converted to
+// a byte string and given to the value's UnmarshalText method. See the
+// Unmarshaler example for a demonstration with time duration strings.
+//
+// Key mapping
+//
+// TOML keys can map to either keys in a Go map or field names in a Go
+// struct. The special `toml` struct tag may be used to map TOML keys to
+// struct fields that don't match the key name exactly. (See the example.)
+// A case insensitive match to struct names will be tried if an exact match
+// can't be found.
+//
+// The mapping between TOML values and Go values is loose. That is, there
+// may exist TOML values that cannot be placed into your representation, and
+// there may be parts of your representation that do not correspond to
+// TOML values. This loose mapping can be made stricter by using the IsDefined
+// and/or Undecoded methods on the MetaData returned.
+//
+// This decoder will not handle cyclic types. If a cyclic type is passed,
+// `Decode` will not terminate.
+func Decode(data string, v interface{}) (MetaData, error) {
+	p, err := parse(data)
+	if err != nil {
+		return MetaData{}, err
+	}
+	md := MetaData{
+		p.mapping, p.types, p.ordered,
+		make(map[string]bool, len(p.ordered)), nil,
+	}
+	return md, md.unify(p.mapping, rvalue(v))
+}
+
+// DecodeFile is just like Decode, except it will automatically read the
+// contents of the file at `fpath` and decode it for you.
+func DecodeFile(fpath string, v interface{}) (MetaData, error) {
+	bs, err := ioutil.ReadFile(fpath)
+	if err != nil {
+		return MetaData{}, err
+	}
+	return Decode(string(bs), v)
+}
+
+// DecodeReader is just like Decode, except it will consume all bytes
+// from the reader and decode it for you.
+func DecodeReader(r io.Reader, v interface{}) (MetaData, error) {
+	bs, err := ioutil.ReadAll(r)
+	if err != nil {
+		return MetaData{}, err
+	}
+	return Decode(string(bs), v)
+}
+
+// unify performs a sort of type unification based on the structure of `rv`,
+// which is the client representation.
+//
+// Any type mismatch produces an error. Finding a type that we don't know
+// how to handle produces an unsupported type error.
+func (md *MetaData) unify(data interface{}, rv reflect.Value) error {
+
+	// Special case. Look for a `Primitive` value.
+	if rv.Type() == reflect.TypeOf((*Primitive)(nil)).Elem() {
+		// Save the undecoded data and the key context into the primitive
+		// value.
+		context := make(Key, len(md.context))
+		copy(context, md.context)
+		rv.Set(reflect.ValueOf(Primitive{
+			undecoded: data,
+			context:   context,
+		}))
+		return nil
+	}
+
+	// Special case. Unmarshaler Interface support.
+	if rv.CanAddr() {
+		if v, ok := rv.Addr().Interface().(Unmarshaler); ok {
+			return v.UnmarshalTOML(data)
+		}
+	}
+
+	// Special case. Handle time.Time values specifically.
+	// TODO: Remove this code when we decide to drop support for Go 1.1.
+	// This isn't necessary in Go 1.2 because time.Time satisfies the encoding
+	// interfaces.
+	if rv.Type().AssignableTo(rvalue(time.Time{}).Type()) {
+		return md.unifyDatetime(data, rv)
+	}
+
+	// Special case. Look for a value satisfying the TextUnmarshaler interface.
+	if v, ok := rv.Interface().(TextUnmarshaler); ok {
+		return md.unifyText(data, v)
+	}
+	// BUG(burntsushi)
+	// The behavior here is incorrect whenever a Go type satisfies the
+	// encoding.TextUnmarshaler interface but also corresponds to a TOML
+	// hash or array. In particular, the unmarshaler should only be applied
+	// to primitive TOML values. But at this point, it will be applied to
+	// all kinds of values and produce an incorrect error whenever those values
+	// are hashes or arrays (including arrays of tables).
+
+	k := rv.Kind()
+
+	// laziness
+	if k >= reflect.Int && k <= reflect.Uint64 {
+		return md.unifyInt(data, rv)
+	}
+	switch k {
+	case reflect.Ptr:
+		elem := reflect.New(rv.Type().Elem())
+		err := md.unify(data, reflect.Indirect(elem))
+		if err != nil {
+			return err
+		}
+		rv.Set(elem)
+		return nil
+	case reflect.Struct:
+		return md.unifyStruct(data, rv)
+	case reflect.Map:
+		return md.unifyMap(data, rv)
+	case reflect.Array:
+		return md.unifyArray(data, rv)
+	case reflect.Slice:
+		return md.unifySlice(data, rv)
+	case reflect.String:
+		return md.unifyString(data, rv)
+	case reflect.Bool:
+		return md.unifyBool(data, rv)
+	case reflect.Interface:
+		// we only support empty interfaces.
+		if rv.NumMethod() > 0 {
+			return e("Unsupported type '%s'.", rv.Kind())
+		}
+		return md.unifyAnything(data, rv)
+	case reflect.Float32:
+		fallthrough
+	case reflect.Float64:
+		return md.unifyFloat64(data, rv)
+	}
+	return e("Unsupported type '%s'.", rv.Kind())
+}
+
+func (md *MetaData) unifyStruct(mapping interface{}, rv reflect.Value) error {
+	tmap, ok := mapping.(map[string]interface{})
+	if !ok {
+		if mapping == nil {
+			return nil
+		}
+		return mismatch(rv, "map", mapping)
+	}
+
+	for key, datum := range tmap {
+		var f *field
+		fields := cachedTypeFields(rv.Type())
+		for i := range fields {
+			ff := &fields[i]
+			if ff.name == key {
+				f = ff
+				break
+			}
+			if f == nil && strings.EqualFold(ff.name, key) {
+				f = ff
+			}
+		}
+		if f != nil {
+			subv := rv
+			for _, i := range f.index {
+				subv = indirect(subv.Field(i))
+			}
+			if isUnifiable(subv) {
+				md.decoded[md.context.add(key).String()] = true
+				md.context = append(md.context, key)
+				if err := md.unify(datum, subv); err != nil {
+					return e("Type mismatch for '%s.%s': %s",
+						rv.Type().String(), f.name, err)
+				}
+				md.context = md.context[0 : len(md.context)-1]
+			} else if f.name != "" {
+				// Bad user! No soup for you!
+				return e("Field '%s.%s' is unexported, and therefore cannot "+
+					"be loaded with reflection.", rv.Type().String(), f.name)
+			}
+		}
+	}
+	return nil
+}
+
+func (md *MetaData) unifyMap(mapping interface{}, rv reflect.Value) error {
+	tmap, ok := mapping.(map[string]interface{})
+	if !ok {
+		if tmap == nil {
+			return nil
+		}
+		return badtype("map", mapping)
+	}
+	if rv.IsNil() {
+		rv.Set(reflect.MakeMap(rv.Type()))
+	}
+	for k, v := range tmap {
+		md.decoded[md.context.add(k).String()] = true
+		md.context = append(md.context, k)
+
+		rvkey := indirect(reflect.New(rv.Type().Key()))
+		rvval := reflect.Indirect(reflect.New(rv.Type().Elem()))
+		if err := md.unify(v, rvval); err != nil {
+			return err
+		}
+		md.context = md.context[0 : len(md.context)-1]
+
+		rvkey.SetString(k)
+		rv.SetMapIndex(rvkey, rvval)
+	}
+	return nil
+}
+
+func (md *MetaData) unifyArray(data interface{}, rv reflect.Value) error {
+	datav := reflect.ValueOf(data)
+	if datav.Kind() != reflect.Slice {
+		if !datav.IsValid() {
+			return nil
+		}
+		return badtype("slice", data)
+	}
+	sliceLen := datav.Len()
+	if sliceLen != rv.Len() {
+		return e("expected array length %d; got TOML array of length %d",
+			rv.Len(), sliceLen)
+	}
+	return md.unifySliceArray(datav, rv)
+}
+
+func (md *MetaData) unifySlice(data interface{}, rv reflect.Value) error {
+	datav := reflect.ValueOf(data)
+	if datav.Kind() != reflect.Slice {
+		if !datav.IsValid() {
+			return nil
+		}
+		return badtype("slice", data)
+	}
+	n := datav.Len()
+	if rv.IsNil() || rv.Cap() < n {
+		rv.Set(reflect.MakeSlice(rv.Type(), n, n))
+	}
+	rv.SetLen(n)
+	return md.unifySliceArray(datav, rv)
+}
+
+func (md *MetaData) unifySliceArray(data, rv reflect.Value) error {
+	sliceLen := data.Len()
+	for i := 0; i < sliceLen; i++ {
+		v := data.Index(i).Interface()
+		sliceval := indirect(rv.Index(i))
+		if err := md.unify(v, sliceval); err != nil {
+			return err
+		}
+	}
+	return nil
+}
+
+func (md *MetaData) unifyDatetime(data interface{}, rv reflect.Value) error {
+	if _, ok := data.(time.Time); ok {
+		rv.Set(reflect.ValueOf(data))
+		return nil
+	}
+	return badtype("time.Time", data)
+}
+
+func (md *MetaData) unifyString(data interface{}, rv reflect.Value) error {
+	if s, ok := data.(string); ok {
+		rv.SetString(s)
+		return nil
+	}
+	return badtype("string", data)
+}
+
+func (md *MetaData) unifyFloat64(data interface{}, rv reflect.Value) error {
+	if num, ok := data.(float64); ok {
+		switch rv.Kind() {
+		case reflect.Float32:
+			fallthrough
+		case reflect.Float64:
+			rv.SetFloat(num)
+		default:
+			panic("bug")
+		}
+		return nil
+	}
+	return badtype("float", data)
+}
+
+func (md *MetaData) unifyInt(data interface{}, rv reflect.Value) error {
+	if num, ok := data.(int64); ok {
+		if rv.Kind() >= reflect.Int && rv.Kind() <= reflect.Int64 {
+			switch rv.Kind() {
+			case reflect.Int, reflect.Int64:
+				// No bounds checking necessary.
+			case reflect.Int8:
+				if num < math.MinInt8 || num > math.MaxInt8 {
+					return e("Value '%d' is out of range for int8.", num)
+				}
+			case reflect.Int16:
+				if num < math.MinInt16 || num > math.MaxInt16 {
+					return e("Value '%d' is out of range for int16.", num)
+				}
+			case reflect.Int32:
+				if num < math.MinInt32 || num > math.MaxInt32 {
+					return e("Value '%d' is out of range for int32.", num)
+				}
+			}
+			rv.SetInt(num)
+		} else if rv.Kind() >= reflect.Uint && rv.Kind() <= reflect.Uint64 {
+			unum := uint64(num)
+			switch rv.Kind() {
+			case reflect.Uint, reflect.Uint64:
+				// No bounds checking necessary.
+			case reflect.Uint8:
+				if num < 0 || unum > math.MaxUint8 {
+					return e("Value '%d' is out of range for uint8.", num)
+				}
+			case reflect.Uint16:
+				if num < 0 || unum > math.MaxUint16 {
+					return e("Value '%d' is out of range for uint16.", num)
+				}
+			case reflect.Uint32:
+				if num < 0 || unum > math.MaxUint32 {
+					return e("Value '%d' is out of range for uint32.", num)
+				}
+			}
+			rv.SetUint(unum)
+		} else {
+			panic("unreachable")
+		}
+		return nil
+	}
+	return badtype("integer", data)
+}
+
+func (md *MetaData) unifyBool(data interface{}, rv reflect.Value) error {
+	if b, ok := data.(bool); ok {
+		rv.SetBool(b)
+		return nil
+	}
+	return badtype("boolean", data)
+}
+
+func (md *MetaData) unifyAnything(data interface{}, rv reflect.Value) error {
+	rv.Set(reflect.ValueOf(data))
+	return nil
+}
+
+func (md *MetaData) unifyText(data interface{}, v TextUnmarshaler) error {
+	var s string
+	switch sdata := data.(type) {
+	case TextMarshaler:
+		text, err := sdata.MarshalText()
+		if err != nil {
+			return err
+		}
+		s = string(text)
+	case fmt.Stringer:
+		s = sdata.String()
+	case string:
+		s = sdata
+	case bool:
+		s = fmt.Sprintf("%v", sdata)
+	case int64:
+		s = fmt.Sprintf("%d", sdata)
+	case float64:
+		s = fmt.Sprintf("%f", sdata)
+	default:
+		return badtype("primitive (string-like)", data)
+	}
+	if err := v.UnmarshalText([]byte(s)); err != nil {
+		return err
+	}
+	return nil
+}
+
+// rvalue returns a reflect.Value of `v`. All pointers are resolved.
+func rvalue(v interface{}) reflect.Value {
+	return indirect(reflect.ValueOf(v))
+}
+
+// indirect returns the value pointed to by a pointer.
+// Pointers are followed until the value is not a pointer.
+// New values are allocated for each nil pointer.
+//
+// An exception to this rule is if the value satisfies an interface of
+// interest to us (like encoding.TextUnmarshaler).
+func indirect(v reflect.Value) reflect.Value {
+	if v.Kind() != reflect.Ptr {
+		if v.CanAddr() {
+			pv := v.Addr()
+			if _, ok := pv.Interface().(TextUnmarshaler); ok {
+				return pv
+			}
+		}
+		return v
+	}
+	if v.IsNil() {
+		v.Set(reflect.New(v.Type().Elem()))
+	}
+	return indirect(reflect.Indirect(v))
+}
+
+func isUnifiable(rv reflect.Value) bool {
+	if rv.CanSet() {
+		return true
+	}
+	if _, ok := rv.Interface().(TextUnmarshaler); ok {
+		return true
+	}
+	return false
+}
+
+func badtype(expected string, data interface{}) error {
+	return e("Expected %s but found '%T'.", expected, data)
+}
+
+func mismatch(user reflect.Value, expected string, data interface{}) error {
+	return e("Type mismatch for %s. Expected %s but found '%T'.",
+		user.Type().String(), expected, data)
+}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/0766779d/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/decode_meta.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/decode_meta.go b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/decode_meta.go
new file mode 100644
index 0000000..ef6f545
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/BurntSushi/toml/decode_meta.go
@@ -0,0 +1,122 @@
+package toml
+
+import "strings"
+
+// MetaData allows access to meta information about TOML data that may not
+// be inferrable via reflection. In particular, whether a key has been defined
+// and the TOML type of a key.
+type MetaData struct {
+	mapping map[string]interface{}
+	types   map[string]tomlType
+	keys    []Key
+	decoded map[string]bool
+	context Key // Used only during decoding.
+}
+
+// IsDefined returns true if the key given exists in the TOML data. The key
+// should be specified hierarchially. e.g.,
+//
+//	// access the TOML key 'a.b.c'
+//	IsDefined("a", "b", "c")
+//
+// IsDefined will return false if an empty key given. Keys are case sensitive.
+func (md *MetaData) IsDefined(key ...string) bool {
+	if len(key) == 0 {
+		return false
+	}
+
+	var hash map[string]interface{}
+	var ok bool
+	var hashOrVal interface{} = md.mapping
+	for _, k := range key {
+		if hash, ok = hashOrVal.(map[string]interface{}); !ok {
+			return false
+		}
+		if hashOrVal, ok = hash[k]; !ok {
+			return false
+		}
+	}
+	return true
+}
+
+// Type returns a string representation of the type of the key specified.
+//
+// Type will return the empty string if given an empty key or a key that
+// does not exist. Keys are case sensitive.
+func (md *MetaData) Type(key ...string) string {
+	fullkey := strings.Join(key, ".")
+	if typ, ok := md.types[fullkey]; ok {
+		return typ.typeString()
+	}
+	return ""
+}
+
+// Key is the type of any TOML key, including key groups. Use (MetaData).Keys
+// to get values of this type.
+type Key []string
+
+func (k Key) String() string {
+	return strings.Join(k, ".")
+}
+
+func (k Key) maybeQuotedAll() string {
+	var ss []string
+	for i := range k {
+		ss = append(ss, k.maybeQuoted(i))
+	}
+	return strings.Join(ss, ".")
+}
+
+func (k Key) maybeQuoted(i int) string {
+	quote := false
+	for _, c := range k[i] {
+		if !isBareKeyChar(c) {
+			quote = true
+			break
+		}
+	}
+	if quote {
+		return "\"" + strings.Replace(k[i], "\"", "\\\"", -1) + "\""
+	} else {
+		return k[i]
+	}
+}
+
+func (k Key) add(piece string) Key {
+	newKey := make(Key, len(k)+1)
+	copy(newKey, k)
+	newKey[len(k)] = piece
+	return newKey
+}
+
+// Keys returns a slice of every key in the TOML data, including key groups.
+// Each key is itself a slice, where the first element is the top of the
+// hierarchy and the last is the most specific.
+//
+// The list will have the same order as the keys appeared in the TOML data.
+//
+// All keys returned are non-empty.
+func (md *MetaData) Keys() []Key {
+	return md.keys
+}
+
+// Undecoded returns all keys that have not been decoded in the order in which
+// they appear in the original TOML document.
+//
+// This includes keys that haven't been decoded because of a Primitive value.
+// Once the Primitive value is decoded, the keys will be considered decoded.
+//
+// Also note that decoding into an empty interface will result in no decoding,
+// and so no keys will be considered decoded.
+//
+// In this sense, the Undecoded keys correspond to keys in the TOML document
+// that do not have a concrete type in your representation.
+func (md *MetaData) Undecoded() []Key {
+	undecoded := make([]Key, 0, len(md.keys))
+	for _, key := range md.keys {
+		if !md.decoded[key.String()] {
+			undecoded = append(undecoded, key)
+		}
+	}
+	return undecoded
+}