├── .gitignore ├── ReadMe.md ├── app └── v0.0.1 │ ├── assest │ ├── css │ │ └── app.css │ ├── img │ │ └── logo.png │ └── utils │ │ └── read.js │ ├── core.bin │ ├── index.html │ ├── node-main.js │ ├── node_modules │ ├── MD5 │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── md5.js │ │ ├── node_modules │ │ │ ├── charenc │ │ │ │ ├── LICENSE.mkd │ │ │ │ ├── README.js │ │ │ │ ├── charenc.js │ │ │ │ └── package.json │ │ │ └── crypt │ │ │ │ ├── LICENSE.mkd │ │ │ │ ├── README.mkd │ │ │ │ ├── crypt.js │ │ │ │ └── package.json │ │ ├── package.json │ │ └── test.js │ ├── cheerio │ │ ├── .jshintrc │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── CONTRIBUTING.md │ │ ├── History.md │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── api │ │ │ │ ├── attributes.js │ │ │ │ ├── css.js │ │ │ │ ├── forms.js │ │ │ │ ├── manipulation.js │ │ │ │ └── traversing.js │ │ │ ├── cheerio.js │ │ │ ├── parse.js │ │ │ ├── static.js │ │ │ └── utils.js │ │ ├── node_modules │ │ │ ├── css-select │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ ├── attributes.js │ │ │ │ │ ├── compile.js │ │ │ │ │ ├── general.js │ │ │ │ │ ├── procedure.json │ │ │ │ │ ├── pseudos.js │ │ │ │ │ └── sort.js │ │ │ │ ├── node_modules │ │ │ │ │ ├── boolbase │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── css-what │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── domutils │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── helpers.js │ │ │ │ │ │ │ ├── legacy.js │ │ │ │ │ │ │ ├── manipulation.js │ │ │ │ │ │ │ ├── querying.js │ │ │ │ │ │ │ ├── stringify.js │ │ │ │ │ │ │ └── traversal.js │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ └── domelementtype │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── fixture.js │ │ │ │ │ │ │ ├── tests │ │ │ │ │ │ │ ├── helpers.js │ │ │ │ │ │ │ └── legacy.js │ │ │ │ │ │ │ └── utils.js │ │ │ │ │ └── nth-check │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── compile.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── parse.js │ │ │ │ │ │ └── test.js │ │ │ │ └── package.json │ │ │ ├── dom-serializer │ │ │ │ ├── LICENSE │ │ │ │ ├── index.js │ │ │ │ ├── node_modules │ │ │ │ │ └── domelementtype │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── readme.md │ │ │ │ └── package.json │ │ │ ├── entities │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ ├── decode.js │ │ │ │ │ ├── decode_codepoint.js │ │ │ │ │ └── encode.js │ │ │ │ ├── maps │ │ │ │ │ ├── decode.json │ │ │ │ │ ├── entities.json │ │ │ │ │ ├── legacy.json │ │ │ │ │ └── xml.json │ │ │ │ ├── package.json │ │ │ │ ├── readme.md │ │ │ │ └── test │ │ │ │ │ ├── mocha.opts │ │ │ │ │ └── test.js │ │ │ ├── htmlparser2 │ │ │ │ ├── .gitattributes │ │ │ │ ├── .jscsrc │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ │ ├── CollectingHandler.js │ │ │ │ │ ├── FeedHandler.js │ │ │ │ │ ├── Parser.js │ │ │ │ │ ├── ProxyHandler.js │ │ │ │ │ ├── Stream.js │ │ │ │ │ ├── Tokenizer.js │ │ │ │ │ ├── WritableStream.js │ │ │ │ │ └── index.js │ │ │ │ ├── node_modules │ │ │ │ │ ├── domelementtype │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── domhandler │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── element.js │ │ │ │ │ │ │ └── node.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── cases │ │ │ │ │ │ │ ├── 01-basic.json │ │ │ │ │ │ │ ├── 02-single_tag_1.json │ │ │ │ │ │ │ ├── 03-single_tag_2.json │ │ │ │ │ │ │ ├── 04-unescaped_in_script.json │ │ │ │ │ │ │ ├── 05-tags_in_comment.json │ │ │ │ │ │ │ ├── 06-comment_in_script.json │ │ │ │ │ │ │ ├── 07-unescaped_in_style.json │ │ │ │ │ │ │ ├── 08-extra_spaces_in_tag.json │ │ │ │ │ │ │ ├── 09-unquoted_attrib.json │ │ │ │ │ │ │ ├── 10-singular_attribute.json │ │ │ │ │ │ │ ├── 11-text_outside_tags.json │ │ │ │ │ │ │ ├── 12-text_only.json │ │ │ │ │ │ │ ├── 13-comment_in_text.json │ │ │ │ │ │ │ ├── 14-comment_in_text_in_script.json │ │ │ │ │ │ │ ├── 15-non-verbose.json │ │ │ │ │ │ │ ├── 16-normalize_whitespace.json │ │ │ │ │ │ │ ├── 17-xml_namespace.json │ │ │ │ │ │ │ ├── 18-enforce_empty_tags.json │ │ │ │ │ │ │ ├── 19-ignore_empty_tags.json │ │ │ │ │ │ │ ├── 20-template_script_tags.json │ │ │ │ │ │ │ ├── 21-conditional_comments.json │ │ │ │ │ │ │ ├── 22-lowercase_tags.json │ │ │ │ │ │ │ ├── 23-dom-lvl1.json │ │ │ │ │ │ │ └── 24-with-start-indices.json │ │ │ │ │ │ │ └── tests.js │ │ │ │ │ ├── domutils │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── helpers.js │ │ │ │ │ │ │ ├── legacy.js │ │ │ │ │ │ │ ├── manipulation.js │ │ │ │ │ │ │ ├── querying.js │ │ │ │ │ │ │ ├── stringify.js │ │ │ │ │ │ │ └── traversal.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── fixture.js │ │ │ │ │ │ │ ├── tests │ │ │ │ │ │ │ ├── helpers.js │ │ │ │ │ │ │ ├── legacy.js │ │ │ │ │ │ │ └── traversal.js │ │ │ │ │ │ │ └── utils.js │ │ │ │ │ ├── entities │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── decode.js │ │ │ │ │ │ │ ├── decode_codepoint.js │ │ │ │ │ │ │ └── encode.js │ │ │ │ │ │ ├── maps │ │ │ │ │ │ │ ├── decode.json │ │ │ │ │ │ │ ├── entities.json │ │ │ │ │ │ │ ├── legacy.json │ │ │ │ │ │ │ └── xml.json │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── mocha.opts │ │ │ │ │ │ │ └── test.js │ │ │ │ │ └── readable-stream │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── duplex.js │ │ │ │ │ │ ├── float.patch │ │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── _stream_duplex.js │ │ │ │ │ │ ├── _stream_passthrough.js │ │ │ │ │ │ ├── _stream_readable.js │ │ │ │ │ │ ├── _stream_transform.js │ │ │ │ │ │ └── _stream_writable.js │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── core-util-is │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── float.patch │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ ├── inherits │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── inherits.js │ │ │ │ │ │ │ ├── inherits_browser.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ ├── isarray │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── build │ │ │ │ │ │ │ │ └── build.js │ │ │ │ │ │ │ ├── component.json │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── string_decoder │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── passthrough.js │ │ │ │ │ │ ├── readable.js │ │ │ │ │ │ ├── transform.js │ │ │ │ │ │ └── writable.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ │ ├── 01-events.js │ │ │ │ │ ├── 02-stream.js │ │ │ │ │ ├── 03-feed.js │ │ │ │ │ ├── Documents │ │ │ │ │ ├── Atom_Example.xml │ │ │ │ │ ├── Attributes.html │ │ │ │ │ ├── Basic.html │ │ │ │ │ ├── RDF_Example.xml │ │ │ │ │ └── RSS_Example.xml │ │ │ │ │ ├── Events │ │ │ │ │ ├── 01-simple.json │ │ │ │ │ ├── 02-template.json │ │ │ │ │ ├── 03-lowercase_tags.json │ │ │ │ │ ├── 04-cdata.json │ │ │ │ │ ├── 05-cdata-special.json │ │ │ │ │ ├── 06-leading-lt.json │ │ │ │ │ ├── 07-self-closing.json │ │ │ │ │ ├── 08-implicit-close-tags.json │ │ │ │ │ ├── 09-attributes.json │ │ │ │ │ ├── 10-crazy-attrib.json │ │ │ │ │ ├── 11-script_in_script.json │ │ │ │ │ ├── 12-long-comment-end.json │ │ │ │ │ ├── 13-long-cdata-end.json │ │ │ │ │ ├── 14-implicit-open-tags.json │ │ │ │ │ ├── 15-lt-whitespace.json │ │ │ │ │ ├── 16-double_attribs.json │ │ │ │ │ ├── 17-numeric_entities.json │ │ │ │ │ ├── 18-legacy_entities.json │ │ │ │ │ ├── 19-named_entities.json │ │ │ │ │ ├── 20-xml_entities.json │ │ │ │ │ ├── 21-entity_in_attribute.json │ │ │ │ │ ├── 22-double_brackets.json │ │ │ │ │ ├── 23-legacy_entity_fail.json │ │ │ │ │ ├── 24-special_special.json │ │ │ │ │ ├── 25-empty_tag_name.json │ │ │ │ │ ├── 26-not-quite-closed.json │ │ │ │ │ ├── 27-entities_in_attributes.json │ │ │ │ │ ├── 28-cdata_in_html.json │ │ │ │ │ ├── 29-comment_edge-cases.json │ │ │ │ │ ├── 30-cdata_edge-cases.json │ │ │ │ │ └── 31-comment_false-ending.json │ │ │ │ │ ├── Feeds │ │ │ │ │ ├── 01-rss.js │ │ │ │ │ ├── 02-atom.js │ │ │ │ │ └── 03-rdf.js │ │ │ │ │ ├── Stream │ │ │ │ │ ├── 01-basic.json │ │ │ │ │ ├── 02-RSS.json │ │ │ │ │ ├── 03-Atom.json │ │ │ │ │ ├── 04-RDF.json │ │ │ │ │ └── 05-Attributes.json │ │ │ │ │ ├── api.js │ │ │ │ │ └── test-helper.js │ │ │ └── lodash │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── array.js │ │ │ │ ├── array │ │ │ │ ├── chunk.js │ │ │ │ ├── compact.js │ │ │ │ ├── difference.js │ │ │ │ ├── drop.js │ │ │ │ ├── dropRight.js │ │ │ │ ├── dropRightWhile.js │ │ │ │ ├── dropWhile.js │ │ │ │ ├── fill.js │ │ │ │ ├── findIndex.js │ │ │ │ ├── findLastIndex.js │ │ │ │ ├── first.js │ │ │ │ ├── flatten.js │ │ │ │ ├── flattenDeep.js │ │ │ │ ├── head.js │ │ │ │ ├── indexOf.js │ │ │ │ ├── initial.js │ │ │ │ ├── intersection.js │ │ │ │ ├── last.js │ │ │ │ ├── lastIndexOf.js │ │ │ │ ├── object.js │ │ │ │ ├── pull.js │ │ │ │ ├── pullAt.js │ │ │ │ ├── remove.js │ │ │ │ ├── rest.js │ │ │ │ ├── slice.js │ │ │ │ ├── sortedIndex.js │ │ │ │ ├── sortedLastIndex.js │ │ │ │ ├── tail.js │ │ │ │ ├── take.js │ │ │ │ ├── takeRight.js │ │ │ │ ├── takeRightWhile.js │ │ │ │ ├── takeWhile.js │ │ │ │ ├── union.js │ │ │ │ ├── uniq.js │ │ │ │ ├── unique.js │ │ │ │ ├── unzip.js │ │ │ │ ├── unzipWith.js │ │ │ │ ├── without.js │ │ │ │ ├── xor.js │ │ │ │ ├── zip.js │ │ │ │ ├── zipObject.js │ │ │ │ └── zipWith.js │ │ │ │ ├── chain.js │ │ │ │ ├── chain │ │ │ │ ├── chain.js │ │ │ │ ├── commit.js │ │ │ │ ├── concat.js │ │ │ │ ├── lodash.js │ │ │ │ ├── plant.js │ │ │ │ ├── reverse.js │ │ │ │ ├── run.js │ │ │ │ ├── tap.js │ │ │ │ ├── thru.js │ │ │ │ ├── toJSON.js │ │ │ │ ├── toString.js │ │ │ │ ├── value.js │ │ │ │ ├── valueOf.js │ │ │ │ ├── wrapperChain.js │ │ │ │ ├── wrapperCommit.js │ │ │ │ ├── wrapperConcat.js │ │ │ │ ├── wrapperPlant.js │ │ │ │ ├── wrapperReverse.js │ │ │ │ ├── wrapperToString.js │ │ │ │ └── wrapperValue.js │ │ │ │ ├── collection.js │ │ │ │ ├── collection │ │ │ │ ├── all.js │ │ │ │ ├── any.js │ │ │ │ ├── at.js │ │ │ │ ├── collect.js │ │ │ │ ├── contains.js │ │ │ │ ├── countBy.js │ │ │ │ ├── detect.js │ │ │ │ ├── each.js │ │ │ │ ├── eachRight.js │ │ │ │ ├── every.js │ │ │ │ ├── filter.js │ │ │ │ ├── find.js │ │ │ │ ├── findLast.js │ │ │ │ ├── findWhere.js │ │ │ │ ├── foldl.js │ │ │ │ ├── foldr.js │ │ │ │ ├── forEach.js │ │ │ │ ├── forEachRight.js │ │ │ │ ├── groupBy.js │ │ │ │ ├── include.js │ │ │ │ ├── includes.js │ │ │ │ ├── indexBy.js │ │ │ │ ├── inject.js │ │ │ │ ├── invoke.js │ │ │ │ ├── map.js │ │ │ │ ├── max.js │ │ │ │ ├── min.js │ │ │ │ ├── partition.js │ │ │ │ ├── pluck.js │ │ │ │ ├── reduce.js │ │ │ │ ├── reduceRight.js │ │ │ │ ├── reject.js │ │ │ │ ├── sample.js │ │ │ │ ├── select.js │ │ │ │ ├── shuffle.js │ │ │ │ ├── size.js │ │ │ │ ├── some.js │ │ │ │ ├── sortBy.js │ │ │ │ ├── sortByAll.js │ │ │ │ ├── sortByOrder.js │ │ │ │ ├── sum.js │ │ │ │ └── where.js │ │ │ │ ├── date.js │ │ │ │ ├── date │ │ │ │ └── now.js │ │ │ │ ├── function.js │ │ │ │ ├── function │ │ │ │ ├── after.js │ │ │ │ ├── ary.js │ │ │ │ ├── backflow.js │ │ │ │ ├── before.js │ │ │ │ ├── bind.js │ │ │ │ ├── bindAll.js │ │ │ │ ├── bindKey.js │ │ │ │ ├── compose.js │ │ │ │ ├── curry.js │ │ │ │ ├── curryRight.js │ │ │ │ ├── debounce.js │ │ │ │ ├── defer.js │ │ │ │ ├── delay.js │ │ │ │ ├── flow.js │ │ │ │ ├── flowRight.js │ │ │ │ ├── memoize.js │ │ │ │ ├── modArgs.js │ │ │ │ ├── negate.js │ │ │ │ ├── once.js │ │ │ │ ├── partial.js │ │ │ │ ├── partialRight.js │ │ │ │ ├── rearg.js │ │ │ │ ├── restParam.js │ │ │ │ ├── spread.js │ │ │ │ ├── throttle.js │ │ │ │ └── wrap.js │ │ │ │ ├── index.js │ │ │ │ ├── internal │ │ │ │ ├── LazyWrapper.js │ │ │ │ ├── LodashWrapper.js │ │ │ │ ├── MapCache.js │ │ │ │ ├── SetCache.js │ │ │ │ ├── arrayConcat.js │ │ │ │ ├── arrayCopy.js │ │ │ │ ├── arrayEach.js │ │ │ │ ├── arrayEachRight.js │ │ │ │ ├── arrayEvery.js │ │ │ │ ├── arrayExtremum.js │ │ │ │ ├── arrayFilter.js │ │ │ │ ├── arrayMap.js │ │ │ │ ├── arrayPush.js │ │ │ │ ├── arrayReduce.js │ │ │ │ ├── arrayReduceRight.js │ │ │ │ ├── arraySome.js │ │ │ │ ├── arraySum.js │ │ │ │ ├── assignDefaults.js │ │ │ │ ├── assignOwnDefaults.js │ │ │ │ ├── assignWith.js │ │ │ │ ├── baseAssign.js │ │ │ │ ├── baseAt.js │ │ │ │ ├── baseCallback.js │ │ │ │ ├── baseClone.js │ │ │ │ ├── baseCompareAscending.js │ │ │ │ ├── baseCopy.js │ │ │ │ ├── baseCreate.js │ │ │ │ ├── baseDelay.js │ │ │ │ ├── baseDifference.js │ │ │ │ ├── baseEach.js │ │ │ │ ├── baseEachRight.js │ │ │ │ ├── baseEvery.js │ │ │ │ ├── baseExtremum.js │ │ │ │ ├── baseFill.js │ │ │ │ ├── baseFilter.js │ │ │ │ ├── baseFind.js │ │ │ │ ├── baseFindIndex.js │ │ │ │ ├── baseFlatten.js │ │ │ │ ├── baseFor.js │ │ │ │ ├── baseForIn.js │ │ │ │ ├── baseForOwn.js │ │ │ │ ├── baseForOwnRight.js │ │ │ │ ├── baseForRight.js │ │ │ │ ├── baseFunctions.js │ │ │ │ ├── baseGet.js │ │ │ │ ├── baseIndexOf.js │ │ │ │ ├── baseIsEqual.js │ │ │ │ ├── baseIsEqualDeep.js │ │ │ │ ├── baseIsFunction.js │ │ │ │ ├── baseIsMatch.js │ │ │ │ ├── baseLodash.js │ │ │ │ ├── baseMap.js │ │ │ │ ├── baseMatches.js │ │ │ │ ├── baseMatchesProperty.js │ │ │ │ ├── baseMerge.js │ │ │ │ ├── baseMergeDeep.js │ │ │ │ ├── baseProperty.js │ │ │ │ ├── basePropertyDeep.js │ │ │ │ ├── basePullAt.js │ │ │ │ ├── baseRandom.js │ │ │ │ ├── baseReduce.js │ │ │ │ ├── baseSetData.js │ │ │ │ ├── baseSlice.js │ │ │ │ ├── baseSome.js │ │ │ │ ├── baseSortBy.js │ │ │ │ ├── baseSortByOrder.js │ │ │ │ ├── baseSum.js │ │ │ │ ├── baseToString.js │ │ │ │ ├── baseUniq.js │ │ │ │ ├── baseValues.js │ │ │ │ ├── baseWhile.js │ │ │ │ ├── baseWrapperValue.js │ │ │ │ ├── binaryIndex.js │ │ │ │ ├── binaryIndexBy.js │ │ │ │ ├── bindCallback.js │ │ │ │ ├── bufferClone.js │ │ │ │ ├── cacheIndexOf.js │ │ │ │ ├── cachePush.js │ │ │ │ ├── charsLeftIndex.js │ │ │ │ ├── charsRightIndex.js │ │ │ │ ├── compareAscending.js │ │ │ │ ├── compareMultiple.js │ │ │ │ ├── composeArgs.js │ │ │ │ ├── composeArgsRight.js │ │ │ │ ├── createAggregator.js │ │ │ │ ├── createAssigner.js │ │ │ │ ├── createBaseEach.js │ │ │ │ ├── createBaseFor.js │ │ │ │ ├── createBindWrapper.js │ │ │ │ ├── createCache.js │ │ │ │ ├── createCompounder.js │ │ │ │ ├── createCtorWrapper.js │ │ │ │ ├── createCurry.js │ │ │ │ ├── createDefaults.js │ │ │ │ ├── createExtremum.js │ │ │ │ ├── createFind.js │ │ │ │ ├── createFindIndex.js │ │ │ │ ├── createFindKey.js │ │ │ │ ├── createFlow.js │ │ │ │ ├── createForEach.js │ │ │ │ ├── createForIn.js │ │ │ │ ├── createForOwn.js │ │ │ │ ├── createHybridWrapper.js │ │ │ │ ├── createObjectMapper.js │ │ │ │ ├── createPadDir.js │ │ │ │ ├── createPadding.js │ │ │ │ ├── createPartial.js │ │ │ │ ├── createPartialWrapper.js │ │ │ │ ├── createReduce.js │ │ │ │ ├── createRound.js │ │ │ │ ├── createSortedIndex.js │ │ │ │ ├── createWrapper.js │ │ │ │ ├── deburrLetter.js │ │ │ │ ├── equalArrays.js │ │ │ │ ├── equalByTag.js │ │ │ │ ├── equalObjects.js │ │ │ │ ├── escapeHtmlChar.js │ │ │ │ ├── escapeRegExpChar.js │ │ │ │ ├── escapeStringChar.js │ │ │ │ ├── getData.js │ │ │ │ ├── getFuncName.js │ │ │ │ ├── getLength.js │ │ │ │ ├── getMatchData.js │ │ │ │ ├── getNative.js │ │ │ │ ├── getView.js │ │ │ │ ├── indexOfNaN.js │ │ │ │ ├── initCloneArray.js │ │ │ │ ├── initCloneByTag.js │ │ │ │ ├── initCloneObject.js │ │ │ │ ├── invokePath.js │ │ │ │ ├── isArrayLike.js │ │ │ │ ├── isIndex.js │ │ │ │ ├── isIterateeCall.js │ │ │ │ ├── isKey.js │ │ │ │ ├── isLaziable.js │ │ │ │ ├── isLength.js │ │ │ │ ├── isObjectLike.js │ │ │ │ ├── isSpace.js │ │ │ │ ├── isStrictComparable.js │ │ │ │ ├── lazyClone.js │ │ │ │ ├── lazyReverse.js │ │ │ │ ├── lazyValue.js │ │ │ │ ├── mapDelete.js │ │ │ │ ├── mapGet.js │ │ │ │ ├── mapHas.js │ │ │ │ ├── mapSet.js │ │ │ │ ├── mergeData.js │ │ │ │ ├── mergeDefaults.js │ │ │ │ ├── metaMap.js │ │ │ │ ├── pickByArray.js │ │ │ │ ├── pickByCallback.js │ │ │ │ ├── reEscape.js │ │ │ │ ├── reEvaluate.js │ │ │ │ ├── reInterpolate.js │ │ │ │ ├── realNames.js │ │ │ │ ├── reorder.js │ │ │ │ ├── replaceHolders.js │ │ │ │ ├── setData.js │ │ │ │ ├── shimKeys.js │ │ │ │ ├── sortedUniq.js │ │ │ │ ├── toIterable.js │ │ │ │ ├── toObject.js │ │ │ │ ├── toPath.js │ │ │ │ ├── trimmedLeftIndex.js │ │ │ │ ├── trimmedRightIndex.js │ │ │ │ ├── unescapeHtmlChar.js │ │ │ │ └── wrapperClone.js │ │ │ │ ├── lang.js │ │ │ │ ├── lang │ │ │ │ ├── clone.js │ │ │ │ ├── cloneDeep.js │ │ │ │ ├── eq.js │ │ │ │ ├── gt.js │ │ │ │ ├── gte.js │ │ │ │ ├── isArguments.js │ │ │ │ ├── isArray.js │ │ │ │ ├── isBoolean.js │ │ │ │ ├── isDate.js │ │ │ │ ├── isElement.js │ │ │ │ ├── isEmpty.js │ │ │ │ ├── isEqual.js │ │ │ │ ├── isError.js │ │ │ │ ├── isFinite.js │ │ │ │ ├── isFunction.js │ │ │ │ ├── isMatch.js │ │ │ │ ├── isNaN.js │ │ │ │ ├── isNative.js │ │ │ │ ├── isNull.js │ │ │ │ ├── isNumber.js │ │ │ │ ├── isObject.js │ │ │ │ ├── isPlainObject.js │ │ │ │ ├── isRegExp.js │ │ │ │ ├── isString.js │ │ │ │ ├── isTypedArray.js │ │ │ │ ├── isUndefined.js │ │ │ │ ├── lt.js │ │ │ │ ├── lte.js │ │ │ │ ├── toArray.js │ │ │ │ └── toPlainObject.js │ │ │ │ ├── math.js │ │ │ │ ├── math │ │ │ │ ├── add.js │ │ │ │ ├── ceil.js │ │ │ │ ├── floor.js │ │ │ │ ├── max.js │ │ │ │ ├── min.js │ │ │ │ ├── round.js │ │ │ │ └── sum.js │ │ │ │ ├── number.js │ │ │ │ ├── number │ │ │ │ ├── inRange.js │ │ │ │ └── random.js │ │ │ │ ├── object.js │ │ │ │ ├── object │ │ │ │ ├── assign.js │ │ │ │ ├── create.js │ │ │ │ ├── defaults.js │ │ │ │ ├── defaultsDeep.js │ │ │ │ ├── extend.js │ │ │ │ ├── findKey.js │ │ │ │ ├── findLastKey.js │ │ │ │ ├── forIn.js │ │ │ │ ├── forInRight.js │ │ │ │ ├── forOwn.js │ │ │ │ ├── forOwnRight.js │ │ │ │ ├── functions.js │ │ │ │ ├── get.js │ │ │ │ ├── has.js │ │ │ │ ├── invert.js │ │ │ │ ├── keys.js │ │ │ │ ├── keysIn.js │ │ │ │ ├── mapKeys.js │ │ │ │ ├── mapValues.js │ │ │ │ ├── merge.js │ │ │ │ ├── methods.js │ │ │ │ ├── omit.js │ │ │ │ ├── pairs.js │ │ │ │ ├── pick.js │ │ │ │ ├── result.js │ │ │ │ ├── set.js │ │ │ │ ├── transform.js │ │ │ │ ├── values.js │ │ │ │ └── valuesIn.js │ │ │ │ ├── package.json │ │ │ │ ├── string.js │ │ │ │ ├── string │ │ │ │ ├── camelCase.js │ │ │ │ ├── capitalize.js │ │ │ │ ├── deburr.js │ │ │ │ ├── endsWith.js │ │ │ │ ├── escape.js │ │ │ │ ├── escapeRegExp.js │ │ │ │ ├── kebabCase.js │ │ │ │ ├── pad.js │ │ │ │ ├── padLeft.js │ │ │ │ ├── padRight.js │ │ │ │ ├── parseInt.js │ │ │ │ ├── repeat.js │ │ │ │ ├── snakeCase.js │ │ │ │ ├── startCase.js │ │ │ │ ├── startsWith.js │ │ │ │ ├── template.js │ │ │ │ ├── templateSettings.js │ │ │ │ ├── trim.js │ │ │ │ ├── trimLeft.js │ │ │ │ ├── trimRight.js │ │ │ │ ├── trunc.js │ │ │ │ ├── unescape.js │ │ │ │ └── words.js │ │ │ │ ├── support.js │ │ │ │ ├── utility.js │ │ │ │ └── utility │ │ │ │ ├── attempt.js │ │ │ │ ├── callback.js │ │ │ │ ├── constant.js │ │ │ │ ├── identity.js │ │ │ │ ├── iteratee.js │ │ │ │ ├── matches.js │ │ │ │ ├── matchesProperty.js │ │ │ │ ├── method.js │ │ │ │ ├── methodOf.js │ │ │ │ ├── mixin.js │ │ │ │ ├── noop.js │ │ │ │ ├── property.js │ │ │ │ ├── propertyOf.js │ │ │ │ ├── range.js │ │ │ │ ├── times.js │ │ │ │ └── uniqueId.js │ │ ├── package.json │ │ ├── scripts │ │ │ └── prepublish │ │ └── test │ │ │ ├── .jshintrc │ │ │ ├── api │ │ │ ├── attributes.js │ │ │ ├── css.js │ │ │ ├── forms.js │ │ │ ├── manipulation.js │ │ │ ├── traversing.js │ │ │ └── utils.js │ │ │ ├── cheerio.js │ │ │ ├── fixtures.js │ │ │ ├── mocha.opts │ │ │ ├── parse.js │ │ │ └── xml.js │ ├── fetch │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── caching.md │ │ ├── example │ │ │ ├── fetchstream.js │ │ │ ├── fetchurl.js │ │ │ └── pipe.js │ │ ├── lib │ │ │ ├── cookiejar.js │ │ │ └── fetch.js │ │ ├── node_modules │ │ │ └── encoding │ │ │ │ ├── .npmignore │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ └── encoding.js │ │ │ │ ├── node_modules │ │ │ │ └── iconv-lite │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── Changelog.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── encodings │ │ │ │ │ ├── dbcs-codec.js │ │ │ │ │ ├── dbcs-data.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── internal.js │ │ │ │ │ ├── sbcs-codec.js │ │ │ │ │ ├── sbcs-data-generated.js │ │ │ │ │ ├── sbcs-data.js │ │ │ │ │ ├── tables │ │ │ │ │ │ ├── big5-added.json │ │ │ │ │ │ ├── cp936.json │ │ │ │ │ │ ├── cp949.json │ │ │ │ │ │ ├── cp950.json │ │ │ │ │ │ ├── eucjp.json │ │ │ │ │ │ ├── gb18030-ranges.json │ │ │ │ │ │ ├── gbk-added.json │ │ │ │ │ │ └── shiftjis.json │ │ │ │ │ ├── utf16.js │ │ │ │ │ └── utf7.js │ │ │ │ │ ├── lib │ │ │ │ │ ├── bom-handling.js │ │ │ │ │ ├── extend-node.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── streams.js │ │ │ │ │ └── package.json │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ └── test.js │ │ └── package.json │ └── node-read │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── LICENSE.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ └── utils.js │ │ ├── node_modules │ │ └── cheerio │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── CONTRIBUTING.md │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ ├── api │ │ │ │ ├── attributes.js │ │ │ │ ├── css.js │ │ │ │ ├── manipulation.js │ │ │ │ └── traversing.js │ │ │ ├── cheerio.js │ │ │ ├── parse.js │ │ │ ├── render.js │ │ │ ├── static.js │ │ │ └── utils.js │ │ │ ├── node_modules │ │ │ ├── CSSselect │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── browser_functions.js │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ ├── attributes.js │ │ │ │ │ ├── basefunctions.js │ │ │ │ │ ├── compile.js │ │ │ │ │ ├── general.js │ │ │ │ │ ├── nth-check.js │ │ │ │ │ ├── pseudos.js │ │ │ │ │ └── sort.js │ │ │ │ ├── node_modules │ │ │ │ │ ├── CSSwhat │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ └── tests │ │ │ │ │ │ │ ├── out.json │ │ │ │ │ │ │ └── test.js │ │ │ │ │ └── domutils │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── helpers.js │ │ │ │ │ │ ├── legacy.js │ │ │ │ │ │ ├── manipulation.js │ │ │ │ │ │ ├── querying.js │ │ │ │ │ │ ├── stringify.js │ │ │ │ │ │ └── traversal.js │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── domelementtype │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ └── test │ │ │ │ │ │ ├── fixture.js │ │ │ │ │ │ ├── tests │ │ │ │ │ │ ├── helpers.js │ │ │ │ │ │ └── legacy.js │ │ │ │ │ │ └── utils.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ │ ├── api.js │ │ │ │ │ ├── mocha.opts │ │ │ │ │ ├── nth-check.js │ │ │ │ │ ├── nwmatcher │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── index.js │ │ │ │ │ └── test.html │ │ │ │ │ ├── qwery │ │ │ │ │ ├── index.html │ │ │ │ │ └── index.js │ │ │ │ │ ├── sizzle │ │ │ │ │ ├── data │ │ │ │ │ │ ├── fries.xml │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── testinit.js │ │ │ │ │ └── selector.js │ │ │ │ │ ├── test.js │ │ │ │ │ └── tools │ │ │ │ │ ├── bench.js │ │ │ │ │ ├── docs │ │ │ │ │ └── W3C_Selectors.html │ │ │ │ │ ├── helper.js │ │ │ │ │ └── slickspeed.js │ │ │ ├── entities │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ ├── decode.js │ │ │ │ │ ├── decode_codepoint.js │ │ │ │ │ └── encode.js │ │ │ │ ├── maps │ │ │ │ │ ├── decode.json │ │ │ │ │ ├── entities.json │ │ │ │ │ ├── legacy.json │ │ │ │ │ └── xml.json │ │ │ │ ├── package.json │ │ │ │ ├── readme.md │ │ │ │ └── test │ │ │ │ │ ├── mocha.opts │ │ │ │ │ └── test.js │ │ │ ├── htmlparser2 │ │ │ │ ├── .gitattributes │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ │ ├── CollectingHandler.js │ │ │ │ │ ├── FeedHandler.js │ │ │ │ │ ├── Parser.js │ │ │ │ │ ├── ProxyHandler.js │ │ │ │ │ ├── Stream.js │ │ │ │ │ ├── Tokenizer.js │ │ │ │ │ ├── WritableStream.js │ │ │ │ │ └── index.js │ │ │ │ ├── node_modules │ │ │ │ │ ├── domelementtype │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── domhandler │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── element.js │ │ │ │ │ │ │ └── node.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── cases │ │ │ │ │ │ │ ├── 01-basic.json │ │ │ │ │ │ │ ├── 02-single_tag_1.json │ │ │ │ │ │ │ ├── 03-single_tag_2.json │ │ │ │ │ │ │ ├── 04-unescaped_in_script.json │ │ │ │ │ │ │ ├── 05-tags_in_comment.json │ │ │ │ │ │ │ ├── 06-comment_in_script.json │ │ │ │ │ │ │ ├── 07-unescaped_in_style.json │ │ │ │ │ │ │ ├── 08-extra_spaces_in_tag.json │ │ │ │ │ │ │ ├── 09-unquoted_attrib.json │ │ │ │ │ │ │ ├── 10-singular_attribute.json │ │ │ │ │ │ │ ├── 11-text_outside_tags.json │ │ │ │ │ │ │ ├── 12-text_only.json │ │ │ │ │ │ │ ├── 13-comment_in_text.json │ │ │ │ │ │ │ ├── 14-comment_in_text_in_script.json │ │ │ │ │ │ │ ├── 15-non-verbose.json │ │ │ │ │ │ │ ├── 16-normalize_whitespace.json │ │ │ │ │ │ │ ├── 17-xml_namespace.json │ │ │ │ │ │ │ ├── 18-enforce_empty_tags.json │ │ │ │ │ │ │ ├── 19-ignore_empty_tags.json │ │ │ │ │ │ │ ├── 20-template_script_tags.json │ │ │ │ │ │ │ ├── 21-conditional_comments.json │ │ │ │ │ │ │ ├── 22-lowercase_tags.json │ │ │ │ │ │ │ └── 23-dom-lvl1.json │ │ │ │ │ │ │ └── tests.js │ │ │ │ │ ├── domutils │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── helpers.js │ │ │ │ │ │ │ ├── legacy.js │ │ │ │ │ │ │ ├── manipulation.js │ │ │ │ │ │ │ ├── querying.js │ │ │ │ │ │ │ ├── stringify.js │ │ │ │ │ │ │ └── traversal.js │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ └── dom-serializer │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ ├── domelementtype │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ │ │ └── entities │ │ │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ │ ├── decode.js │ │ │ │ │ │ │ │ │ ├── decode_codepoint.js │ │ │ │ │ │ │ │ │ └── encode.js │ │ │ │ │ │ │ │ │ ├── maps │ │ │ │ │ │ │ │ │ ├── decode.json │ │ │ │ │ │ │ │ │ ├── entities.json │ │ │ │ │ │ │ │ │ ├── legacy.json │ │ │ │ │ │ │ │ │ └── xml.json │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ ├── mocha.opts │ │ │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── readme.md │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── fixture.js │ │ │ │ │ │ │ ├── tests │ │ │ │ │ │ │ ├── helpers.js │ │ │ │ │ │ │ ├── legacy.js │ │ │ │ │ │ │ └── traversal.js │ │ │ │ │ │ │ └── utils.js │ │ │ │ │ └── readable-stream │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── duplex.js │ │ │ │ │ │ ├── float.patch │ │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── _stream_duplex.js │ │ │ │ │ │ ├── _stream_passthrough.js │ │ │ │ │ │ ├── _stream_readable.js │ │ │ │ │ │ ├── _stream_transform.js │ │ │ │ │ │ └── _stream_writable.js │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── core-util-is │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── float.patch │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ ├── inherits │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── inherits.js │ │ │ │ │ │ │ ├── inherits_browser.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ ├── isarray │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── build │ │ │ │ │ │ │ │ └── build.js │ │ │ │ │ │ │ ├── component.json │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── string_decoder │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── passthrough.js │ │ │ │ │ │ ├── readable.js │ │ │ │ │ │ ├── transform.js │ │ │ │ │ │ └── writable.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ │ ├── 01-events.js │ │ │ │ │ ├── 02-stream.js │ │ │ │ │ ├── 03-feed.js │ │ │ │ │ ├── Documents │ │ │ │ │ ├── Atom_Example.xml │ │ │ │ │ ├── Attributes.html │ │ │ │ │ ├── Basic.html │ │ │ │ │ ├── RDF_Example.xml │ │ │ │ │ └── RSS_Example.xml │ │ │ │ │ ├── Events │ │ │ │ │ ├── 01-simple.json │ │ │ │ │ ├── 02-template.json │ │ │ │ │ ├── 03-lowercase_tags.json │ │ │ │ │ ├── 04-cdata.json │ │ │ │ │ ├── 05-cdata-special.json │ │ │ │ │ ├── 06-leading-lt.json │ │ │ │ │ ├── 07-self-closing.json │ │ │ │ │ ├── 08-implicit-close-tags.json │ │ │ │ │ ├── 09-attributes.json │ │ │ │ │ ├── 10-crazy-attrib.json │ │ │ │ │ ├── 11-script_in_script.json │ │ │ │ │ ├── 12-long-comment-end.json │ │ │ │ │ ├── 13-long-cdata-end.json │ │ │ │ │ ├── 14-implicit-open-tags.json │ │ │ │ │ ├── 15-lt-whitespace.json │ │ │ │ │ ├── 16-double_attribs.json │ │ │ │ │ ├── 17-numeric_entities.json │ │ │ │ │ ├── 18-legacy_entities.json │ │ │ │ │ ├── 19-named_entities.json │ │ │ │ │ ├── 20-xml_entities.json │ │ │ │ │ ├── 21-entity_in_attribute.json │ │ │ │ │ ├── 22-double_brackets.json │ │ │ │ │ ├── 23-legacy_entity_fail.json │ │ │ │ │ ├── 24-special_special.json │ │ │ │ │ ├── 25-empty_tag_name.json │ │ │ │ │ ├── 26-not-quite-closed.json │ │ │ │ │ ├── 27-entities_in_attributes.json │ │ │ │ │ ├── 28-cdata_in_html.json │ │ │ │ │ ├── 29-comment_edge-cases.json │ │ │ │ │ ├── 30-cdata_edge-cases.json │ │ │ │ │ └── 31-comment_false-ending.json │ │ │ │ │ ├── Feeds │ │ │ │ │ ├── 01-rss.js │ │ │ │ │ ├── 02-atom.js │ │ │ │ │ └── 03-rdf.js │ │ │ │ │ ├── Stream │ │ │ │ │ ├── 01-basic.json │ │ │ │ │ ├── 02-RSS.json │ │ │ │ │ ├── 03-Atom.json │ │ │ │ │ ├── 04-RDF.json │ │ │ │ │ └── 05-Attributes.json │ │ │ │ │ ├── api.js │ │ │ │ │ └── test-helper.js │ │ │ └── lodash │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ ├── dist │ │ │ │ ├── lodash.compat.js │ │ │ │ ├── lodash.compat.min.js │ │ │ │ ├── lodash.js │ │ │ │ ├── lodash.min.js │ │ │ │ ├── lodash.underscore.js │ │ │ │ └── lodash.underscore.min.js │ │ │ │ ├── lodash.js │ │ │ │ └── package.json │ │ │ ├── package.json │ │ │ └── test │ │ │ ├── api.attributes.js │ │ │ ├── api.css.js │ │ │ ├── api.manipulation.js │ │ │ ├── api.traversing.js │ │ │ ├── api.utils.js │ │ │ ├── cheerio.js │ │ │ ├── fixtures.js │ │ │ ├── mocha.opts │ │ │ ├── parse.js │ │ │ ├── render.js │ │ │ ├── utilities.js │ │ │ └── xml.js │ │ ├── package.json │ │ └── test │ │ ├── article.js │ │ └── mocha.opts │ └── package.json └── errorLogs.md /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea 2 | /locales 3 | /credits.html 4 | /d3dcompiler_47.dll 5 | /ffmpegsumo.dll 6 | /icudtl.dat 7 | /libEGL.dll 8 | /libGLESv2.dll 9 | /nw.exe 10 | /nw.pak 11 | /nwjc.exe 12 | /package.json 13 | /pdf.dll 14 | -------------------------------------------------------------------------------- /ReadMe.md: -------------------------------------------------------------------------------- 1 | ### NW.js 入坑指南 2 | 介绍如果使用NW.js搭建一个桌面应用, 具体介绍 访问 [这里](https://segmentfault.com/a/1190000003870613/); 3 | 4 | ### NW.js Demo Intro 5 | show you how to use NW.js,build native apps. see more click [here](https://segmentfault.com/a/1190000003870613); 6 | -------------------------------------------------------------------------------- /app/v0.0.1/assest/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tza17313/nw.js-demo/917f5d2421ab2b6a042733baf43517e67d16add6/app/v0.0.1/assest/img/logo.png -------------------------------------------------------------------------------- /app/v0.0.1/assest/utils/read.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tza17313/nw.js-demo/917f5d2421ab2b6a042733baf43517e67d16add6/app/v0.0.1/assest/utils/read.js -------------------------------------------------------------------------------- /app/v0.0.1/core.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tza17313/nw.js-demo/917f5d2421ab2b6a042733baf43517e67d16add6/app/v0.0.1/core.bin -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/MD5/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/mocha 2 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/MD5/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/MD5/node_modules/charenc/README.js: -------------------------------------------------------------------------------- 1 | **enc** provides crypto character encoding utilities. 2 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/MD5/node_modules/crypt/README.mkd: -------------------------------------------------------------------------------- 1 | **crypt** provides utilities for encryption and hashing 2 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "indent": 2, 3 | "eqnull": true, 4 | "laxbreak": true, 5 | "proto": true, 6 | "undef": true, 7 | "unused": true, 8 | "node": true, 9 | "quotmark": "single" 10 | } 11 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/.npmignore: -------------------------------------------------------------------------------- 1 | benchmark/ 2 | src/ 3 | support/ 4 | tests/ 5 | examples/ 6 | *.sock 7 | *.tmproj 8 | coverage.html 9 | lib-cov 10 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - 0.11 5 | script: make travis-test 6 | matrix: 7 | fast_finish: true 8 | allow_failures: 9 | - node_js: 0.11 10 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Export cheerio (with ) 3 | */ 4 | 5 | exports = module.exports = require('./lib/cheerio'); 6 | 7 | /* 8 | Export the version 9 | */ 10 | 11 | exports.version = require('./package').version; 12 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/css-select/lib/procedure.json: -------------------------------------------------------------------------------- 1 | { 2 | "universal": 5, 3 | "tag": 3, 4 | "attribute": 1, 5 | "pseudo": 0, 6 | "descendant": -1, 7 | "child": -1, 8 | "parent": -1, 9 | "sibling": -1, 10 | "adjacent": -1 11 | } 12 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/css-select/node_modules/boolbase/README.md: -------------------------------------------------------------------------------- 1 | #boolbase 2 | This very simple module provides two basic functions, one that always returns true (`trueFunc`) and one that always returns false (`falseFunc`). 3 | 4 | ###WTF? 5 | 6 | By having only a single instance of these functions around, it's possible to do some nice optimizations. Eg. [`CSSselect`](https://github.com/fb55/CSSselect) uses these functions to determine whether a selector won't match any elements. If that's the case, the DOM doesn't even have to be touched. 7 | 8 | ###And why is this a separate module? 9 | 10 | I'm trying to modularize `CSSselect` and most modules depend on these functions. IMHO, having a separate module is the easiest solution to this problem. -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/css-select/node_modules/boolbase/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | trueFunc: function trueFunc(){ 3 | return true; 4 | }, 5 | falseFunc: function falseFunc(){ 6 | return false; 7 | } 8 | }; -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/css-select/node_modules/domutils/index.js: -------------------------------------------------------------------------------- 1 | var DomUtils = module.exports; 2 | 3 | [ 4 | require("./lib/stringify"), 5 | require("./lib/traversal"), 6 | require("./lib/manipulation"), 7 | require("./lib/querying"), 8 | require("./lib/legacy"), 9 | require("./lib/helpers") 10 | ].forEach(function(ext){ 11 | Object.keys(ext).forEach(function(key){ 12 | DomUtils[key] = ext[key].bind(DomUtils); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/css-select/node_modules/domutils/lib/traversal.js: -------------------------------------------------------------------------------- 1 | var getChildren = exports.getChildren = function(elem){ 2 | return elem.children; 3 | }; 4 | 5 | var getParent = exports.getParent = function(elem){ 6 | return elem.parent; 7 | }; 8 | 9 | exports.getSiblings = function(elem){ 10 | var parent = getParent(elem); 11 | return parent ? getChildren(parent) : [elem]; 12 | }; 13 | 14 | exports.getAttributeValue = function(elem, name){ 15 | return elem.attribs && elem.attribs[name]; 16 | }; 17 | 18 | exports.hasAttrib = function(elem, name){ 19 | return hasOwnProperty.call(elem.attribs, name); 20 | }; 21 | 22 | exports.getName = function(elem){ 23 | return elem.name; 24 | }; 25 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/css-select/node_modules/domutils/node_modules/domelementtype/index.js: -------------------------------------------------------------------------------- 1 | //Types of elements found in the DOM 2 | module.exports = { 3 | Text: "text", //Text 4 | Directive: "directive", // 5 | Comment: "comment", // 6 | Script: "script", // text " 4 | ); 5 | 6 | module.exports = makeDom(markup); 7 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/css-select/node_modules/domutils/test/utils.js: -------------------------------------------------------------------------------- 1 | var htmlparser = require("htmlparser2"); 2 | 3 | exports.makeDom = function(markup) { 4 | var handler = new htmlparser.DomHandler(), 5 | parser = new htmlparser.Parser(handler); 6 | parser.write(markup); 7 | parser.done(); 8 | return handler.dom; 9 | }; 10 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/css-select/node_modules/nth-check/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - "0.10" 5 | - 0.11 6 | -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/css-select/node_modules/nth-check/index.js: -------------------------------------------------------------------------------- 1 | var parse = require("./parse.js"), 2 | compile = require("./compile.js"); 3 | 4 | module.exports = function nthCheck(formula){ 5 | return compile(parse(formula)); 6 | }; 7 | 8 | module.exports.parse = parse; 9 | module.exports.compile = compile; -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/dom-serializer/node_modules/domelementtype/index.js: -------------------------------------------------------------------------------- 1 | //Types of elements found in the DOM 2 | module.exports = { 3 | Text: "text", //Text 4 | Directive: "directive", // 5 | Comment: "comment", // 6 | Script: "script", //", 5 | "expected": [ 6 | { 7 | "type": "script", 8 | "name": "script", 9 | "attribs": {}, 10 | "children": [ 11 | { 12 | "data": "", 13 | "type": "text" 14 | } 15 | ] 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/test/cases/07-unescaped_in_style.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unescaped chars in style", 3 | "options": {}, 4 | "html": "", 5 | "expected": [ 6 | { 7 | "type": "style", 8 | "name": "style", 9 | "attribs": { 10 | "type": "text/css" 11 | }, 12 | "children": [ 13 | { 14 | "data": "\n body > p\n\t{ font-weight: bold; }", 15 | "type": "text" 16 | } 17 | ] 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Extra spaces in tag", 3 | "options": {}, 4 | "html": "the text", 5 | "expected": [ 6 | { 7 | "type": "tag", 8 | "name": "font", 9 | "attribs": { 10 | "size": "14" 11 | }, 12 | "children": [ 13 | { 14 | "data": "the text", 15 | "type": "text" 16 | } 17 | ] 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/test/cases/09-unquoted_attrib.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unquoted attributes", 3 | "options": {}, 4 | "html": "the text", 5 | "expected": [ 6 | { 7 | "type": "tag", 8 | "name": "font", 9 | "attribs": { 10 | "size": "14" 11 | }, 12 | "children": [ 13 | { 14 | "data": "the text", 15 | "type": "text" 16 | } 17 | ] 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /app/v0.0.1/node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/test/cases/10-singular_attribute.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Singular attribute", 3 | "options": {}, 4 | "html": "